Arquitetura para capacidade do EC2 para Amazon ECS - Amazon Elastic Container Service

Arquitetura para capacidade do EC2 para Amazon ECS

Use a capacidade do EC2 para workloads grandes que devem ter preço otimizado.

Ao considerar como modelar definições de tarefa e serviços usando o EC2, recomendamos que você considere quais processos devem ser executados juntos e como você pode escalar 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. Separe os diferentes componentes em várias definições de tarefas. 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 obter mais informações, consulte Criação de uma implantação de atualização contínua do Amazon ECS. Nos serviços, você pode associar contêineres a balanceadores de carga do ELB. Para obter 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 obter mais informações, consulte Atualizar um serviço do Amazon ECS.

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.