View a markdown version of this page

Ganchos do ciclo de vida para implantações de serviços do Amazon ECS - Amazon Elastic Container Service

Ganchos do ciclo de vida para implantações de serviços do Amazon ECS

Quando uma implantação é iniciada, ela progride por estágios do ciclo de vida. Cada estágio pode estar em um estado como IN_PROGRESS ou SUCCEEDED. Você pode configurar ganchos do ciclo de vida em estágios específicos para executar lógica personalizada ou introduzir pontos de decisão antes que a implantação continue. O Amazon ECS é compatível com dois tipos de ganchos do ciclo de vida:

Ganchos do Lambda

O Amazon ECS invoca uma função do Lambda em estágios específicos de uma implantação. Sua função contém sua lógica personalizada e precisa retornar um objeto JSON contendo um hookStatus de SUCCEEDED, FAILED ou IN_PROGRESS para informar ao Amazon ECS como proceder. É possível usar esses ganchos para executar testes de validação, aplicar políticas de governança ou implementar etapas personalizadas de aprovação antes que a implantação prossiga. Para obter mais informações, consulte Ganchos do Lambda para implantações de serviços do Amazon ECS.

Ganchos de pausa

O Amazon ECS pausa a implantação em um estágio configurado do ciclo de vida e espera que você chame a API ContinueServiceDeployment para continuar ou reverter. Durante o estado de pausa, você pode executar seus próprios fluxos de trabalho externamente, como aprovações manuais, testes de integração com ferramentas existentes, verificações de prontidão operacional ou etapas do pipeline de CI/CD. Para obter mais informações, consulte Ganchos de pausa para implantações de serviços do Amazon ECS.

Você pode configurar ganchos do Lambda e ganchos de pausa no mesmo estágio do ciclo de vida. Ambos os ganchos precisam ser concluídos antes que a implantação prossiga para o próximo estágio.

Detalhes do gancho do ciclo de vida

Quando os ganchos estão ativos durante uma implantação, é possível visualizar o status deles chamando DescribeServiceDeployments. A resposta inclui uma matriz lifecycleHookDetails com os seguintes campos para cada gancho ativo:

Campo Descrição
hookId O identificador exclusivo para esta execução de gancho. Use esse valor ao chamar ContinueServiceDeployment para ganchos de pausa.
targetType O tipo de gancho: AWS_LAMBDA ou PAUSE.
targetArn O ARN do destino do gancho. Para ganchos do Lambda, trata-se do ARN da função do Lambda. Para ganchos de pausa, esse campo não está definido.
status O status atual do gancho: AWAITING_ACTION, IN_PROGRESS, SUCCEEDED, FAILED ou TIMED_OUT.
expiresAt A data e hora de expiração do gancho. (Exemplo: 2026-05-06T12:06:49-07:00)
timeoutAction A ação que o Amazon ECS executa quando o gancho atinge o tempo limite: ROLLBACK ou CONTINUE.

Categorias de estágio do ciclo de vida

Os estágios do ciclo de vida se encaixam em duas categorias:

  1. Estágios de invocação única: o Amazon ECS invoca esses estágios apenas uma vez durante a implantação de um serviço:

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. Estágios de invocação recorrente: o Amazon ECS pode invocar esses estágios várias vezes durante a implantação de um serviço. Para implantações lineares e de canário, esses estágios são invocados em cada etapa de mudança de tráfego:

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

nota

Os ganchos de pausa não podem ser configurados em TEST_TRAFFIC_SHIFT ou PRODUCTION_TRAFFIC_SHIFT porque esses estágios também são invocados durante a reversão. Pausar durante uma reversão exigiria uma chamada adicional de ContinueServiceDeployment para concluir a reversão.

Estágios suportados por tipo de gancho

Estágio do ciclo de vida Ganchos do Lambda Ganchos de pausa
RECONCILE_SERVICE Sim Sim
PRE_SCALE_UP Sim Sim
POST_SCALE_UP Sim Sim
TEST_TRAFFIC_SHIFT Sim Não
POST_TEST_TRAFFIC_SHIFT Sim Sim
PRE_PRODUCTION_TRAFFIC_SHIFT Sim Sim
PRODUCTION_TRAFFIC_SHIFT Sim Não
POST_PRODUCTION_TRAFFIC_SHIFT Sim Sim