Reiniciar contêineres individuais em tarefas do Amazon ECS com políticas de reinicialização de contêineres - Amazon Elastic Container Service

Reiniciar contêineres individuais em tarefas do Amazon ECS com políticas de reinicialização de contêineres

Você pode habilitar uma política de reinicialização para cada contêiner essencial e não essencial definido na sua definição de tarefa, para superar falhas transitórias mais rapidamente e manter a disponibilidade da tarefa. Quando você habilita uma política de reinicialização para um contêiner, o Amazon ECS pode reiniciar o contêiner se ele sair, sem precisar substituir a tarefa.

Por padrão, as políticas de reinicialização não estão habilitadas para contêineres. Ao habilitar uma política de reinicialização para um contêiner, você pode especificar códigos de saída nos quais o contêiner não será reiniciado. Eles podem ser códigos de saída que indicam sucesso, como o código de saída 0, que não exige reinicialização. Você também pode especificar por quanto tempo um contêiner deve ser executado com sucesso antes que uma reinicialização possa ser tentada. Para mais informações sobre esses parâmetros, consulte Política de reinicialização. Para obter um exemplo de definição de tarefa que especifica esses valores, consulte Especificar a política de reinicialização de contêiner em uma definição de tarefa do Amazon ECS.

Você pode usar o endpoint de metadados de tarefas do Amazon ECS ou o CloudWatch Container Insights para monitorar o número de vezes que um contêiner foi reiniciado. Para obter mais informações sobre o endpoint de metadados de tarefa, consulte Endpoint de metadados de tarefas do Amazon ECS versão 4 e Endpoint de metadados de tarefas do Amazon ECS versão 4 para tarefas no Fargate. Para obter informações sobre métricas do Container Insights para o Amazon ECS, consulte Métricas Amazon ECS Container Insights no Guia de Usuário do Amazon CloudWatch.

Há suporte para políticas de reinicialização de contêiner em tarefas hospedadas no Fargate, instâncias do Amazon EC2 e instâncias externas usando o Amazon ECS Anywhere.

Considerações

Considere o seguinte antes de habilitar uma política de reinicialização para seu contêiner:

  • Para tarefas hospedadas em instâncias do Amazon EC2, sesse recurso requer a versão 1.86.0 ou posterior do agente de contêiner. No entanto, recomendamos usar a versão mais recente do agente de contêiner. Para obter informações sobre como verificar a versão do agente e atualizar para a versão mais recente, consulte Atualizar o agente de contêiner do Amazon ECS.

  • Para tarefas hospedadas no Fargate, esse recurso requer a versão da plataforma 1.4.0 ou posterior. Para ter mais informações, consulte Versões da plataforma do Fargate para o Amazon ECS.

  • Se você estiver usando o tipo de inicialização do EC2 com o modo de rede bridge, a variável de ambiente FLUENT_HOST no contêiner da aplicação poderá se tornar imprecisa após a reinicialização do contêiner do roteador de log do FireLens (o contêiner com o objeto firelensConfiguration em sua definição de contêiner). Isso ocorre porque o FLUENT_HOST é um endereço IP dinâmico e pode mudar após uma reinicialização. O registro em log diretamente do contêiner da aplicação para o endereço IP do FLUENT_HOST pode começar a falhar após a alteração do endereço. Para obter mais informações sobre o FLUENT_HOST, consulte Configuração de logs do Amazon ECS para obtenção de alto throughput.

  • O agente do Amazon ECS gerencia as políticas de reinicialização do contêiner. Se, por algum motivo inesperado, o agente do Amazon ECS falhar ou não estiver mais em execução, o contêiner não será reiniciado.

  • O período de tentativa de reinicialização definido em sua política determina o período de tempo (em segundos) durante o qual o contêiner deve funcionar antes que o Amazon ECS reinicie um contêiner.