Ajuste de escala automático e posicionamento de tarefas das instâncias gerenciadas do Amazon ECS - Amazon Elastic Container Service

Ajuste de escala automático e posicionamento de tarefas das instâncias gerenciadas do Amazon ECS

As instâncias gerenciadas do Amazon ECS usam algoritmos inteligentes para escalar automaticamente a capacidade do cluster e posicionar tarefas de forma eficiente em toda a infraestrutura. A compreensão de como esses algoritmos funcionam ajuda você a otimizar suas configurações de serviço e solucionar problemas de comportamento de posicionamento.

Algoritmo de posicionamento de tarefa

As instâncias gerenciadas do Amazon ECS usam um algoritmo de posicionamento sofisticado que equilibra a disponibilidade, a utilização de recursos e os requisitos de rede ao programar tarefas.

Distribuição de zonas de disponibilidade

Por padrão, as instâncias gerenciadas do Amazon ECS priorizam a disponibilidade distribuindo tarefas entre várias zonas de disponibilidade:

  • Para serviços com várias tarefas, as instâncias gerenciadas do Amazon ECS garantem a distribuição em pelo menos três instâncias de diferentes zonas de disponibilidade, quando possível

  • Esse comportamento fornece tolerância a falhas, mas pode resultar em menor utilização de recursos por instância.

  • A distribuição de zonas de disponibilidade tem precedência sobre a otimização do empacotamento

Comportamento do empacotamento

Embora as instâncias gerenciadas do Amazon ECS possam realizar o empacotamento para maximizar a utilização de recursos, esse comportamento é influenciado pela configuração da rede:

  • Para conseguir o empacotamento, configure seu serviço para usar uma única sub-rede

  • As configurações de várias sub-redes priorizam a distribuição de zonas de disponibilidade em relação à densidade de recursos

  • O empacotamento é mais provável durante o lançamento inicial do serviço do que durante eventos de escala

Considerações sobre densidade de ENI

Para serviços que usam o modo de rede awsvpc, as instâncias gerenciadas do Amazon ECS consideram a densidade da interface de rede elástica (ENI) ao tomar decisões de posicionamento:

  • Cada tarefa no modo awsvpc exige uma ENI dedicada

  • Os tipos de instância têm limites de ENI diferentes que afetam a densidade da tarefa

  • As instâncias gerenciadas do Amazon ECS contam com a disponibilidade da ENI ao selecionar instâncias de destino

nota

Melhorias nos cálculos de densidade da ENI estão sendo feitas continuamente para otimizar as decisões de posicionamento.

Lógica de decisão do provedor de capacidade

Os provedores de capacidade de instâncias gerenciadas do Amazon ECS tomam decisões de escala e posicionamento com base em vários fatores:

Requisitos de recursos

Requisitos de CPU, memória e rede das tarefas pendentes

Disponibilidade da instância

Capacidade e utilização atuais em todas as instâncias existentes

Restrições de rede

Configuração de sub-rede e disponibilidade da ENI

Distribuição de zonas de disponibilidade

Manter a tolerância a falhas em várias zonas de disponibilidade

Opções de configuração

Estratégia de seleção de sub-rede

Sua configuração de sub-rede afeta significativamente o comportamento de posicionamento de tarefas:

Várias sub-redes (padrão)

Prioriza a distribuição de zonas de disponibilidade para alta disponibilidade

Pode resultar em menor utilização de recursos por instância

Recomendado para workloads de produção que exigem tolerância a falhas

Sub-rede única

Permite o empacotamento para maior utilização de recursos

Reduz a tolerância a falhas concentrando as tarefas em uma zona de disponibilidade

Adequado para workloads de desenvolvimento ou com custo otimizado

Considerações sobre modo de rede

O modo de rede escolhido afeta as decisões de posicionamento:

  • Modo awsvpc: cada tarefa requer uma ENI dedicada, limitando a densidade da tarefa por instância

  • Modo host: as tarefas usam a rede do host diretamente, com o posicionamento orientado principalmente pela disponibilidade de recursos

Considerações sobre arquitetura de CPU

O cpuArchitecture que você especifica na definição da tarefa é usado para colocar tarefas em uma arquitetura específica. Se você não especificar um cpuArchitecture, o Amazon ECS tentará colocar as tarefas em qualquer arquitetura de CPU disponível com base na configuração do provedor de capacidade. É possível especificar X86_64 ou ARM64.

Solução de problemas do posicionamento de tarefas

Padrões de posicionamento comuns

A compreensão dos padrões de posicionamento esperados ajuda a distinguir o comportamento normal dos possíveis problemas:

Distribuição expandida

Tarefas distribuídas em várias instâncias com utilização parcial

Comportamento normal ao usar várias sub-redes

Indica a priorização da disponibilidade em relação à eficiência dos recursos

Posicionamento concentrado

Várias tarefas colocadas em menos instâncias com maior utilização

Esperado ao usar a configuração de sub-rede única

Pode ocorrer durante o lançamento inicial do serviço

Distribuição desigual

Algumas instâncias são muito utilizadas, enquanto outras permanecem subutilizadas

Pode indicar limites de ENI ou restrições de recursos

Considere analisar os tipos de instância e a configuração de rede

Otimizar o comportamento de posicionamento

Para otimizar o posicionamento das tarefas de acordo com seus requisitos específicos:

  1. Avalie seus requisitos de disponibilidade em relação às necessidades de otimização de custos

  2. Escolha a configuração de sub-rede apropriada com base em suas prioridades

  3. Selecione tipos de instância com capacidade de ENI adequada para seu modo de rede

  4. Monitore os padrões de posicionamento e ajuste a configuração conforme necessário

Práticas recomendadas

  • Para workloads de produção: use várias sub-redes em diferentes zonas de disponibilidade para garantir alta disponibilidade, aceitando a compensação na utilização de recursos

  • Para desenvolvimento ou teste: considere a configuração de uma única sub-rede para maximizar a utilização de recursos e reduzir custos

  • Para o modo awsvpc: escolha tipos de instância com capacidade de ENI suficiente para evitar restrições de posicionamento

  • Para otimização de custos: monitore os padrões de utilização e ajuste a configuração do serviço para equilibrar disponibilidade e eficiência

  • Para solução de problemas: analise a configuração da sub-rede e o modo de rede ao investigar padrões de posicionamento inesperados