Application Load Balancer + ECS com Certificado HTTPS

Rodar um serviço ECS sem HTTPS é uma falha de segurança e um problema de experiência do usuário. Adicionar um ALB com um certificado ACM dá a você terminação HTTPS, e o ECS registra os IPs das tasks diretamente no target group.

TL;DR: Configure um Application Load Balancer com certificado TLS do ACM para expor um serviço ECS via HTTPS.
Stack: AWS ALB, ECS, ACM, Route 53
Nível: Intermediário
Tempo de leitura: ~8 min

Passos

  1. Solicite um certificado no ACM e valide via DNS. O certificado deve estar na mesma região do ALB.
  2. Em EC2, vá para Load Balancers e crie um Application Load Balancer. Defina como internet-facing, selecione sua VPC e sub-redes públicas, e configure o security group para permitir portas 80 e 443.
  3. Crie um Target Group com tipo IP (para tasks Fargate). Defina o protocolo e porta correspondentes ao seu container.
  4. Adicione dois listeners: porta 80 redirecionando para HTTPS (443), e porta 443 encaminhando para o target group com seu certificado ACM.
  5. No Route 53, crie um registro A (Alias) na sua hosted zone apontando seu domínio para o nome DNS do ALB.
  6. Ao criar ou atualizar o serviço ECS, selecione o load balancer e o target group. O ECS registrará os IPs das tasks automaticamente.

O que você construiu

Um serviço ECS acessível via HTTPS por um ALB, com certificado ACM para terminação TLS e um registro Route 53 apontando seu domínio para o load balancer.

Próximos passos

  • Configure o listener HTTP para redirecionar todo o tráfego da porta 80 para HTTPS, para usuários que digitam o domínio sem https:// ainda receberem tráfego criptografado.
  • Use validação DNS do ACM (não e-mail) para renovação automática do certificado.
  • Habilite logs de acesso do ALB no S3 para compliance e depuração.

Dúvidas ou feedback? Me encontre no LinkedIn ou GitHub.

Deixe um comentário