View a markdown version of this page

Enlaces de ciclo de vida para las implementaciones de servicios de Amazon ECS - Amazon Elastic Container Service

Enlaces de ciclo de vida para las implementaciones de servicios de Amazon ECS

Cuando se inicia una implementación, progresa a través de las etapas del ciclo de vida. Cada etapa puede estar en un estado como IN_PROGRESS o SUCCEEDED. Los enlaces de ciclo de vida se pueden configurar en etapas específicas para ejecutar lógica personalizada o introducir puntos de decisión antes de que avance la implementación. Amazon ECS admite dos tipos de enlaces de ciclo de vida:

Enlaces de Lambda

Amazon ECS invoca una función de Lambda en etapas específicas de una implementación. La función incluye la lógica personalizada y debe devolver un objeto JSON con un hookStatus de SUCCEEDED, FAILED o IN_PROGRESS para indicar a Amazon ECS cómo proceder. Estos enlaces se pueden usar para ejecutar pruebas de validación, aplicar políticas de gobernanza o implementar pasos de aprobación personalizados antes de que avance la implementación. Para obtener más información, consulte Enlaces de Lambda para implementaciones de servicios de Amazon ECS.

Enlaces de pausa

Amazon ECS pausa la implementación en una etapa configurada del ciclo de vida y espera a que se llame a la API ContinueServiceDeployment para continuar o revertirla. Durante la pausa, se pueden ejecutar flujos de trabajo propios de forma externa, como aprobaciones manuales, pruebas de integración con herramientas existentes, comprobaciones de preparación operativa o pasos de canalización de CI/CD. Para obtener más información, consulte Enlaces de pausa para implementaciones de servicios de Amazon ECS.

Se pueden configurar enlaces de Lambda y enlaces de pausa en la misma etapa del ciclo de vida. Ambos enlaces se deben completar antes de que la implementación avance a la siguiente etapa.

Detalles de los enlaces de ciclo de vida

Cuando hay enlaces activos durante una implementación, su estado se puede consultar mediante una llamada a DescribeServiceDeployments. La respuesta incluye una matriz lifecycleHookDetails con los siguientes campos para cada enlace activo:

Campo Descripción
hookId Identificador único de esta ejecución del enlace. Este valor se usa al llamar a ContinueServiceDeployment para los enlaces de pausa.
targetType Tipo de enlace: AWS_LAMBDA o PAUSE.
targetArn El ARN del destino del enlace. En los enlaces de Lambda, corresponde al ARN de la función de Lambda. En los enlaces de pausa, este campo no se establece.
status Estado actual del enlace: AWAITING_ACTION, IN_PROGRESS, SUCCEEDED, FAILED o TIMED_OUT.
expiresAt Fecha y hora en que caduca el enlace. (Ejemplo: 2026-05-06T12:06:49-07:00)
timeoutAction La acción que Amazon ECS realiza cuando el enlace alcanza el tiempo de espera: ROLLBACK o CONTINUE.

Categorías de etapas del ciclo de vida

Las etapas del ciclo de vida se dividen en dos categorías:

  1. Etapas de invocación única: Amazon ECS invoca estas etapas una sola vez durante una implementación de servicio.

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. Etapas de invocación recurrente: Amazon ECS puede invocar estas etapas varias veces durante una implementación de servicio. En las implementaciones lineales y canario, estas etapas se invocan en cada paso de cambio de tráfico:

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

nota

Los enlaces de pausa no se pueden configurar en TEST_TRAFFIC_SHIFT ni PRODUCTION_TRAFFIC_SHIFT porque estas etapas también se invocan durante la reversión. Pausar durante una reversión requeriría una llamada adicional a ContinueServiceDeployment para completar la reversión.

Etapas compatibles por tipo de enlace

Etapa del ciclo de vida Enlaces de Lambda Enlaces de pausa
RECONCILE_SERVICE
PRE_SCALE_UP
POST_SCALE_UP
TEST_TRAFFIC_SHIFT No
POST_TEST_TRAFFIC_SHIFT
PRE_PRODUCTION_TRAFFIC_SHIFT
PRODUCTION_TRAFFIC_SHIFT No
POST_PRODUCTION_TRAFFIC_SHIFT