ECS 롤링 배포 최대 비율 최소 비율

프로필 사진mingke

AWS Logo

목차

소개

Amazon ECS에서는 서비스의 롤링 업데이트를 수행할 때 서비스에 대해 "최소 실행 작업 비율" 및 "최대 실행 작업 비율"을 설정할 수 있는 옵션이 있습니다. 이러한 설정은 배포 프로세스를 제어하여 업데이트 중에 특정 수의 작업이 계속 실행되고 리소스 제한을 초과하지 않도록 하는 데 도움이 됩니다. 이게 정확히 무슨 의미인지 몰라서 공부하고 정리해보았습니다.

ecs rolling update

최소 실행 작업 비율

  • 기본값: 100%
  • 의미: 배포 중에 RUNNING 상태를 유지해야 하는 작업의 비율입니다.
  • : 서비스에 10개의 작업이 있고 "최소 정상 백분율"이 50%로 설정된 경우 ECS는 전체 배포 프로세스 동안 최소 5개의 작업이 RUNNING 상태로 유지되도록 합니다.

최대 실행 작업 비율

  • 기본값: 200%
  • 의미: 배포 중 원하는 개수와 비교하여 'RUNNING' 상태가 허용되는 작업의 비율입니다.
  • : 서비스에 10개의 작업이 있고 "최대 실행 작업 비율"이 200%로 설정된 경우 ECS는 배포 중에 20개의 작업을 시작할 수 있으며, 새 작업이 나타나면 이전 작업을 중지하고 상태 확인을 통과합니다. .

시나리오 및 설정 대상

  1. 다운타임 0, 리소스 사용 가능:
    • 최소: 100%
    • 최대: 200%
    • 여기서는 새 작업이 시작될 때까지 작업이 중지되지 않아 가동 중지 시간이 전혀 발생하지 않습니다. 이를 위해서는 일시적으로 두 배의 작업 수를 실행하기에 충분한 리소스가 필요합니다. 반드시 하나의 작업은 실행되어 있으므로 중단없이 배포가 가능합니다. 다만 프리티어로 많이 쓰는 t2.micro 같은 경우는 리소스가 부족하여 이 방식으로 배포가 불가능할 수 있습니다.
  2. 제한된 리소스, 일부 가동 중지 시간 허용:
    • 최소: 50%
    • 최대: 100%
    • 이 경우 ECS는 새 작업을 시작하기 전에 이전 작업을 중지하여 원래 작업 수를 초과하지 않도록 합니다. 작업의 50%만 실행되는 짧은 기간이 있을 수 있습니다.
  3. 둘의 혼합(우아한 배포):
    • 최소: 75%
    • 최대: 150%
    • ECS는 작업의 75% 이상 실행을 유지하며 원하는 수의 150% 이상 시작하지 않습니다. 균형 잡힌 접근 방식같아 보입니다.

명심해야 할 사항

  • 리소스 제한: 선택한 설정은 ECS 클러스터의 리소스 가용성과 일치해야 합니다.
  • 가동 중지 시간: "최소 실행 작업 비율"을 낮추면 실행 중인 작업 수가 들어오는 모든 요청을 처리하는 데 필요한 용량 아래로 떨어지면 약간의 가동 중지 시간이 발생할 수 있습니다.
  • 배포 속도: "최대 실행 작업 비율"이 높을수록 배포가 더 빨라지지만 더 많은 리소스가 필요합니다.

올바른 설정을 선택하는 것은 배포 중 서비스의 가용성과 안정성을 위해 매우 중요합니다. 리소스 사용량과 가동 중지 시간 사이의 균형을 맞춰야 하는 경우가 많습니다. 이상으로 ECS 롤링 업데이트 배포 최대 비율 최소 비율에 대해 알아보았습니다.