AWS ECS Python App com Terraform
Terraform >= 1.2
AWS CLI com credenciais configuradas
Docker (para build/push de imagens ao ECR)
Ajuste environments/prod/terraform.tfvars com senhas e dados.
(Opcional) configure backend S3 em backend.tf.
Inicialize Terraform:
Verifique o plano:
terraform plan -var-file=environments/prod/terraform.tfvars
Aplique:
terraform apply -var-file=environments/prod/terraform.tfvars
Faça login no ECR:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin < account-id> .dkr.ecr.us-east-1.amazonaws.com
Build e push:
docker build -t < repo> :latest .
docker tag < repo> :latest < account-id> .dkr.ecr.us-east-1.amazonaws.com/< repo> :latest
docker push < account-id> .dkr.ecr.us-east-1.amazonaws.com/< repo> :latest
Atualize module.ecs.container_image se necessário e faça terraform apply (ou use CodePipeline/CodeBuild para atualizar automaticamente).
Notas de segurança / melhorias
Não coloque senhas em plain-text em repositório. Use AWS Secrets Manager/Parameter Store e integre via task definition secrets.
Em produção, considere RDS Multi-AZ, ElastiCache replication, backups e métricas.
Configure auto-scaling para ECS (aws_appautoscaling_target + aws_appautoscaling_policy).