Auto Scaling de cluster do Amazon ECS - Amazon Elastic Container Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Auto Scaling de cluster do Amazon ECS

O Auto Scaling de cluster do Amazon ECS permite que você tenha mais controle sobre como escalar instâncias do Amazon EC2 dentro de um cluster. Ao criar um provedor de capacidade de grupo da Auto Scaling com a escalabilidade gerenciada ativada, o Amazon ECS gerencia as ações de redução e expansão do grupo da Auto Scaling usado ao criar o provedor de capacidade. O Amazon ECS cria, em seu nome, um plano de escalabilidade da AWS Auto Scaling com uma política de escalabilidade de rastreamento de destino com base no valor de capacidade de destino especificado. Em seguida, o Amazon ECS associa esse plano de escalabilidade ao seu grupo da Auto Scaling.

Para cada provedor de capacidade de grupo da Auto Scaling com escalabilidade gerenciada habilitada, uma métrica do CloudWatch gerenciada pelo Amazon ECS, com o prefixo AWS/ECS/ManagedScaling, é criada juntamente com dois alarmes de CloudWatch. As métricas e os alarmes de CloudWatch são usados para monitorar a capacidade da instância do Amazon EC2 em seus grupos de Auto Scaling e acionarão o grupo da Auto Scaling para reduzir e aumentar conforme necessário.

Cada cluster tem um ou mais provedores de capacidade de grupo da Auto Scaling e uma estratégia opcional de provedor de capacidade padrão. Os provedores de capacidade determinam a infraestrutura a ser usada para as tarefas e a estratégia do provedor de capacidade determina como as tarefas são distribuídas entre os provedores de capacidade. Ao executar uma tarefa ou criar um serviço, você pode usar a estratégia padrão de provedor de capacidade do cluster ou especificar uma estratégia de provedor de capacidade que substitua a estratégia padrão do cluster. Para obter mais informações sobre provedores de capacidade, consulte Provedores de capacidade do Amazon ECS.

Considerações sobre Auto Scaling de clusters

Ao usar o Auto Scaling de clusters, deve-se levar em consideração o seguinte:

  • Amazon ECSO usa oAWSServiceRoleForECSVinculado ao serviçoIAMpara as permissões necessárias para chamarAWS Auto Scaling, em seu nome. Para obter mais informações sobre como usar e criarAmazon ECSVinculado ao serviçoIAMfunções, consulteFunção vinculada ao serviço para Amazon ECS.

  • O dimensionamento automático de cluster não está disponível noÁsia-Pacífico (Osaka)Região :

  • Ao usar provedores de capacidade comAuto Scaling, os gruposIAMusuário criando os provedores de capacidade, precisa doautoscaling:CreateOrUpdateTagsPermissão Isso ocorre porque o Amazon ECS adiciona uma tag ao grupo do Auto Scaling quando ele o associa ao provedor de capacidade.

    Importante

    Não use ferramentas que removam a tag AmazonECSManaged do grupo de Auto Scaling. Se essa tag for removida, o Amazon ECS não poderá gerenciá-la ao dimensionar o cluster.

  • O dimensionamento gerenciado funciona melhor se oAuto Scalingusa os mesmos tipos de instância ou semelhantes. Para obter mais informações, consulte Comportamento gerenciado de ampliação.

  • Ao usar umaAuto Scalingcom instâncias On-Demand e vários tipos de instância, coloque os tipos de instância maiores mais altos na lista de prioridades e não especifique um peso. Não há suporte para a especificação de um peso no momento. Para obter mais informações, consulteAuto ScalingGrupos com vários tipos de instânciasnoGuia do usuário do AWS Auto Scaling.

  • Ao criar um serviço, especificar uma estratégia de posicionamento de tarefas que se espalhe pelas Zonas de Disponibilidade ou uma estratégia binpack baseada na CPU ou na memória funciona melhor. Não use uma estratégia de dispersão de instância, pois o dimensionamento funciona mais devagar com esse tipo de estratégia.

  • A capacidade desejada para oAuto Scalingassociado a um provedor de capacidade não deve ser alterado ou gerenciado por nenhuma política de dimensionamento diferente daAmazon ECSgerencia.

Comportamento gerenciado de ampliação

Ao usarAuto Scalingprovedores de capacidade de grupo com escalabilidade gerenciada habilitada,Amazon ECSestima o limite inferior no número ideal de instâncias a serem adicionadas ao cluster e usa esse valor para determinar quantas instâncias devem ser solicitadas. A seguir, descreve o comportamento de escalabilidade horizontal com mais detalhes.

  1. Agrupe todas as tarefas de provisionamento para que cada grupo tenha os mesmos requisitos de recursos exatos.

  2. Quando vários tipos de instância são usados, as instâncias noAuto Scalingsão classificados por seus atributos, como vCPU, memória, elastic network interface (ENI), portas e GPUs, e os maiores tipos de instância para cada atributo são selecionados.

  3. Para cada grupo de tarefas, o número de instâncias necessárias para executar as tarefas não colocadas é calculado. Este cálculo usa umbinpackque explica os requisitos de vCPU, memória, interfaces elásticas de rede (ENI), portas e GPUs das tarefas e a disponibilidade de recursos doAmazon EC2instâncias. Esse valor será tratado como a contagem máxima de instâncias calculada.

    nota

    Esse cálculo leva em consideração quaisquer restrições de posicionamento de tarefas definidas, mas recomendamos usar apenas o métododistinctInstancerestrição de posicionamento de tarefas.

  4. Amazon ECSirá então lançar ominimumScalingStepSize, se a contagem máxima de instâncias calculada for menor do que o tamanho mínimo da etapa de dimensionamento, ou a menor dasmaximumScalingStepSizeou o valor máximo de contagem de instâncias calculado.

Para uma explicação mais detalhada de como essa lógica funciona, consulteMergulho profundo noAmazon ECSAuto Scaling de cluster do.