ECS 배포 자동화를 처음 구성할 때 가장 많이 막히는 지점이 두 곳이다. 하나는 "새 이미지를 ECR에 push했는데 ECS Service가 자동으로 업데이트되지 않는다"이고, 다른 하나는 "Rolling과 Blue/Green 배포에서 CodeBuild가 다른 파일을 생성해야 한다는데 정확히 뭐가 다른가"다. 오늘은 이 두 지점부터 시작해서 Auto Scaling, Capacity Provider, ECS Exec까지 ECS 운영 자동화의 전체를 다룬다.
ECS Service는 "어떤 Task Definition revision을 실행할 것인가"를 관리한다. 새 이미지를 배포하는 것은 결국 새 Task Definition revision을 등록하고 ECS Service가 그 revision을 사용하도록 업데이트하는 과정이다.
수동 방식 (이해를 위한 기반):
# 1. 새 이미지 push
docker push 111.dkr.ecr.ap-northeast-2.amazonaws.com/checkout:abc123
# 2. 현재 Task Definition 가져오기
aws ecs describe-task-definition --task-definition checkout-prod \
--query 'taskDefinition' > current-taskdef.json
# 3