Práticas recomendadas para parâmetros de serviço do Amazon ECS
Para garantir que não haja tempo de inatividade da aplicação, o processo de implantação é o seguinte:
-
Inicie os novos contêineres de aplicações enquanto mantém os contêineres existentes em execução.
-
Verifique se os novos contêineres estão íntegros.
-
Interrompa os contêineres antigos.
Dependendo da configuração de implantação e da quantidade de espaço livre e não reservado no cluster, podem ser necessárias várias rodadas para concluir a substituição de todas as tarefas antigas por novas.
Há duas opções de configuração do serviço que podem ser usadas para modificar o número:
-
minimumHealthyPercent
: 100% (padrão)O limite inferior do número de tarefas do serviço que devem permanecer no estado
RUNNING
durante uma implantação. Essa é uma porcentagem dadesiredCount
arredondada para o número inteiro superior mais próximo. Esse parâmetro permite implantar sem usar a capacidade adicional de cluster. -
maximumPercent
: 200% (padrão)O limite superior do número de tarefas do serviço que são permitidas no estado
RUNNING
ouPENDING
durante uma implantação. Essa é uma porcentagem dadesiredCount
arredondada para o número inteiro inferior mais próximo.
Exemplo: opções de configuração padrão
Considere o serviço a seguir, que tem seis tarefas, implantadas em um cluster com espaço para oito tarefas no total. As opções de configuração padrão do serviço não permitem que a implantação fique abaixo de 100% das seis tarefas desejadas.
O processo de implantação é o seguinte:
-
O objetivo é substituir as seis tarefas.
-
O programador inicia duas novas tarefas porque as configurações padrão exigem que haja seis tarefas em execução.
Agora há seis tarefas existentes e duas tarefas novas.
-
O programador interrompe duas das tarefas existentes.
Agora há quatro tarefas existentes e duas novas.
-
O programador inicia duas tarefas novas adicionais.
Agora há quatro tarefas existentes e quatro tarefas novas.
-
O programador encerra duas das tarefas existentes.
Agora há duas tarefas existentes e quatro novas.
-
O programador inicia duas tarefas novas adicionais.
Agora há duas tarefas existentes e seis tarefas novas.
-
O programador encerra as duas tarefas existentes restantes.
Agora há seis tarefas novas.
No exemplo acima, ao usar os valores padrão das opções, há uma espera de 2,5 minutos para cada nova tarefa iniciada. Além disso, o balanceador de carga pode ter que esperar cinco minutos para que a tarefa antiga seja encerrada.
Exemplo: Modificar minimumHealthyPercent
Você pode acelerar a implantação definindo o valor do minimumHealthyPercent
como 50%.
Considere o serviço a seguir, que tem seis tarefas, implantadas em um cluster com espaço para oito tarefas no total. O processo de implantação é o seguinte:
-
O objetivo é substituir seis tarefas.
-
O programador interrompe três das tarefas existentes.
Ainda há três tarefas existentes em execução que atendem ao valor de
minimumHealthyPercent
. -
O programador inicia cinco tarefas novas.
Há três tarefas existentes e cinco tarefas novas.
-
O programador interrompe as três tarefas existentes restantes.
Há cinco novas tarefas
-
O programador inicia as tarefas novas finais.
Há seis tarefas novas.
Exemplo: modificar o espaço livre do cluster
Você também pode adicionar mais espaço livre para executar tarefas adicionais.
Considere o serviço a seguir, que tem seis tarefas, implantadas em um cluster com espaço para dez tarefas no total. O processo de implantação é o seguinte:
-
O objetivo é substituir as tarefas existentes.
-
O programador interrompe três das tarefas existentes.
Há três tarefas existentes.
-
O programador inicia seis tarefas novas.
Há três tarefas existentes e seis tarefas novas.
-
O programador interrompe as três tarefas existentes.
Há seis tarefas novas.
Recomendações
Use os valores a seguir nas opções de configuração do serviço quando as tarefas estiverem ociosas por algum tempo e não tiverem uma alta taxa de utilização.
-
minimumHealthyPercent
: 50% -
maximumPercent
: 200%