
데브옵스
CodeDeploy를 이용한 배포 실패 Troubleshooting
두줄요약
Docker 기반 CodeDeploy 배포 실패를 추적해 원인을 찾아냈습니다. 부팅 시 cloud-init의 보안 업데이트로 Docker 시작이 늦어져 ValidateService가 Timeout 되었습니다.
문제 상황
- Docker 기반 서비스 인스턴스에서 CodeDeploy 배포가 반복 실패
- TargetGroup unhealthy와 Auto Scaling 인스턴스 교체 반복 발생
- ValidateService 단계가 Timeout으로 종료되며 배포 완료 불가
원인 분석
- ApplicationStart 시점에 Docker 서비스가 아직 시작되지 않은 상태
- cloud-init의 YUM 보안 업데이트가 부팅 과정에서 자동 실행
- Docker 패키지 업데이트로 서비스 시작 시점이 늦어짐
해결 방법
- 수동으로 Docker 컨테이너를 재기동해 배포 성공 확인
- 인스턴스 로그와 cloud-init 설정으로 자동 패키지 업데이트 경로 추적
- ApplicationStart 단계에서 Docker 서비스 기동 여부 확인과 재시도 로직 필요성 제기
