Lógica de controle de utilização do serviço do Amazon ECS - Amazon Elastic Container Service

Lógica de controle de utilização do serviço do Amazon ECS

O programador de serviço do Amazon ECS inclui uma lógica que controla a frequência com que as tarefas de serviço são iniciadas caso apresentem falhas repetidas na inicialização.

Se as tarefas de um serviço falharem repetidamente ao entrar no estado RUNNING (mudando diretamente do estado PENDING para STOPPED), o tempo entre as tentativas de reinicialização subsequentes aumentará de maneira incremental até chegar a, no máximo, 27 minutos. Esse período máximo está sujeito a alterações no futuro. Esse comportamento reduz o efeito que tarefas com falha têm sobre os custos dos recursos de cluster do Amazon ECS ou da infraestrutura do Fargate. Se o seu serviço iniciar a lógica de controle de utilização, você receberá a seguinte mensagem de evento do serviço:

(service service-name) is unable to consistently start tasks successfully.

O Amazon ECS nunca impede a nova tentativa de um serviço com falha. Ele também não tenta modificá-lo de nenhuma outra forma que não seja aumentando o tempo entre reinicializações. A lógica de controle de serviço não fornece parâmetros ajustáveis pelo usuário.

Se você atualizar o serviço para usar uma nova definição de tarefa, ele retornará imediatamente ao estado normal, não controlado. Para ter mais informações, consulte Atualização de um serviço do Amazon ECS usando o console.

Veja a seguir algumas causas comuns que iniciam essa lógica. Recomendamos que você execute uma ação manual para resolver o problema:

Importante

Tarefas que são interrompidas depois que alcançam o estado RUNNING não iniciam a lógica de controle de utilização ou a mensagem de evento do serviço associada. Por exemplo, suponha que a falha nas verificações de integridade do Elastic Load Balancing para um serviço faça com que uma tarefa seja sinalizada como não íntegra e que o Amazon ECS cancele o registro dessa tarefa e a interrompa. Nesse ponto, as tarefas não têm controle de utilização. Mesmo que um comando de contêiner da tarefa seja encerrado imediatamente com um código de saída diferente de zero, o estado da tarefa já terá sido mudado para RUNNING. Tarefas que falham imediatamente porque erros de comando não causam o controle de utilização ou a mensagem de evento de serviço.