CodeDeploy ECS Blue/Green 배포 시 Install 단계 Timeout 시간 제한 조정

0

안녕하세요 현재 ECS Blue/Green 서비스와 CodeDeploy를 통해 배포를 구성하고 있습니다. 이때 설정한 Health Check에서 문제가 발생한다면 Install 단계에서 60분간 재시도한 후 배포가 실패하고 롤백됩니다. 이 timeout 시간을 임의로 조정할 수 있나요? 예를 들어, Health Check에서 문제가 발생하면 5분간만 재시도하고 unhealthy 상태이면 롤백을 진행할 수 있도록 하는 것처럼요. 감사합니다.

질문됨 일 년 전327회 조회
1개 답변
2

안녕하세요 JJang dol님,

언급해주신 Code Deploy에서의 timeout 시간과 관련하여 공식 문서(링크)에 따르면

Code Deploy 할당량 중 EC2/온프레미스 블루/그린 배포 실행(시간)은 Install 단계를 포함한 13개 수명 주기 이벤트 각각에 대해 1시간이 적용되어 있으며, 이 값은 조정될 수 없습니다.

ECS 블루/그린 배포의 경우에도 비슷한 상황을 만들어 시연해 본 결과, 언급해주신 것과 같이 Install 단계에서 오류가 발생하고 최대 1시간 동안 대기하는 것을 확인했습니다.


Install 단계와 같이 특정 수명 주기 이벤트에서 오류가 발생하고, 이를 5분 동안만 대기(재시도)하다가 롤백을 진행하기 위해 다음과 같은 방법을 시도해 보실 수 있습니다.

[Cloud Watch 경보 생성]

  • Cloud Watch 콘솔로 이동합니다.
  • 좌측 메뉴에서 [모든 경보] - [경보 생성]을 선택합니다.
  • [지표 선택]을 선택하고, 원하는 Health Check 지표를 선택합니다. ( 예를 들어, ECS 블루/그린 배포를 설정할 때 생성한 Target Group의 UnhealthyStateRouting을 선택하실 수 있습니다. )
  • 원하는 통계/기간/조건(임계값)을 선택하고 [다음]을 선택합니다.
  • 알림을 설정합니다. 필요하다면 새 주제를 생성합니다. 이 경우, 메일을 통해 Subscribe 작업을 완료해야 합니다. 이후 [다음]을 선택합니다.
  • 경보 이름을 입력하고 [다음]을 선택합니다.
  • [경보 생성]을 선택합니다.

[Code Deploy 배포그룹 편집]

  • Code Deploy 콘솔로 이동합니다.
  • 좌측 메뉴에서 [애플리케이션]을 선택합니다.
  • "AppECS"가 포함된 ECS 블루/그린 배포 관련 애플리케이션을 선택합니다.
  • 배포 그룹을 선택하고 [편집]을 선택합니다.
  • 하단에 [경보 추가]를 선택하여 경보를 추가합니다.
  • 롤백 옵션에서 "경보 임계값이 충족되는 경우 롤백"을 활성화합니다.
  • [변경 사항 저장]을 선택합니다.

이제, Cloud Watch에서 Health Check의 조건에 어긋나는 시점에 경보를 발생시키고, 이 경보를 Code Deploy에서 인식하여 자동으로 Rollback을 진행하게 됩니다.


제 답변이 도움이 되시기를 바랍니다. 감사합니다.

profile picture
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인