컨테이너 인스턴스 드레이닝 - Amazon Elastic Container Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

컨테이너 인스턴스 드레이닝

가령 시스템 업데이트를 수행하거나 도커 데몬을 업데이트하거나 클러스터 크기를 축소하기 위해 클러스터에서 컨테이너 인스턴스를 제거해야 하는 경우가 있습니다. 컨테이너 인스턴스 드레이닝을 사용하면 클러스터에서의 작업에 영향을 주지 않고 컨테이너 인스턴스를 클러스터에서 제거할 수 있습니다.

컨테이너 인스턴스를 DRAINING으로 설정할 경우 Amazon ECS는 새 작업이 컨테이너 인스턴스에서 배치를 위해 예약되지 않도록 합니다. 드레이닝 컨테이너 인스턴스에서 PENDING 상태인 서비스 작업이 즉시 중지됩니다. 클러스터에 사용 가능한 컨테이너 인스턴스가 있는 경우 거기서 대체 서비스 작업이 시작됩니다.

컨테이너 인스턴스에서 RUNNING 상태인 서비스 작업은 서비스의 배포 구성 파라미터인 minimumHealthyPercentmaximumPercent에 따라 중지 및 대체됩니다.

  • 만약 minimumHealthyPercent가 100% 미만이면 스케줄러는 작업 대체 도중 desiredCount를 일시적으로 무시할 수 있습니다. 예를 들어 desiredCount가 4개 작업인 경우, 50%의 최소값은 스케줄러가 새로운 2개 작업을 시작하기 전에 2개의 기존 작업을 중지하도록 허용합니다. 최소값이 100%인 경우, 서비스 스케줄러는 대체 작업이 정상 상태라고 간주될 때까지 기존 작업을 제거할 수 없습니다. 로드 밸런서를 사용하지 않는 서비스의 작업은 RUNNING 상태일 경우에 정상 상태로 간주됩니다. 로드 밸런서를 사용하는 서비스의 작업은 RUNNING 상태이고 작업이 호스팅된 컨테이너 인스턴스가 로드 밸런서에 의해 정상 상태로 보고되는 경우에 정상 상태로 간주됩니다.

  • maximumPercent 파라미터는 작업 대체 도중 실행 중인 작업 수의 상한을 나타내며, 이를 통해 대체 배치 크기를 정의할 수 있습니다. 예를 들어 desiredCount가 4개 작업인 경우, 200%의 최대값은 드레이닝할 4개 작업을 중지하기 전에 4개의 새 작업을 시작합니다(이렇게 하는 데 필요한 클러스터 리소스를 사용할 수 있는 경우). 최대값이 100%인 경우, 드레이닝 작업이 중지될 때까지 대체 작업을 시작할 수 없습니다.

자세한 정보는 서비스 정의 매개 변수 단원을 참조하십시오.

서비스에 속하지 않는 PENDING 또는 RUNNING 작업은 영향을 받지 않습니다. 이런 작업이 종료될 때까지 기다리거나 수동으로 중지해야 합니다.

RUNNING 작업이 더 이상 없으면 컨테이너 인스턴스가 드레이닝을 완료한 것입니다(다만 상태는 계속 DRAINING으로 남아 있습니다). 다음을 사용하여 확인할 수 있습니다. ListTasks 를 사용하여 작동 containerInstance 파라미터.

컨테이너 인스턴스의 상태를 DRAINING에서 ACTIVE로 변경하면 Amazon ECS 스케줄러가 인스턴스에서 다시 작업을 예약할 수 있습니다.

인스턴스 드레이닝

다음을 사용할 수 있습니다. UpdateContainerInstancesState API 작업 또는 업데이트-컨테이너-인스턴스-상태 컨테이너 인스턴스의 상태를 DRAINING.

다음 절차에서는 AWS Management 콘솔을 사용하여 인스턴스를 DRAINING으로 설정하는 방법을 소개합니다.

콘솔을 사용하여 인스턴스를 DRAINING으로 설정하려면

  1. https://console.aws.amazon.com/ecs/에서 Amazon ECS 콘솔을 엽니다.

  2. 탐색 창에서 Clusters를 선택하고 클러스터를 선택합니다.

  3. ECS Instances를 선택한 다음 컨테이너 인스턴스의 확인란을 선택합니다.

  4. Actions, Drain Instance을 차례로 선택합니다.

  5. 인스턴스가 처리된 후 Done을 선택합니다.