Skip to main content

무중단 배포

Rolling Update 방식

롤링 업데이트는 서비스의 중단 없이 순차적으로 업데이트를 진행하는 방식이다. 실행 중인 인스턴스 중, 일부 인스턴스에 라우팅 하지 않고, 새 버전으로 교체한 뒤, 업데이트 된 인스턴스로 트래픽을 전달하는 식으로 배포한다.

참고로 ECS에서는 기본적으로 롤링 업데이트 배포 전략을 제공한다. 이를 사용하면, ECS Scheduler가 현재 실행중인 Task를 새로운 Task로 교체하는 방식으로 배포가 진행된다.

  • minimumHealthyPercent(최소 실행 작업 비율, 단위: %): Service 배포 중 허용되는 실행 중인 Task의 최소 백분율을 지정한다.
  • maximumPercent(최대 실행 작업 비율, 단위: %): Service 배포 중 허용되는 실행 중인 Task의 최대 백분율을 지정한다.
  • 장점
    • 리소스 사용량이 일정하게 유지된다.
    • 추가적인 인스턴스를 필요로 하지 않는다.
  • 단점
    • 업데이트 중 일부 사용자는 새 버전, 일부는 구 버전을 사용하는 등 버전 호환 문제가 발생할 수 있다.
    • 특정 인스턴스에 트래픽이 몰릴 수 있다.

Blue/Green 방식

블루/그린 배포 전략이란, 동일하지만 분리된 2개의 환경을 만들어, 애플리케이션을 현재 상태인 블루(PRIMARY) 환경 버전과 새 버전인 그린(ACTIVE) 환경으로 나누어 배포하는 전략이다. 그린 환경에서의 테스트가 완료되면 트래픽이 블루에서 그린 환경으로 전환되며, 블루 환경은 deprecated 된다.

  • 장점
    • 새 버전에 문제가 생길 경우 빠르게 롤백을 할 수 있다.
  • 단점
    • 리소스가 2배 필요하다.
Related Links