Instâncias de contêiner do Amazon EC2 para o Amazon ECS
Uma instância de contêiner do Amazon ECS corresponde a uma instância do Amazon EC2 que executa o agente de contêiner do Amazon ECS e está registrada em um cluster. Quando você executa tarefas com o Amazon ECS usando o tipo de inicialização do EC2 ou um provedor de capacidade do grupo do Auto Scaling, as tarefas são colocadas nas instâncias de contêiner ativas. Você é responsável pelo gerenciamento e manutenção da instância de contêiner.
Embora você possa criar sua própria AMI de instância do Amazon EC2 que atenda às especificações básicas necessárias para executar workloads em contêineres no Amazon ECS, as AMIs otimizadas para Amazon ECS são pré-configuradas e testadas no Amazon ECS por engenheiros da AWS. É a maneira mais simples de você começar e fazer com que seus contêineres sejam executados na AWS rapidamente.
Ao criar um cluster usando o console, o Amazon ECS cria um modelo de inicialização para as instâncias com a AMI mais recente associada ao sistema operacional selecionado.
Quando você usa o AWS CloudFormation para criar um cluster, o parâmetro SSM faz parte do modelo de inicialização do Amazon EC2 para instâncias do grupo do Auto Scaling. Você pode configurar o modelo para usar um parâmetro dinâmico do Systems Manager para determinar qual AMI otimizada do Amazon ECS deve ser implantada. Esse parâmetro garante que toda vez que você implantar a pilha, ele verificará se há uma atualização disponível que precise ser aplicada às instâncias do EC2. Para obter um exemplo de como usar o parâmetro do Systems Manager, consulte Criar um cluster Amazon ECS com a AMI do Amazon Linux 2023 otimizada para o Amazon ECS no Guia do usuário do AWS CloudFormation.
É possível escolher entre os tipos de instância que são compatíveis com sua aplicação. Com instâncias maiores, é possível iniciar mais tarefas ao mesmo tempo. Com instâncias menores, é possível aumentar a escala horizontalmente de maneira mais otimizada para economizar custos. Não é preciso escolher um único tipo de instância do Amazon EC2 que se adapte a todas as aplicações em seu cluster. Em vez disso, você pode criar diversos grupos do Auto Scaling de forma que cada grupo tenha um tipo de instância diferente. Em seguida, é possível criar um provedor de capacidade do Amazon EC2 para cada um desses grupos.
Use as seguintes diretrizes para determinar os tipos de família de instâncias e o tipo de instância a ser usado:
-
Elimine os tipos ou as famílias de instâncias que não atendem aos requisitos específicos da aplicação. Por exemplo, se a sua aplicação exigir uma GPU, será possível excluir qualquer tipo de instância que não tenha uma GPU.
-
Considere os requisitos, incluindo o throughput e o armazenamento da rede.
-
Considere a CPU e a memória. Como regra geral, a CPU e a memória devem ser grandes o suficiente para armazenar pelo menos uma réplica da tarefa que você deseja executar.
Instâncias spot
A capacidade spot pode proporcionar economias de custo significativas em relação às instâncias sob demanda. A capacidade spot é o excesso de capacidade cujo preço é significativamente menor do que a capacidade sob demanda ou a capacidade reservada. A capacidade spot é adequada para workloads de processamento em lote e machine learning, além de ambientes de desenvolvimento e preparação. Em geral, é adequada para qualquer workload que tolere tempo de inatividade temporário.
Entenda as consequências a seguir, pois a capacidade spot pode não estar disponível o tempo todo.
-
Durante períodos de demanda extremamente alta, a capacidade spot pode estar indisponível. Isso pode atrasar a execução de instâncias spot do Amazon EC2. Nesses casos, os serviços do Amazon ECS tentam executar tarefas novamente, e os grupos do Amazon EC2 Auto Scaling também tentam iniciar instâncias novamente, até que a capacidade necessária esteja disponível. O Amazon EC2 não substitui a capacidade spot por capacidade sob demanda.
-
Quando a demanda geral por capacidade aumenta, as instâncias spot e as tarefas podem ser encerradas com apenas um aviso de dois minutos. Depois que o aviso for enviado, as tarefas devem iniciar um desligamento ordenado, se necessário, antes que a instância seja totalmente encerrada. Isso ajuda a minimizar a possibilidade de erros. Para obter mais informações sobre um desligamento normal, consulte Desligamentos normais com o ECS
.
Para ajudar a minimizar a escassez de capacidade Spot, considere as recomendações a seguir:
-
Use várias regiões e zonas de disponibilidade: a capacidade spot varia de acordo com a região e a zona de disponibilidade. É possível melhorar a disponibilidade de spot executando suas workloads em várias regiões e zonas de disponibilidade. Se possível, especifique sub-redes em todas as zonas de disponibilidade nas regiões em que você executar suas tarefas e instâncias.
-
Use vários tipos de instâncias do Amazon EC2: quando você usa políticas de instâncias mistas com o Amazon EC2 Auto Scaling, vários tipos de instâncias são iniciadas em seu grupo do Auto Scaling. Isso garante que uma solicitação por capacidade spot possa ser atendida quando necessário. Para maximizar a confiabilidade e minimizar a complexidade, use tipos de instâncias com aproximadamente a mesma quantidade de CPU e memória em sua Política de instâncias mistas. Essas instâncias podem ser de uma geração diferente ou de variantes do mesmo tipo de instância base. Observe que elas podem vir com recursos adicionais que você talvez não precise. Um exemplo dessa lista poderia incluir m4.large, m5.large, m5a.large, m5d.large, m5n.large, m5dn.large e m5ad.large. Para obter mais informações, consulte Grupos de Auto Scaling com vários tipos de instância e opções de compra no Manual do usuário do Amazon EC2 Auto Scaling.
-
Use a estratégia de alocação spot otimizada para capacidade: com o Amazon EC2 Spot, é possível escolher entre as estratégias de alocação otimizadas para capacidade e custo. Se você escolher a estratégia de capacidade otimizada ao iniciar uma nova instância, o Amazon EC2 Spot selecionará o tipo de instância com maior disponibilidade na zona de disponibilidade selecionada. Isso ajudará a reduzir a possibilidade de a instância ser encerrada logo após sua inicialização.
Para obter informações sobre como configurar avisos de encerramento de spot em suas instâncias de contêiner, consulte: