Lógica de controle de utilização de serviço - Serviço Amazon Elastic Container

Lógica de controle de utilização de serviço

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 do ECS falharem repetidamente ao tentar 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 15 minutos. Esse período máximo está sujeito a alterações no futuro. Esse comportamento reduz o efeito que as tarefas que não podem ser iniciadas 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 mais informações, consulte Atualizar um serviço.

Veja a seguir algumas causas comuns que acionam essa lógica.

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.