본문으로 건너뛰기

RollingUpdates

1 ECS 롤링 업데이트

  • Amazon ECS(ECS) 롤링 업데이트는 서비스에 대해 새로운 태스크 정의 버전을 점진적으로 배포하여 애플리케이션의 가용성과 안정성을 유지하는 방법입니다.
  • 이 방법은 전체 애플리케이션을 중단하지 않고 새로운 기능을 릴리스하거나 버그 수정 사항을 적용할 수 있습니다.

2 롤링 업데이트의 작동 원리

  • 롤링 업데이트는 현재 실행 중인 태스크를 하나씩 교체하며 진행됩니다.
  • 새로운 태스크 정의 버전이 기존 태스크를 대체하며, 새로운 태스크가 정상적으로 시작되고 실행되면 기존 태스크가 종료됩니다.

2.1 업데이트 과정

  1. 새로운 태스크 정의 등록: 새로운 애플리케이션 버전을 포함한 태스크 정의를 등록합니다.
  2. 서비스 업데이트: 새로운 태스크 정의 버전으로 ECS 서비스를 업데이트합니다.
  3. 점진적 교체: 기존 태스크가 새로운 태스크로 하나씩 교체됩니다.
  4. 모니터링: 새로운 태스크가 정상적으로 실행되는지 모니터링합니다.
  5. 완료: 모든 태스크가 새로운 버전으로 교체되면 업데이트가 완료됩니다.

3 롤링 업데이트의 장점

  • 무중단 배포: 서비스 중단 없이 애플리케이션을 업데이트할 수 있습니다.
  • 점진적 전환: 새로운 태스크가 정상적으로 실행되는지 확인한 후 기존 태스크를 종료하기 때문에 안정성을 보장합니다.
  • 빠른 롤백: 문제가 발생하면 기존 태스크 정의로 롤백하여 빠르게 복구할 수 있습니다.

4 설정 방법

4.1 ECS 서비스 생성 또는 업데이트

  • 서비스 생성: 새로운 서비스를 생성할 때 롤링 업데이트 전략을 선택합니다.
  • 서비스 업데이트: 기존 서비스를 업데이트하여 새로운 태스크 정의 버전을 적용합니다.

4.2 AWS 관리 콘솔 사용

  1. 서비스 선택: AWS 관리 콘솔에서 ECS 서비스를 선택합니다.
  2. 업데이트 시작: "Update Service"를 클릭하여 업데이트를 시작합니다.
  3. 새 태스크 정의 선택: 새로운 태스크 정의 버전을 선택합니다.
  4. 배포 설정: "Deployment Configuration"에서 최소 정상 태스크 비율과 최대 비율을 설정합니다.
  5. 업데이트 적용: "Update"를 클릭하여 업데이트를 적용합니다.

5 최소, 최대 정상 태스크 비율 설정

  • 최소 정상 태스크 비율(Minimum Healthy Percent)
    • 업데이트 과정에서 서비스가 유지해야 하는 최소한의 정상 상태 태스크 비율을 설정합니다.
    • 예를 들어, 이 값을 50%로 설정하면, 서비스는 업데이트 중에도 전체 태스크의 50%를 항상 실행 상태로 유지합니다.
    • 이 값이 높을수록 가용성은 높아지지만 업데이트 속도는 느려질 수 있습니다.
  • 최대 정상 태스크 비율(Maximum Healthy Percent)
    • 업데이트 과정에서 동시에 실행될 수 있는 최대 태스크 비율을 설정합니다.
    • 예를 들어, 이 값을 200%로 설정하면, 새로운 태스크가 추가될 때 현재 실행 중인 태스크의 두 배까지 허용됩니다.
    • 이 값이 높을수록 업데이트 속도는 빨라지지만 리소스 사용량이 증가할 수 있습니다.

6 결론

ECS 롤링 업데이트는 애플리케이션을 중단 없이 업데이트할 수 있는 효율적인 방법입니다. 적절한 설정과 모니터링을 통해 애플리케이션의 가용성과 안정성을 유지하면서 새로운 기능을 릴리스하거나 버그 수정 사항을 적용할 수 있습니다.

관련 자료: