Tipos de inicialização do Amazon ECS - Amazon Elastic Container Service

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.

Visão geral da arquitetura do Amazon ECS.

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.

Exemplo de arquitetura de aplicação com três instâncias. A instância 1 tem um contêiner de serviço de frontend e um contêiner de serviço de banco de dados. A instância 2 e a instância 3 têm um contêiner de serviço de frontend e um contêiner de serviço de backend.

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.