Skip to content
Latchkey

O Que É o Amazon ECS? Orquestração de Containers da AWS

O Amazon ECS (Elastic Container Service) é o orquestrador nativo da AWS para rodar e escalar containers, seja em instâncias EC2 que você gerencia ou no Fargate serverless.

O ECS é a resposta da AWS para "tenho imagens de container, agora rode-as de forma confiável em escala." Ele agenda containers através da capacidade de compute, mantém em execução o número desejado de cópias, integra-se com load balancers, e lida com rolling updates. É mais simples de adotar que o Kubernetes e ainda assim de nível de produção.

Conceitos centrais do ECS

  • Task definition - o blueprint que descreve containers, imagens, CPU e memória.
  • Task - uma instância em execução de uma task definition.
  • Service - mantém uma contagem desejada de tasks saudáveis e atrás de um load balancer.
  • Cluster - o agrupamento lógico de capacidade em que suas tasks rodam.

Launch types EC2 vs Fargate

Com o launch type EC2, você gerencia uma frota de instâncias que hospedam suas tasks. Com o Fargate, a AWS provisiona o compute por task e você nunca vê um servidor. O Fargate troca algum custo e controle pela conveniência de não gerenciar nodes.

Como o ECS implanta atualizações

Quando você registra uma nova revisão de task definition e atualiza o service, o ECS executa um rolling deployment: ele sobe novas tasks, aguarda os health checks, então drena e para as antigas. Você também pode integrar o CodeDeploy para rollouts blue-green.

Networking e load balancing

Os ECS services normalmente ficam atrás de um Application Load Balancer que distribui o tráfego e roda health checks. As tasks ganham suas próprias interfaces de rede na sua VPC, então você controla os security groups e subnets exatamente como faria para o EC2.

Papel no CI/CD

Um pipeline faz build e envia uma imagem Docker para o ECR, registra uma nova task definition apontando para aquele tag de imagem, e chama update-service para disparar um rolling deploy. O GitHub Actions faz isso com o tooling oficial aws-actions, autenticando via uma OIDC role. Rodar o CI em um runner na mesma AWS region (como a Latchkey faz) mantém o push para o ECR e o deploy rápidos.

Principais conclusões

  • O ECS é o orquestrador de containers da AWS construído em torno de task definitions, tasks e services.
  • Ele roda em capacidade EC2 autogerenciada ou no Fargate serverless.
  • Pipelines implantam enviando uma imagem para o ECR e atualizando o ECS service.

Guias relacionados