View a markdown version of this page

Amazon ECS 블루/그린 배포 - Amazon Elastic Container Service

Amazon ECS 블루/그린 배포

블루/그린 배포는 블루와 그린이라는 두 개의 동일한 프로덕션 환경을 실행하여 가동 중지 시간과 위험을 줄이는 릴리스 방법론입니다. Amazon ECS 블루/그린 배포를 사용하면 프로덕션 트래픽을 전달하기 전에 새 서비스 개정을 검증할 수 있습니다. 이 접근 방식은 필요한 경우 빠르게 롤백하는 기능을 통해 변경 내용을 배포하는 더 안전한 방법을 제공합니다.

이점

블루/그린 배포는 다음과 같은 이점을 제공합니다.

  • 프로덕션을 전환하기 전에 프로덕션 트래픽에서 테스트를 수행하여 위험을 줄입니다. 프로덕션 트래픽을 전달하기 전에 테스트 트래픽으로 새 배포를 검증할 수 있습니다.

  • 가동 중지 시간이 발생하지 않는 배포. 프로덕션 환경은 배포 프로세스 전반에 걸쳐 계속 사용할 수 있으며 이를 통해 지속적인 서비스 가용성을 보장합니다.

  • 문제가 감지되면 간편한 롤백. 그린 배포에 문제가 발생하면 서비스 중단을 연장하지 않고도 블루 배포로 빠르게 되돌릴 수 있습니다.

  • 제어된 테스트 환경. 그린 환경은 전체 배포 전에 실제 트래픽 패턴으로 새 기능을 테스트할 격리된 스페이스를 제공합니다.

  • 예측 가능한 배포 프로세스. 수명 주기 단계가 정의된 구조화된 접근 방식을 사용하면 배포의 일관성과 신뢰성이 향상됩니다.

  • 수명 주기 후크를 통한 자동화된 검증. 배포의 여러 단계에서 자동화된 테스트를 구현하여 기능을 확인할 수 있습니다.

용어

다음은 Amazon ECS 블루/그린 배포 용어입니다.

  • 베이크 소요 시간 - 프로덕션 트래픽이 이동한 후 블루 및 그린 서비스 개정이 모두 동시에 실행되는 기간.

  • 블루 배포 - 교체하려는 현재 프로덕션 서비스 개정.

  • 그린 배포 - 배포하려는 새 서비스 개정.

  • 수명 주기 단계 - '프로덕션 트래픽 전환 후'와 같은 배포 작업에 존재하는 일련의 이벤트.

  • 수명 주기 후크 - 특정 수명 주기 단계에서 배포를 확인하는 Lambda 함수. hookDetails를 사용하여 후크에 사용자 지정 데이터를 전달할 수 있습니다.

  • 리스너 - 사용자가 구성한 프로토콜 및 포트를 사용하여 연결 요청을 확인하는 Elastic Load Balancing 리소스. 리스너에 대해 사용자가 정의한 규칙에 따라 Amazon ECS가 등록된 대상으로 요청을 라우팅하는 방법이 결정됩니다.

  • 규칙 - 리스너와 연결된 Elastic Load Balancing 리소스. 규칙은 요청이 라우팅되는 방식을 정의하며, 작업, 조건, 우선순위로 구성됩니다.

  • 대상 그룹 - 요청을 하나 이상의 등록된 대상(예: EC2 인스턴스)으로 라우팅하는 데 사용되는 Elastic Load Balancing 리소스. 리스너를 생성할 때 기본 작업에 대한 대상 그룹을 지정합니다. 트래픽은 리스너 규칙에 지정된 대상 그룹으로 전달됩니다.

  • 트래픽 전환 - Amazon ECS가 블루 배포에서 그린 배포로 트래픽을 전환하는 데 사용하는 프로세스. 로드 밸런서 또는 Service Connect를 사용하는 서비스의 경우 Amazon ECS가 트래픽 전환을 자동으로 관리합니다. 헤드리스 서비스의 경우 Amazon ECS는 블루 태스크를 그린 태스크로 대체하지만 트래픽 전환을 관리하지는 않습니다.

고려 사항

배포 유형을 선택할 때 다음을 고려하세요.

  • 리소스 사용량: 블루/그린 배포는 블루 및 그린 서비스 개정을 동시에 일시적으로 실행합니다. 이 경우 배포 중에 리소스 사용량이 두 배가 될 수 있습니다.

  • 배포 모니터링: 블루/그린 배포는 보다 자세한 배포 상태 정보를 제공하므로 이를 통해 배포 프로세스의 각 단계를 모니터링할 수 있습니다.

  • 롤백: 블루/그린 배포를 사용하면 베이크 소요 시간이 만료될 때까지 블루 개정이 계속 실행되므로 문제가 감지되면 이전 버전으로 쉽게 롤백할 수 있습니다.

  • Network Load Balancer 수명 주기 후크: 블루/그린 배포에 Network Load Balancer를 사용하는 경우, TEST_TRAFFIC_SHIFT 및 PRODUCTION_TRAFFIC_SHIFT 수명 주기 단계에 10분이 추가로 소요됩니다. Amazon ECS가 트래픽을 안전하게 이전할 수 있도록 보장하기 때문입니다.