Amazon ECS 클러스터 자동 조정 - Amazon Elastic Container Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon ECS 클러스터 자동 조정

중요

2022년 5월 27일부터 Amazon ECS는 클러스터 auto 크기 조정을 지원하는 리소스의 관리 방식을 바꿨습니다. 자세한 내용은 Amazon ECS가 클러스터 Auto Scaling 리소스를 생성하는 방식에 대한 업데이트 단원을 참조하세요.

Amazon ECS는 클러스터에 등록된 Amazon EC2 인스턴스의 크기 조정을 관리할 수 있습니다. 이를 Amazon ECS 클러스터 auto 크기 조정을 이라고 합니다. Auto Scaling 작업은 관리형 스케일링이 켜진 Auto Scaling 용량 공급자를 사용하면 이 Auto Scaling 스케일링의 인스턴스 사용률에 대한 목표 비율을 설정합니다.targetCapacity Amazon ECS는 두 개의 사용자 지정CloudWatch 지표와 Auto Scaling 스케일링에 연결하는 대상 추적 조정 정책을 생성합니다. 그러면 Amazon ECS는 태스크가 사용하는 이 용량 공급자의 리소스 사용을 기반으로 Auto Scaling 스케일링의 스케일 인 및 스케일 아웃 작업을 관리합니다. 오토 스케일링 용량 공급자에 대한 자세한 정보는 오토 스케일링 용량 공급자 섹션을 참조하세요.

참고

Amazon ECS 클러스터 자동 크기 조정은 오토 스케일링 용량 공급자에서만 지원됩니다. AWS Fargate에서 호스팅되는 Amazon ECS 워크로드의 경우 AWS Fargate 용량 공급자 섹션을 참조하세요.

클러스터 auto Scaling 작동 방식 조정 작동 방식

클러스터 auto Scaling 설정 설정 설정 설정 설정

다음은 Amazon ECS 클러스터 auto 크기 조정을 사용하기 위한 워크플로입니다. 자세한 정보는 클러스터 auto 크기 조정을 설정합니다.을 참조하세요.

  1. 오토 스케일링 생성

  2. 해당 오토 스케일링을 사용하는 용량 제공자 생성

  3. 용량 공급자에 대해 관리형 조정 켜기

  4. 용량 공급자와 클러스터 연결

  5. 용량 공급자를 사용하는 용량 공급자 전략을 생성하십시오.

    용량 공급자 전략은 태스크가 클러스터의 용량 공급자에 분배되는 방식을 결정합니다. 표준 실행 작업을 실행하거나 서비스를 생성할 때 클러스터의 기본 용량 공급자 전략 또는 기본 전략을 재정의하는 용량 공급자 전략을 사용할 수 있습니다.

클러스터 auto Scaling 리소스 조정 리소스 조정

클러스터와 연결된 각 오토 스케일링 용량 공급자에 대해 Amazon ECS는 다음 리소스를 생성하고 관리합니다.

  • 지표 값이 낮은CloudWatch 경보 경보 경보 경보 경보 경보 경보 경보

  • 지표 값이 높은CloudWatch 경보 경보 경보 경보 경보 경보 경보 조정

  • 대상 추적 조정 정책입니다.

    참고

    Amazon ECS에서 대상 추적 조정 정책을 생성하여 오토 스케일링에 연결합니다. 대상 추적 조정 정책을 업데이트하려면 조정 정책을 직접 업데이트하는 대신 용량 공급자 관리형 조정 설정을 업데이트해야 합니다.

관리형 스케일링을 끄거나 클러스터에서 용량 공급자 연결을 해제하면 Amazon ECS는CloudWatch 지표와 대상 추적 조정 정책 리소스를 제거합니다.

클러스터 auto Scaling 지표 조정 지표 조정 지표

다음 지표는 수행할 작업을 결정하는 데 도움이 됩니다.

  • CapacityProviderReservation - 특정 용량 공급자에 대해 사용 중인 클러스터 컨테이너 인스턴스의 백분율입니다. Amazon ECS는 이 지표를 생성합니다.

    Amazon ECS는CapacityProviderReservation 값을 0-100 사이의 숫자로 설정합니다. 이 수식은 다음 공식을 사용하여 Auto Scaling 그룹의 실제 크기에 대한 비율을 백분율로 나타냅니다. Amazon ECS는 지표를 에 게시합니다CloudWatch. 지표 계산 방법에 대한 자세한 내용은 Amazon ECS 클러스터 Auto Scaling 확장에 대한 심층 분석을 참조하십시오.

    CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
  • DesiredCapacity - 오토 스케일링에 대한 용량의 양입니다.

클러스터 auto Scaling 프로세스 조정 프로세스 조정 프로세스

Amazon ECS는 클러스터와 연결된 각 용량 공급자에 대해 클러스터 auto 크기 조정을 수행합니다. Amazon ECS는 매 분마다 오토 스케일링을 스케일 아웃 또는 스케일 인해야 하는지 여부를 결정하는 정보를 수집합니다.

Amazon ECS는CapacityProviderReservation 메트릭을CloudWatchAWS/ECS/ManagedScaling 네임스페이스에 게시합니다. CapacityProviderReservation 지표를 사용하면 다음 작업 중 하나가 발생합니다.

  • CapacityProviderReservation값은 같음targetCapacity - Auto Scaling 스케일 인 또는 스케일 아웃이 필요하지 않습니다. 목표 사용률에 도달했습니다.

  • CapacityProviderReservation값이 보다 큽니다.targetCapacity - 백분율보다 더 높은 백분율의 용량을 사용하는 작업이 더 많습니다.targetCapacity CapacityProviderReservation메트릭 값이 증가하면 관련CloudWatch 경보가 작동합니다. 이 경보는 오토 스케일링에 대한 DesiredCapacity 값을 업데이트합니다. 오토 스케일링은 이 값을 사용하여 EC2 인스턴스를 시작한 다음 클러스터에 등록합니다.

    targetCapacity가 기본값인 100% 인 경우, 작업을 실행할 인스턴스에 사용 가능한 용량이 없기 때문에 확장 중에 새 작업이 Pending 상태가 됩니다. 새 인스턴스가 ECS에 등록되면 새 인스턴스에서 이러한 작업이 시작됩니다.

  • CapacityProviderReservation값이 작음targetCapacity - 백분율보다 낮은 백분율의 용량을 사용하는 작업이 적으며 종료할 수 있는 인스턴스가 하나 이상 있습니다.targetCapacity CapacityProviderReservation메트릭 값이 감소하면 관련CloudWatch 경보가 작동합니다. 이 경보는 오토 스케일링에 대한 DesiredCapacity 값을 업데이트합니다. 오토 스케일링은 이 값을 사용하여 EC2 컨테이너 인스턴스를 종료한 다음 클러스터에서 등록을 취소합니다.

    Auto Scaling 그룹은 그룹 종료 정책에 따라 축소 이벤트 중에 처음 종료할 인스턴스를 결정합니다. 또한 인스턴스 스케일 인 보호 설정이 켜져 있는 인스턴스는 피합니다. 클러스터 auto Scaling은 관리형 종료 보호를 켜면 인스턴스 확장 보호 설정이 있는 인스턴스를 관리할 수 있습니다. 관리형 종료 방지 Auto Scaling 사용 을 종료하는 방법에 대한 자세한 내용을 알아보려면 축소 중 Auto Scaling 인스턴스 종료 관리를 참조하세요.

클러스터 Auto Scaling 고려 사항

클러스터 auto Scaling을 사용할 때는 다음 사항을 고려해야 합니다.

  • Amazon ECS가 관리하는 것 이외의 조정 정책이 있는 용량 공급자와 연결된 오토 스케일링에 대해 원하는 용량을 변경하거나 관리하지 마세요.

  • Amazon ECS는 사용자를 대신하여 다른 AWS Auto Scaling를 호출하는 데 필요한 권한에 대해 AWSServiceRoleForECS 서비스 연결 IAM 역할을 사용합니다. Amazon ECS 서비스 연결 IAM 역할을 사용하고 생성하는 방법에 대한 자세한 내용은 Amazon ECS에 대해 서비스 연결 역할 사용을 참조하세요.

  • 오토 스케일링에 용량 공급자를 사용하는 경우 용량 공급자를 생성하는 사용자, 그룹 또는 역할에는 autoscaling:CreateOrUpdateTags 권한이 필요합니다. 이는 용량 공급자와 연결할 때 Amazon ECS가 Auto Scaling 그룹에 태그를 추가하기 때문입니다.

    중요

    사용하는 도구가 오토 스케일링에서 AmazonECSManaged 태그를 제거하지 않는지 확인합니다. 이 태그가 제거되면 Amazon ECS에서 클러스터를 조정할 때 태그를 관리할 수 없습니다.

  • 클러스터 Auto Scaling은 그룹의 MinimumCapacity또는 MaximumCapacity을 수정하지 않습니다. 그룹을 스케일 아웃하려면 의 값이 0보다 MaximumCapacity커야 합니다.

  • Auto Scaling(관리형 조정)이 켜져 있을 때 한 번에 하나의 클러스터에만 용량 공급자를 연결할 수 있습니다. 용량 공급자가 관리형 크기 조정을 해제한 경우 이를 여러 클러스터와 연결할 수 있습니다.

  • 관리형 조정이 꺼져 있으면 용량 공급자가 스케일 인 또는 스케일 아웃하지 않습니다. 용량 공급자 전략을 사용하여 용량 공급자 간에 작업의 균형을 조정할 수 있습니다.

  • Amazon ECS는 현재 시간에 기존 용량으로 배치 전략 및 배치 제약을 사용합니다. 배치 전략은 가용 영역 또는 Amazon ECS 인스턴스 전체에 작업을 분산할 수 있습니다. 이는 결국 모든 작업이 모든 인스턴스를 분산시켜 실행 중인 각 작업이 자체 전용 인스턴스에서 시작됩니다. 이를 방지하려면 spread 전략을 binpack 전략과 함께 사용하지 마세요. 자세한 정보는 Amazon ECS 작업 배치 전략을 참조하세요.

새 콘솔 사용 시 다음 사항을 고려해야 합니다.

  • 기본적으로 Amazon ECS 자세한 정보는 관리형 확장 동작을 참조하세요.

  • 기본적으로 관리형 종료 보호는 꺼져 있습니다. 자세한 내용은 다음 단원 관리형 종료 방지 단원을 참조하십시오.

  • 기본적으로 Auto Scaling 인스턴스 축소 보호는 꺼져 있습니다. 자세한 정보는 Amazon EC2 Auto Scaling 사용 설명서인스턴스 스케일 인 방지 사용을 참조하세요.

  • 용량 공급자와 함께 사용되는 오토 스케일링에서는 인스턴스 가중치 설정을 사용할 수 없습니다. Amazon ECS 용량 공급자와 함께 사용 시 인스턴스 가중치가 지원되지 않습니다.

관리형 종료 방지

중요

클러스터 Auto Scaling의 관리형 종료 보호 기능을 사용하려면 Auto Scaling 그룹에서 Auto Scaling 인스턴스 축소 보호를 켜야 합니다.

Amazon ECS 클러스터 auto 스케일링은CapacityProviderReservation 값이 설정한targetCapacity 백분율 미만인 경우 Auto Scaling 그룹에서 스케일링을 조정합니다. 클러스터 auto Scaling은 관리형 종료 보호를 켜면 종료되는 인스턴스를 제어할 수 있습니다. When you use managed termination protection, Amazon ECS only terminates EC2 instances that don't have any running Amazon ECS tasks. DAEMON스케줄링 전략을 사용하는 서비스에서 실행하는 작업은 무시되며, 인스턴스에서 이러한 작업을 실행하는 경우에도 클러스터 auto Scaling으로 인스턴스를 종료할 수 있습니다. 이는 클러스터의 모든 인스턴스가 이러한 작업을 실행하고 있기 때문입니다.

관리형 종료 보호를 사용하는 경우 Amazon ECS는 먼저 Auto Scaling 스케일링의 EC2 인스턴스에 대해 축소 보호 옵션을 켭니다. 그런 다음 Amazon ECS는 인스턴스에 작업을 배치합니다. 인스턴스에서 모든 대몬이 아닌 작업이 중지되면 Amazon ECS는 축소 프로세스를 시작하고 EC2 인스턴스에 대한 축소 보호를 해제합니다. 그러면 오토 스케일링에서 인스턴스를 종료할 수 있습니다.

Auto Scaling 인스턴스 축소 보호는 Auto Scaling을 사용하여 종료할 수 있는 EC2 인스턴스를 제어합니다. 스케일 인 기능이 켜진 인스턴스는 스케일 인 프로세스 중에 종료할 수 없습니다. Auto Scaling 보호 사용 보호에 대한 자세한 내용을 알아보려면 Amazon EC2 Auto Scaling 보호 사용 을 참조하세요.

클러스터 auto Scaling이 축소를 관리하는 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오관리형 축소 동작.

관리형 종료 보호 고려 사항

관리형 종료 방지를 새 콘솔에서 사용할 때는 다음을 고려하세요.

  • 기본적으로 새 콘솔에서 생성한 새 용량 공급자에 대해서는 관리형 종료 보호가 꺼져 있습니다.

  • 새 콘솔은 선택한 Auto Scaling 그룹의 인스턴스 스케일 인 보호 기능을 켜지 않습니다. 기본적으로 Auto Scaling 인스턴스 축소 보호는 꺼져 있습니다. 관리형 종료 보호를 사용하려면 Auto Scaling 그룹에서 Auto Scaling 인스턴스 확장 보호를 켜야 합니다. 확장 보호를 켜지 않는 경우 관리형 종료 보호를 켜면 원하지 않는 동작이 발생할 수 있습니다. 예를 들어 인스턴스가 드레이닝 상태 중에 멈췄을 수 있습니다. 자세한 정보는 Amazon EC2 Auto Scaling 사용 설명서인스턴스 스케일 인 방지 사용을 참조하세요.

관리형 확장 동작

관리형 조정을 사용하는 오토 스케일링 용량 공급자가 있는 경우 Amazon ECS는 클러스터에 추가할 최적의 인스턴스 수를 추정합니다. 그런 다음 Amazon ECS는 이 값을 사용하여 요청할 인스턴스 수를 결정합니다. 관리형 확장에 대한 자세한 설명은 아래와 같습니다.

  1. Amazon ECS는 서비스, 독립형 작업 또는 클러스터 기본값의 용량 공급자 전략에 따라 각 작업에 대한 용량 공급자를 선택합니다. Amazon ECS는 단일 용량 공급자에 대해 이러한 나머지 단계를 따릅니다.

    작업에 용량 공급자 전략이 없는 경우 용량 공급자는 해당 작업을 무시합니다. 용량 공급자 전략이 없는 보류 중인 작업이 있다고 해서 용량 공급자가 확장되는 일은 발생하지 않습니다. 작업 또는 서비스가 시작 유형을 설정하는 경우 작업이나 서비스는 용량 제공자 전략을 설정할 수 없습니다.

  2. 각 그룹에 똑같은 리소스 요구 사항이 적용되도록 이 용량 공급자에 대한 모든 프로비저닝 태스크를 그룹화합니다.

  3. Auto Scaling 그룹에서 여러 인스턴스 유형을 사용하는 경우 Auto Scaling 스케일링의 인스턴스 유형은 파라미터를 기준으로 정렬됩니다. 이러한 파라미터에는 vCPU, 메모리, 탄력적 네트워크 인터페이스(ENI), 포트, GPU 등이 있습니다. 각 파라미터의 가장 작은 인스턴스 유형과 가장 큰 인스턴스 유형이 선택됩니다. 인스턴스 유형을 선택하는 방법에 대한 자세한 내용은 Amazon ECS Best Practices Guide(Amazon ECS 모범 사례 안내서)Characterizing your application(애플리케이션 특징화)를 참조하세요.

    중요

    작업 그룹의 리소스 요구 사항이 Auto Scaling 그룹의 가장 작은 인스턴스 유형보다 크면 해당 작업 그룹을 이 용량 공급자로 실행할 수 없습니다. 용량 공급자는 Auto Scaling 그룹을 확장하지 않습니다. 태스크는 그대로PENDING 유지됩니다.

    작업이 해당PENDING 상태로 유지되지 않도록 하려면 서로 다른 최소 리소스 요구 사항에 따라 별도의 Auto Scaling 그룹과 용량 공급자를 생성하는 것이 좋습니다. 작업을 실행하거나 서비스를 생성할 때는 Auto Scaling 그룹에서 가장 작은 인스턴스 유형에서 작업을 실행할 수 있는 용량 공급자 전략에 용량 공급자만 추가하십시오. 다른 매개변수의 경우 배치 제약 조건을 사용할 수 있습니다.

  4. 각 작업 그룹에 대해 Amazon ECS는 배치되지 않은 작업을 실행하는 데 필요한 인스턴스 개수를 계산합니다. 이 계산에서는 binpack 전략을 사용합니다. 이 전략은 작업의 vCPU, 메모리, 탄력적 네트워크 인터페이스(ENI), 포트, GPU 요구 사항을 고려합니다. 또한 Amazon EC2 인스턴스의 리소스 가용성을 고려합니다. 가장 큰 인스턴스 유형의 값은 계산된 최대 인스턴스 개수로 처리됩니다. 가장 작은 인스턴스 유형에 대한 값은 보호로 사용됩니다. 가장 작은 인스턴스 유형이 작업의 인스턴스를 하나 이상 실행할 수 없는 경우 계산에서 작업을 호환되지 않는 것으로 간주합니다. 따라서 스케일 아웃 계산에서 작업이 제외됩니다. 모든 작업이 가장 작은 인스턴스 유형과 호환되지 않으면 클러스터 auto 스케일링이 중지되고CapacityProviderReservation 값은 그대로 유지됩니다.targetCapacity

  5. Amazon ECS는 다음 중minimumScalingStepSize 하나에 해당하는CloudWatch 경우를 기준으로CapacityProviderReservation 지표를 게시합니다. 어느 쪽이든 계산된 최대 인스턴스 수는 최소 조정 단계 크기보다 작습니다. 또는 maximumScalingStepSize나 계산된 최대 인스턴스 수 중 더 낮은 값보다 작습니다.

  6. CloudWatch경보는 용량 공급자에 대한CapacityProviderReservation 지표를 사용합니다. CapacityProviderReservation 지표가 targetCapacity 값보다 크면 경보로 인해 오토 스케일링의 DesiredCapacity가 증가합니다. targetCapacity값은 클러스터 auto Scaling 활성화 단계에서CloudWatch 경보로 전송되는 용량 공급자 설정입니다.

    오토 스케일링을 생성하거나 그룹을 생성한 후 값을 수정할 때 targetCapacity을(를) 설정할 수 있습니다. 기본값은 100%입니다.

  7. Auto Scaling 그룹은 추가 EC2 인스턴스를 시작합니다. 확장 작업의 오버프로비저닝을 방지하기 위해, Auto Scaling은 최근에 시작된 EC2 인스턴스 용량이 새 인스턴스를 시작하기 전에 안정화되었는지 확인합니다. Auto Scaling이 모든 기존 인스턴스가 instanceWarmupPeriod를 통과했는지 검사합니다(현재에서 인스턴스 시작 시간을 뺀 값). instanceWarmupPeriod 내에 있는 인스턴스에 대해 스케일 아웃이 차단됩니다.

    새로 시작된 인스턴스의 기본 워밍업 시간은 300초입니다.

자세한 내용은 Deep dive on Amazon ECS cluster auto scaling(Amazon ECS 클러스터 자동 크기 조정 심층 분석)을 참조하세요.

확장 고려 사항

확장 프로세스에 대해 다음 사항을 고려하세요.

  1. 여러 배치 제약이 있지만 distinctInstance 작업 배치 제약만 사용하는 것을 권장합니다. 이는 샘플링된 인스턴스와 호환되지 않는 배치 제약 조건을 사용하기 때문에 스케일 아웃 프로세스가 중지되지 않습니다.

  2. 관리형 확장은 오토 스케일링에서 동일하거나 유사한 인스턴스 유형을 사용해야 가장 효과적입니다. 자세한 정보는 관리형 확장 동작을 참조하세요.

  3. 확장 프로세스가 필요하고 사용 가능한 컨테이너 인스턴스가 없고, 컨테이너 인스턴스를 사용할 수 있게 되면 Amazon ECS는 항상 200%(인스턴스 2개)로 확장합니다.

  4. 두 번째 스케일 아웃 단계는 전체 스케일링 제한에 영향을 미칠 수 있는 instanceWarmupPeriod가 만료될 때까지 기다려야 합니다. 이 시간을 줄여야 하는 경우 EC2 인스턴스가 Amazon ECS 에이전트(오버 프로비저닝 방지)를 시작하고 시작할 수 있을 만큼 instanceWarmupPeriod가 충분히 커야 합니다.

  5. 클러스터 자동 크기 조정은 용량 공급자 오토 스케일링에서 Launch Configuration(시작 구성), Launch Templates(시작 템플릿) 및 여러 인스턴스 유형을 지원합니다. 또한 여러 인스턴스 유형 없이 속성 기반 인스턴스 유형 선택을 사용할 수도 있습니다.

  6. 오토 스케일링과 온디맨드 인스턴스, 여러 인스턴스 유형 또는 스팟 인스턴스를 사용할 경우 우선순위 목록에서 용량이 큰 인스턴스 유형을 높은 순위에 올리고 가중치를 지정하지 않습니다. 현재는 가중치 지정을 지원하지 않습니다. 자세한 정보는 AWS Auto Scaling 사용 설명서여러 인스턴스 유형을 제공하는 오토 스케일링을 참조하세요.

  7. 그러면 Amazon ECS가 계산된 인스턴스 최댓값이 최소 조정 단계 크기보다 작을 경우 minimumScalingStepSize를 시작하고, 그렇지 않으면 maximumScalingStepSize 또는 계산된 인스턴스 개수의 최댓값 중 작은 개수를 시작합니다.

  8. Amazon ECS 서비스 또는 run-task API가 작업을 시작하고 용량 공급자 컨테이너 인스턴스에 작업을 시작하기에 충분한 리소스가 없는 경우 Amazon ECS는 각 클러스터에 대해 이 상태의 작업 수를 제한하고 이 제한을 초과하여 작업이 실행되지 않도록 합니다. 자세한 정보는 Amazon ECS 서비스 할당량을 참조하세요.

관리형 축소 동작

Amazon ECS는 클러스터 내의 각 용량 공급자에 대한 컨테이너 인스턴스를 모니터링합니다. 컨테이너 인스턴스가 아무 태스크도 실행하고 있지 않은 경우 컨테이너 인스턴스는 비어 있는 것으로 간주되어 Amazon ECS가 스케일 인 프로세스를 시작합니다. 관리형 축소 동작에 대한 자세한 설명은 아래와 같습니다.

  1. Amazon ECS는 비어 있는 컨테이너 인스턴스의 수를 계산합니다. 컨테이너 인스턴스는 데몬 태스크가 실행 중인 경우에도 비어 있는 것으로 간주됩니다.

  2. Amazon ECS는CapacityProviderReservation 값을 0-100 사이의 숫자로 설정합니다. 이 수식은 다음 공식을 사용하여 Auto Scaling 그룹의 실제 크기에 대한 비율을 백분율로 나타냅니다. Amazon ECS는 지표를 에 게시합니다CloudWatch. 지표 계산 방법에 대한 자세한 내용은 Amazon ECS 클러스터 Auto Scaling 확장에 대한 심층 분석을 참조하십시오.

    CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
  3. CapacityProviderReservation메트릭은CloudWatch 경보를 생성합니다. 이 경보는 오토 스케일링에 대한 DesiredCapacity 값을 업데이트합니다. 그러면 다음 작업 중 하나가 수행됩니다.

    • 용량 공급자 관리형 종료를 사용하지 않는 경우 오토 스케일링은 오토 스케일링 종료 정책을 사용하여 EC2 인스턴스를 선택하고 EC2 인스턴스 수가 DesiredCapacity에 도달할 때까지 인스턴스를 종료합니다. 그런 다음 컨테이너 인스턴스가 클러스터에서 등록 취소됩니다.

    • 모든 컨테이너 인스턴스가 관리형 종료 보호를 사용하는 경우 Amazon ECS는 비어 있는 컨테이너 인스턴스에 대한 축소 보호를 제거합니다. 그러면 오토 스케일링에서 EC2 인스턴스를 종료할 수 있습니다. 그런 다음 컨테이너 인스턴스가 클러스터에서 등록 취소됩니다.

축소 고려 사항

축소 프로세스에 대해 다음 사항을 고려하세요.

  • 실행 중인 대몬(daemon)이 아닌 작업이 없는 경우 Amazon ECS 컨테이너 인스턴스는 스케일 인에 사용 가능한 것으로 간주됩니다.

  • CloudWatch스케일 인 경보에는 Auto Scaling 스케일링의 축소 프로세스가 시작되기 전에 15데이터 포인트 (15분) 가 필요합니다. Amazon ECS가 등록된 컨테이너 인스턴스의 수를 줄여야 할 때까지 축소 프로세스가 시작된 후, 오토 스케일링은 DesireCapacity 값을 인스턴스 1개보다 크고 매분 50% 미만으로 설정합니다.

  • 스케일 인 프로세스가 진행 중인 동안 Amazon ECS가 스케일 아웃을 요청하는 경우(CapacityProviderReservation이 100보다 큼) 스케일 인 프로세스가 중지되고 필요한 경우 처음부터 시작됩니다.

대상 추적 고려 사항

targetCapacity 이렇게 하면 future 작업을 더 빠르게 시작할 수 있도록 여유 용량을 유지할 수 있습니다. 예비 용량을 사용하면 Auto Scaling 더 많은 인스턴스를 시작할 때까지 기다리지 않고 진행되므로 이 점이 개선됩니다. Amazon ECS는 목표 용량 값을 사용하여 서비스가 클러스터 auto Scaling을 용이하게 하기 위해 생성하는CloudWatch 지표를 관리합니다. Amazon ECS는CloudWatch 지표를 관리합니다. 이를 통해 오토 스케일링이 안정 상태로 처리되어 조정 작업이 필요하지 않습니다. 값은 0~100%가 될 수 있습니다. 예를 들어, Amazon ECS 작업에서 사용하는 용량 외에 10%의 여유 용량을 유지하도록 Amazon ECS를 구성하려면 대상 용량 값을 90%로 설정합니다.

용량 공급자에 대한 targetCapacity 값을 설정할 때는 다음 사항을 고려해야 합니다.

  • 100% 미만의 targetCapacity 값은 클러스터에 있어야 하는 사용 가능한 용량(Amazon EC2 인스턴스)의 양을 나타냅니다. 여유 용량은 실행 중인 작업이 없음을 의미합니다.

  • 추가 binpack이 없는 가용 영역과 같은 배치 제약 조건은 Amazon ECS가 최종적으로 인스턴스당 하나의 작업을 실행하도록 하며, 이는 바람직한 동작이 아닐 수 있습니다. 이 동작을 방지하려면 spread 전략을 binpack 전략과 함께 사용하지 마세요.

Amazon ECS가 클러스터 Auto Scaling 리소스를 생성하는 방식에 대한 업데이트

2022년 5월 27일부터 Amazon ECS는 클러스터 자동 크기 조정을 지원하는 리소스의 관리 방식을 바꿨습니다. 경험을 단순화하기 위해 오토 스케일링 용량 공급자에 대해 관리형 조정을 켤 때 Amazon ECS에는 더 이상 AWS Auto Scaling 조정 계획이 필요하지 않습니다. 이 변경 사항은 클러스터 auto Scaling 워크플로에 기능적으로 영향을 주지 않으며 가격이나 성능에 영향을 미치지 않습니다.

2022년 5월 27일 이전에 생성되었으며 AWS Auto Scaling 조정 계획을 사용 중인 용량 공급자는 이전과 같이 계속 작동합니다.

다음과 같은 고려 사항을 검토합니다.

  • 용량 공급자와 연결된 ECS-managed AWS Auto Scaling 조정 계획 또는 조정 정책 리소스를 업데이트하거나 삭제하지 않는 것이 좋습니다.

  • Auto Scaling 콘솔과 연결이 있는 describe-clusters를 통해 클러스터에 대한 조정 계획 리소스에 액세스할 수 있습니다. 자세한 내용은 API 설명서를 참조하세요 DescribeClusters.

  • 클러스터 용량 공급자 역할을 하는 오토 스케일링에는 조정 정책을 추가할 수 없습니다.

  • 계정당 Auto Scaling 플랜 수는 제한되어 있습니다. 자세한 정보는 Amazon EC2 Auto Scaling 사용 설명서크기 조정 플랜에 대한 할당량을 참조하세요.

2022년 5월 27일부터 Amazon ECS는 더 이상 새로 생성된 용량 공급자를 위한 AWS Auto Scaling 조정 계획을 생성하지 않습니다. 대신 Amazon ECS는 오토 스케일링에 연결된 대상 추적 조정 정책을 사용하여 목표 용량 사양에 따라 동적 조정을 수행합니다. 자세한 정보는 오토 스케일링 용량 공급자을 참조하세요.

이번 새 릴리스를 통해 새 용량 공급자를 생성할 때 사용할 조정 정책에 기존 오토 스케일링을 사용할 수 있습니다. ECS 관리형 조정 정책 또는 계획 리소스는 수정하지 않는 것이 좋습니다. 그러나 새 용량 공급자 리소스를 생성할 때 AWS Auto Scaling 조정 계획을 수정한 툴링을 사용자 정의한 경우 다음 중 하나를 수행합니다.

  • (권장) 용량 공급자를 업데이트하여 Amazon ECS 관리형 조정 설정을 수정합니다. 자세한 내용은 을 참조하세요 UpdateCapacityProvider.

  • 오토 스케일링과 연결된 조정 정책을 업데이트하여 사용된 대상 추적 구성을 수정합니다. 자세한 내용은 을 참조하세요 PutScalingPolicy.