Canary 배포

Hoju·2022년 8월 25일
0
post-custom-banner

핵심!!
가동 중인 서버들의 일부에만 새로운 앱을 배포하여, 일부 트래픽을 새 버전의 환경으로 분산하는 방법입니다.

A/B 테스트가 가능하고, 오류율 및 성능 모니터링에 유용하게 사용할 수 있다는 장점이 있는데요. 트래픽을 분산시킬 라우팅은 임의적 또는 사용자 프로필 등을 기반으로 분류할 수 있습니다. 분산 후에 결과에 따라 새 버전이 운영 환경을 대체할 수도 있고, 다시 구 버전으로 되돌릴 수도 있어요.

위의 블루/그린 배포 설명에서 "구 버전의 환경을 새 버전의 환경으로 똑같이 구축해서 한 번에 전환한다" 라는 게 올바른 정의가 아니라고 했는데, 블루/그린 배포의 트래픽 전환 방식은 All-at-Once (한 번에) 만 있는게 아니기 때문입니다.

선형 배포와 하는 방법은 차이가 많이 있지 않지만, 둘에 개념을 파악하는게 좋을 거 같다


구성 방법

  1. codedeploy 배포 그룹에서 배포 설정 부분에 있는 배포 구성 만들기를 선택한다.
  2. 캐너리에 이름을 선택합니다.
  3. 선택하고 나서 배포 구성 이름 → 단계 → 간격을 선택합니다.
  • 단계: 트래픽 백분율을 말합니다. 즉, 카나리 배포 시 얼만큼을 새 버전 환경으로 분산할 것인지를 선택합니다.
  • 간격: 트래픽 전환 간격을 말합니다.
  1. 배포 구성 만들기를 선택합니다.
  2. 만든 배포 구성을 사용하기 위해서 배포구성 아래 화살표를 누른 뒤 방금전 생성한 카나리아 배포 구성을 선택해줍니다.
  3. 그럼 다음과 같이 설정되며, 변경 사항 저장 후 배포를 합니다.

배포가 진행되면?


  • 작업 정의 버전 업데이트
  • 대상 그룹 두개다 연결되어있는 것을 확인할 수 있습니다. (5분 지나기 전)

  • 5분이 다 지나면 대체로 트래픽이 완전히 분산됩니다. 즉, 대상 그룹도 이제 하나에 대상 그룹에만 Service가 연결됩니다.

profile
Devops가 되고 싶은 청소년
post-custom-banner

0개의 댓글