Amazon ECS 블루/그린 배포
블루/그린 배포는 블루와 그린이라는 두 개의 동일한 프로덕션 환경을 실행하여 가동 중지 시간과 위험을 줄이는 릴리스 방법론입니다. Amazon ECS 블루/그린 배포를 사용하면 프로덕션 트래픽을 전달하기 전에 새 서비스 개정을 검증할 수 있습니다. 이 접근 방식은 필요한 경우 빠르게 롤백하는 기능을 통해 변경 내용을 배포하는 더 안전한 방법을 제공합니다.
이점
블루/그린 배포는 다음과 같은 이점을 제공합니다.
-
프로덕션을 전환하기 전에 프로덕션 트래픽에서 테스트를 수행하여 위험을 줄입니다. 프로덕션 트래픽을 전달하기 전에 테스트 트래픽으로 새 배포를 검증할 수 있습니다.
-
가동 중지 시간이 발생하지 않는 배포. 프로덕션 환경은 배포 프로세스 전반에 걸쳐 계속 사용할 수 있으며 이를 통해 지속적인 서비스 가용성을 보장합니다.
-
문제가 감지되면 간편한 롤백. 그린 배포에 문제가 발생하면 서비스 중단을 연장하지 않고도 블루 배포로 빠르게 되돌릴 수 있습니다.
-
제어된 테스트 환경. 그린 환경은 전체 배포 전에 실제 트래픽 패턴으로 새 기능을 테스트할 격리된 공간을 제공합니다.
-
예측 가능한 배포 프로세스. 수명 주기 단계가 정의된 구조화된 접근 방식을 사용하면 배포의 일관성과 신뢰성이 향상됩니다.
-
수명 주기 후크를 통한 자동화된 검증. 배포의 여러 단계에서 자동화된 테스트를 구현하여 기능을 확인할 수 있습니다.
용어
다음은 Amazon ECS 블루/그린 배포 용어입니다.
-
베이크 소요 시간 - 프로덕션 트래픽이 이동한 후 블루 및 그린 서비스 개정이 모두 동시에 실행되는 기간.
-
블루 배포 - 교체하려는 현재 프로덕션 서비스 개정.
-
그린 배포 - 배포하려는 새 서비스 개정.
-
수명 주기 단계 - '프로덕션 트래픽 전환 후'와 같은 배포 작업에 존재하는 일련의 이벤트.
-
수명 주기 후크 - 특정 수명 주기 단계에서 배포를 확인하는 Lambda 함수.
-
리스너 - 사용자가 구성한 프로토콜 및 포트를 사용하여 연결 요청을 확인하는 Elastic Load Balancing 리소스. 리스너에 대해 사용자가 정의한 규칙에 따라 Amazon ECS가 등록된 대상으로 요청을 라우팅하는 방법이 결정됩니다.
-
규칙 - 리스너와 연결된 Elastic Load Balancing 리소스. 규칙은 요청이 라우팅되는 방식을 정의하며, 작업, 조건, 우선순위로 구성됩니다.
-
대상 그룹 - 요청을 하나 이상의 등록된 대상(예: EC2 인스턴스)으로 라우팅하는 데 사용되는 Elastic Load Balancing 리소스. 리스너를 생성할 때 기본 작업에 대한 대상 그룹을 지정합니다. 트래픽은 리스너 규칙에 지정된 대상 그룹으로 전달됩니다.
-
트래픽 전환 - Amazon ECS가 블루 배포에서 그린 배포로 트래픽을 전환하는 데 사용하는 프로세스. Amazon ECS 블루/그린 배포의 경우 모든 트래픽이 블루 서비스에서 그린 서비스로 한 번에 전환됩니다.
고려 사항
배포 유형을 선택할 때 다음을 고려하세요.
-
리소스 사용량: 블루/그린 배포는 블루 및 그린 서비스 개정을 동시에 일시적으로 실행합니다. 이 경우 배포 중에 리소스 사용량이 두 배가 될 수 있습니다.
-
배포 모니터링: 블루/그린 배포는 보다 자세한 배포 상태 정보를 제공하므로 이를 통해 배포 프로세스의 각 단계를 모니터링할 수 있습니다.
-
롤백: 블루/그린 배포를 사용하면 베이크 소요 시간이 만료될 때까지 블루 개정이 계속 실행되므로 문제가 감지되면 이전 버전으로 쉽게 롤백할 수 있습니다.