무중단 배포
Rolling Update 방식
롤링 업데이트는 서비스의 중단 없이 순차적으로 업데이트를 진행하는 방식이다. 실행 중인 인스턴스 중, 일부 인스턴스에 라우팅 하지 않고, 새 버전으로 교체한 뒤, 업데이트 된 인스턴스로 트래픽을 전달하는 식으로 배포한다.
참고로 ECS에서는 기본적으로 롤링 업데이트 배포 전략을 제공한다. 이를 사용하면, ECS Scheduler가 현재 실행중인 Task를 새로운 Task로 교체하는 방식으로 배포가 진행된다.
minimumHealthyPercent
(최소 실행 작업 비율, 단위:%
): Service 배포 중 허용되는 실행 중인 Task의 최소 백분율을 지정한다.maximumPercent
(최대 실행 작업 비율, 단위:%
): Service 배포 중 허용되는 실행 중인 Task의 최대 백분율을 지정한다.
- 장점
- 리소스 사용량이 일정하게 유지된다.
- 추가적인 인스턴스를 필요로 하지 않는다.
- 단점
- 업데이트 중 일부 사용자는 새 버전, 일부는 구 버전을 사용하는 등 버전 호환 문제가 발생할 수 있다.
- 특정 인스턴스에 트래픽이 몰릴 수 있다.
Blue/Green 방식
블루/그린 배포 전략이란, 동일하지만 분리된 2개의 환경을 만들어, 애플리케이션을 현재 상태인 블루(PRIMARY) 환경 버전과 새 버전인 그린(ACTIVE) 환경으로 나누어 배포하는 전략이다. 그린 환경에서의 테스트가 완료되면 트래픽이 블루에서 그린 환경으로 전환되며, 블루 환경은 deprecated 된다.
- 장점
- 새 버전에 문제가 생길 경우 빠르게 롤백을 할 수 있다.
- 단점
- 리소스가 2배 필요하다.