AWS Elastic Beanstalk
개발자 가이드

AWS Elastic Beanstalk를 사용한 블루/그린 배포

사용자가 애플리케이션 버전을 업데이트할 때 AWS Elastic Beanstalk는 현재 위치 업데이트를 수행하므로 사용자는 잠시 애플리케이션을 사용하지 못할 수도 있습니다. 블루/그린 배포를 수행하면 이 가동 중지를 방지할 수 있습니다. 블루/그린 배포에서는 새 버전을 별도의 환경에 배포한 후 두 환경의 CNAME을 바꿔 트래픽을 새 버전으로 즉시 리디렉션합니다.

블루/그린 배포를 수행하려면 환경이 프로덕션 데이터베이스와 독립적으로 실행되어야 합니다(애플리케이션이 프로덕션 데이터베이스를 사용하는 경우). 환경에 Amazon RDS DB 인스턴스가 연결되어 있는 경우, 데이터가 두 번째 환경으로 전송되지 않으므로 원래 환경을 종료하면 손실됩니다.

(Elastic Beanstalk에서 관리하지 않는) 외부 Amazon RDS 인스턴스에 연결하도록 애플리케이션을 구성하는 방법은 Amazon Relational Database Service에서 Elastic Beanstalk 사용 섹션을 참조하십시오.

블루/그린 배포를 수행하려면

  1. Elastic Beanstalk 콘솔을 엽니다.

  2. 현재 환경을 복제하거나, 원하는 구성을 실행하는 새 환경을 시작합니다.

  3. 새 환경에 새 애플리케이션 버전을 배포합니다.

  4. 새 환경에서 새 버전을 테스트합니다.

  5. 새 환경의 대시보드에서 작업을 선택한 다음 환경 URL 전환을 선택합니다.

  6. 환경 이름 목록에서 현재 환경을 선택합니다.

    
          환경 URL 전환 페이지
  7. 전환을 선택합니다.

Elastic Beanstalk는 이전 환경과 새 환경의 CNAME 레코드를 바꿔 이전 버전의 트래픽을 새 버전으로, 새 버전의 트래픽을 이전 버전으로 리디렉션합니다.


      환경 URL 전환 이벤트

Elastic Beanstalk가 전환 작업을 완료하면 이전 환경 URL에 연결을 시도할 때 새 환경이 응답하는지 확인합니다. 그러나 DNS 변경이 전파되고 이전 DNS 레코드가 만료될 때까지 이전 환경을 종료하지 마십시오. DNS 서버는 사용자가 DNS 레코드에서 설정한 TTL(Time To Live)을 기반으로 캐시에서 이전 레코드를 반드시 삭제하지는 않습니다.