Quando atualizo minha aplicação no Amazon Elastic Container Service (ECS), quero implantar novas tarefas sem tempo de inatividade ou interrupção dos serviços em execução.
Resolução
Para iniciar novas tarefas sem tempo de inatividade, execute as seguintes ações.
Configure seus parâmetros de implantação para usar um tipo de implantação de atualização contínua.
Para implantações com tempo de inatividade zero no Amazon ECS, é uma boa prática definir a porcentagem mínima de integridade em 100% e a porcentagem máxima em 200%. Para obter mais informações sobre os parâmetros mínimos de integridade perfeita e porcentagem máxima, consulte Configuração de implantação.
Para configurar os parâmetros de implantação, conclua as seguintes etapas:
- Abra o console do Amazon ECS.
- Escolha Cluster.
- Na página de detalhes dos Clusters em Serviços, selecione o serviço que você deseja atualizar. Em seguida, escolha Atualizar.
- Em Configuração de implantação, configure as tarefas mínimas em execução % e os valores de tarefas máximas em execução %.
- Escolha Serviço de atualização.
Importante: O Amazon ECS gerencia o processo de implantação do contêiner, mas não gerencia o roteamento de tráfego. Se você usa um balanceador de carga, configure o balanceador de carga para rotear o tráfego para suas tarefas do Amazon ECS. Se você usa implantações azul/verde com o AWS CodeDeploy, em seguida, verifique a configuração do gerenciamento de tráfego.
Configure o parâmetro stopTimeout da instância do contêiner na definição da tarefa.
Defina o parâmetro stopTimeout para garantir que sua aplicação tenha tempo de buffer suficiente durante a implantação para concluir as solicitações de tarefas. Atualize a definição de tarefas do Amazon ECS, e em seguida, na revisão Criar nova definição de tarefa, em Tempos limite de contêiner - opcional, configure o Valor de tempo limite de interrupção.
Definir as configurações do grupo-alvo do ELB
Para definir as configurações do grupo-alvo do Elastic Load Balancing (ELB), conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- Escolha Grupos-alvo, e em seguida, selecione o grupo-alvo associado ao seu serviço Amazon ECS.
- Escolha o guia de** Detalhes do grupo.** Em seguida, configure o Caminho da verificação de integridade, o Protocolo de verificação de integridade, a Porta de verificação de integridade, o Limite saudável, e o Limite não íntegro com seus valores.
- Escolha o guia Atributos e, em seguida, configure o valor do Atraso de cancelamento de registro para atender às necessidades de sua aplicação.
Observação: É uma prática recomendada para definir o atributo de atraso de cancelamento de registro para aproximadamente dobrar o tempo de resposta de sua aplicação.
- (Opcional) Configure sessões fixas para seu balanceador de carga para que as sessões contínuas de solicitação de aplicações sejam concluídas com a tarefa existente.
Para estratégias avançadas de implantação, use o CodeDeploy.
Use o CodeDeploy para validar o estado do serviço Amazon ECS antes da implantação.
Observação: A mudança de tráfego de implantação em azul/verde, de uma só vez, pode causar interrupções no serviço.
Configure a drenagem automatizada para instâncias Spot.
Ative a drenagem de instâncias spot para suas instâncias de contêiner para drenar automaticamente as instâncias.