Migración de una implementación azul/verde de CodeDeploy a una implementación de servicio azul/verde de Amazon ECS
Con las implementaciones azul/verde de Amazon ECS, puede realizar y comprobar cambios en el servicio antes de implementarlos en un entorno de producción.
Debe crear nuevos enlaces de ciclo de vida para su implementación azul/verde de Amazon ECS.
Requisitos previos
Realice las siguientes operaciones antes de iniciar una implementación azul/verde.
-
Sustituya el rol de IAM de CodeDeploy de Amazon ECS por los siguientes permisos.
-
Para obtener información sobre los permisos de Elastic Load Balancing, consulte Rol de IAM de infraestructura de Amazon ECS para los equilibradores de carga.
-
Para obtener información acerca de los permisos de Lambda, consulte Permisos necesarios para las funciones de Lambda en las implementaciones azul/verde de Amazon ECS.
-
-
Desactive la automatización de CodeDeploy. Para más información, consulte Working with deployment groups in CodeDeploy en la Guía del usuario de CodeDeploy.
-
Asegúrese de disponer de la siguiente información de su implementación azul/verde de CodeDeploy. Puede reutilizar esta información para la implementación azul/verde de Amazon ECS:
-
El grupo de destino de producción
-
El oyente de producción
-
La regla de producción
-
El grupo de destino de prueba
Este es el grupo de destino de la revisión de servicio verde,
-
-
Asegúrese de que los grupos de destino del equilibrador de carga de aplicación estén asociados correctamente a las reglas de oyente:
-
Si no utiliza oyentes de prueba, ambos grupos de destino (de producción y de prueba) deben estar asociados a las reglas de oyente de producción.
-
Si utiliza oyentes de prueba, un grupo de destino debe estar vinculado a las reglas de oyente de producción y el otro grupo de destino debe estar vinculado a las reglas de oyente de prueba.
Si no se cumple este requisito, la implementación del servicio fallará y se generará el siguiente error:
Service deployment rolled back because of invalid networking configuration. Both targetGroup and alternateTargetGroup must be associated with the productionListenerRule or testListenerRule. -
-
Compruebe que no haya implementaciones de servicio en curso para el servicio. Para obtener más información, consulte Visualización del historial de servicios mediante las implementaciones de servicios de Amazon ECS.
-
Las implementaciones azul/verde de Amazon ECS requieren que su servicio utilice una de las siguientes características: configure los recursos adecuados.
-
Equilibrador de carga de aplicación: para más información, consulte Recursos de equilibrador de carga de aplicación para las implementaciones azul/verde, las implementaciones lineales y las implementaciones canario.
-
Equilibrador de carga de red: para más información, consulte Recursos del equilibrador de carga de red para las implementaciones azul/verde de Amazon ECS.
-
Service Connect: para más información, consulte Recursos de Service Connect para las implementaciones azul/verde, las implementaciones lineales y las implementaciones canario de Amazon ECS.
-
-
Decida si desea ejecutar funciones de Lambda para las etapas del ciclo de vida de la implementación azul/verde de Amazon ECS.
-
Antes de escalar verticalmente
-
Después de escalar verticalmente
-
Transferencia de tráfico de prueba
-
Después de la transferencia de tráfico de prueba
-
Transferencia de tráfico de producción
-
Después de la transferencia de tráfico de producción
Cree funciones de Lambda para cada etapa del ciclo de vida. Para más información, consulte Cree una función de Lambda con la consola en la Guía para desarrolladores de AWS Lambda.
-
Para más información sobre la actualización de un controlador de implementación de un servicio, consulte Actualización de los parámetros de servicio de Amazon ECS.
Procedimiento
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En la página Clusters (Clústeres), elija el clúster.
Aparecerá la página de detalles del clúster.
-
En la pestaña Servicios, elija el servicio.
Aparecerá la página de detalles del servicio.
-
En el encabezado, seleccione Actualizar el tipo de controlador de implementación.
Aparecerá la página Migrar tipo de controlador de implementación.
-
Expanda Nuevo y, a continuación, especifique los siguientes parámetros.
-
En Tipo de controlador de implementación, elija ECS.
-
En Estrategia de implementación, seleccione Azul/verde.
-
En Tiempo de incorporación, introduzca la hora a la que se ejecutan las revisiones de servicio azul y verde.
-
Para ejecutar las funciones de Lambda en una etapa del ciclo de vida, en Enlaces de ciclo de vida de la implementación, haga lo siguiente para cada función de Lambda única:
-
Elija Agregar.
Repita este procedimiento para cada función única que desee ejecutar.
-
En Función de Lambda, ingrese el nombre de la función.
-
En Rol, elija el rol que creó en los requisitos previos con los permisos azul/verde.
Para obtener más información, consulte Permisos necesarios para las funciones de Lambda en las implementaciones azul/verde de Amazon ECS.
-
En Etapas del ciclo de vida, seleccione las etapas que ejecuta la función de Lambda.
-
(Opcional) En Detalles del enlace, introduzca un par clave-valor que proporcione información sobre el enlace.
-
-
-
Expanda Equilibrio de carga y, a continuación, configure lo siguiente:
-
En Rol, elija el rol que creó en los requisitos previos con los permisos azul/verde.
Para obtener más información, consulte Permisos necesarios para las funciones de Lambda en las implementaciones azul/verde de Amazon ECS.
-
En Oyente, elija el oyente de producción de su implementación azul/verde de CodeDeploy.
-
En Regla de producción, elija la regla de producción de su implementación azul/verde de CodeDeploy.
-
En Regla de prueba, elija la regla de prueba de su implementación azul/verde de CodeDeploy.
-
En Grupo de destino, elija el grupo de destino de producción de su implementación azul/verde de CodeDeploy.
-
En Grupo de destino alternativo, elija el grupo de destino de prueba de su implementación azul/verde de CodeDeploy.
-
-
Elija Actualizar.
Siguientes pasos
-
Actualice el servicio para iniciar la implementación. Para obtener más información, consulte Actualización de un servicio de Amazon ECS.
-
Monitoree el proceso de implementación para asegurarse de que sigue el patrón azul/verde:
-
Se crea y escala verticalmente la revisión de servicio verde
-
El tráfico de prueba se enruta a la revisión verde (si está configurada)
-
El tráfico de producción se transfiere a la revisión verde
-
Transcurrido el tiempo de incorporación, la revisión azul finaliza
-