Tipos de inicialização do Amazon ECS
O tipo de execução da definição de tarefa define em qual capacidade ela pode ser executada, por exemplo, AWS Fargate.
Depois de escolher o tipo de execução, o Amazon ECS verifica se os parâmetros de definição de tarefas configurados funcionam com o tipo de execução.
Fargate
O Fargate é um mecanismo de computação com tecnologia sem servidor e pagamento conforme o uso que permite se concentrar na criação de aplicações sem gerenciar servidores. Ao escolher o Fargate, não é necessário gerenciar uma infraestrutura do EC2. Tudo o que você precisa fazer é criar a imagem de contêiner e definir em qual cluster deseja executar as aplicações. O Fargate tem integração nativa com serviços da AWS que incluem:
-
Amazon VPC
-
Auto Scaling
-
Elastic Load Balancing
-
IAM
-
Secrets Manager
Você tem mais controle com o Fargate do que com o EC2 porque seleciona a CPU e a memória exatas de que a aplicação precisa. O Fargate processa o aumento horizontal de escala da capacidade para que você não precise se preocupar com picos de tráfego. Isso significa que há menos esforço operacional com o Fargate.
O Fargate atende aos padrões de programas de conformidade, incluindo PCI, FIPS 140-2, FedRAMP e HIPAA. Para obter mais informações, consulte Serviços da AWS no escopo por programa de conformidade
O Fargate é adequado para as workloads a seguir:
-
Workloads grandes que precisam de baixa sobrecarga operacional
-
Pequenas workloads que têm explosão ocasional
-
Workloads pequenas
-
Workloads em batch
Para obter informações sobre as regiões que oferecem suporte ao Fargate, consulte Regiões com suporte para Amazon ECS no AWS Fargate.
O diagrama a seguir mostra a arquitetura geral.
Para obter mais informações sobre o Amazon ECS no Fargate, consulte AWS Fargate para o Amazon ECS.
EC2
O tipo de inicialização do EC2 é adequado para workloads grandes que devem ter preço otimizado.
Ao considerar como modelar definições de tarefa e serviços usando o tipo de inicialização do EC2, recomendamos que você considere quais processos devem ser executados juntos e como você pode dimensionar cada componente.
Por exemplo, suponha que uma aplicação seja formada pelos seguintes componentes:
-
Um serviço frontend que exiba informações em uma página da web
-
Um serviço backend que forneça APIs para o serviço frontend
-
Um armazenamento físico de dados
Neste exemplo, crie definições de tarefa que agrupem contêineres utilizados para um propósito em comum. Faça a separação dos componentes distintos em várias definições de tarefa separadas. O cluster de exemplo abaixo tem três instâncias de contêiner que executam três contêineres de serviços frontend, dois contêineres de serviço backend e um contêiner de serviço de armazenamento físico de dados.
É possível agrupar contêineres relacionados em uma definição de tarefa, como contêineres vinculados que devem ser executados juntos. Por exemplo, adicione um contêiner de transmissão de log ao serviço de fron-end e inclua-o na mesma definição de tarefa.
Depois que tiver as definições de tarefa, será possível criar serviços com base nelas para manter a disponibilidade das tarefas desejadas. Para ter mais informações, consulte Criação de um serviço do Amazon ECS usando o console. Nos seus serviços, você pode associar contêineres a balanceadores de carga do Elastic Load Balancing. Para ter mais informações, consulte Uso do balanceamento de carga para distribuir o tráfego de serviço do Amazon ECS. Quando os requisitos da aplicação mudam, você pode atualizar os serviços para aumentar ou diminuir o número de tarefas desejadas. Outra opção é atualizar os serviços para implantar versões mais recentes dos contêineres nas suas tarefas. Para ter mais informações, consulte Atualização de um serviço do Amazon ECS usando o console.
Externo
O tipo de inicialização externa é usado para executar suas aplicações em contêineres no servidor on-premises ou na máquina virtual (VM) que você registra no cluster do Amazon ECS e gerencia remotamente. Para ter mais informações, consulte Clusters do Amazon ECS para o tipo de inicialização externa.