단계 조정 정책 - Amazon Elastic Container Service

단계 조정 정책

Amazon ECS 서비스 자동 조정에서 Application Auto Scaling 단계 조정 정책 사용을 지원하지만 그 대신에 대상 추적 조정 정책을 사용하는 것이 좋습니다. 예를 들어 CPU 사용률이 특정 수준 이하로 떨어지거나 그 이상으로 상승할 때 서비스를 확장하려는 경우 Amazon ECS에서 제공하는 CPU 사용률 지표에 근거하여 대상 추적 조정 정책을 생성합니다. 자세한 정보는 대상 추적 조정 정책 섹션을 참조하세요.

단계 조정 정책을 사용하여 조정 프로세스를 트리거하는 경보를 생성하고 관리합니다. 대상 추적 경보가 사용 사례에서 작동하지 않는 경우 단계 조정을 사용할 수 있습니다. 고급 조정 정책 구성을 위해 단계 조정과 함께 대상 추적 조정을 사용할 수도 있습니다. 예를 들어 사용률이 일정 수준에 도달할 때 더 공격적인 대응을 구성할 수 있습니다.

서비스 자동 크기 조정 고려 사항

조정 정책을 사용하는 경우 다음 고려 사항을 참조하세요.

  • Amazon ECS는 1분 간격으로 지표를 CloudWatch로 보냅니다. 클러스터 및 서비스가 CloudWatch로 지표를 전송할 때까지는 지표를 사용할 수 없으며, 아직 존재하지 않는 지표에 대해 CloudWatch 경보를 생성할 수 없습니다.

  • 조정 정책은 휴지 기간을 지원합니다. 이것은 이전의 조정 활동이 적용될 때까지 대기할 시간(초)입니다.

    • 확장 이벤트의 목적은 지속적이지만 과도하지는 않게 확장하는 것입니다. 서비스 자동 크기 조정에서 조정 정책을 사용하여 성공적으로 확장하면 휴지 기간이 계산되기 시작합니다. 조정 정책은 더 큰 조정이 트리거되거나 휴지 기간이 종료되지 않는 한 원하는 용량을 다시 늘리지 않습니다. 확장 휴지 기간이 진행되는 동안 확장 활동을 시작하여 추가된 용량은 다음 확장 활동에 대해 원하는 용량의 일부로 계산됩니다.

    • 축소 이벤트의 목적은 애플리케이션의 가용성을 보호하기 위해 보수적으로 축소하여 휴지 기간이 만료될 때까지 축소 활동을 차단하는 것입니다. 그러나 축소 휴지 기간 중에 다른 경보가 확장 활동을 트리거하면 서비스 자동 크기 조정은 대상을 즉시 확장합니다. 이 경우 축소 휴지 기간이 중지되고 완료되지 않습니다.

  • ECS 서비스 스케줄러는 원하는 수를 항상 신뢰하지만 서비스에 활성화된 조정 정책과 경보가 있는 한 서비스 자동 크기 조정은 사용자가 수동으로 설정한 원하는 수를 변경할 수 있습니다.

  • 원하는 서비스 수가 최소 용량 값 이하로 설정되어 있고 경보가 확장 활동을 트리거하는 경우 서비스 자동 크기 조정은 원하는 수를 최소 용량 값까지 확장한 다음 경보에 연결된 조정 정책에 따라 필요한 만큼 계속 확장합니다. 하지만 원하는 수가 이미 최소 용량 값 미만이기 때문에 축소 활동은 원하는 수를 조정하지 않습니다.

  • 원하는 서비스 수가 최대 용량 값 이상으로 설정되어 있고 경보가 축소 활동을 트리거하는 경우 서비스 자동 크기 조정은 원하는 수를 최대 용량 값까지 확장한 다음 경보에 연결된 조정 정책에 따라 필요한 만큼 계속 축소합니다. 하지만 원하는 수가 이미 최대 용량 값을 초과하므로 확장 활동은 원하는 수를 조절하지 않습니다.

  • 조정 활동 중에 서비스 오토 스케일링이 시작점으로 사용하는 값은 원하는 수가 아니라 서비스에서 실제 실행 중인 태스크 수입니다. 이것이 처리 용량입니다. 이로써, 가령 추가 태스크를 배치하기에 충분한 컨테이너 인스턴스 리소스가 없는 경우 등 충족될 수 없는 과도한(불필요한) 조정을 방지합니다. 나중에 컨테이너 인스턴스 용량을 사용할 수 있는 경우 대기 중인 조정 활동이 승계되며 휴지 기간 후에 추가 조정 활동이 계속될 수 있습니다.

  • 수행할 작업이 없을 때 태스크 수를 0으로 조정하려면 최소 용량을 0으로 설정합니다. 대상 추적 조정 정책을 사용하는 경우 실제 용량이 0이고 지표에 워크로드 요구량이 있다고 나타나면 서비스 자동 크기 조정이 확장하기 전에 하나의 데이터 포인트가 전송될 때까지 기다립니다. 이 경우 시작 지점으로 가능한 최소량만큼 확장한 다음 실제 실행 중인 작업 수를 기준으로 조정을 재개합니다.

  • Application Auto Scaling은 Amazon ECS 배포가 진행 중인 동안 축소 프로세스를 비활성화합니다. 그러나 배포 중에 일시 중단되지 않는 한 확장 프로세스는 계속 발생합니다. 자세한 정보는 서비스 자동 크기 조정 및 배포 섹션을 참조하세요.

Amazon ECS 콘솔 환경

서비스 자동 크기 조정은 기본적으로 해제되어 있습니다. Amazon ECS AWS Management Console에서 서비스의 자동 크기 조정(Auto Scaling) 탭으로 조정 정책을 구성하여 이 기능을 설정할 수 있습니다.

콘솔에서 하는 조정 정책 작업에 대한 단계별 지침은 Amazon ECS 서비스 생성서비스 업데이트하기 섹션을 참조하세요. 대상 추적 연습에 대해서는 대상 추적 조정 정책 섹션을 참조하세요.

Amazon ECS 콘솔에서 서비스에 대한 조정 정책을 구성하면 Application Auto Scaling에서 서비스가 확장 가능한 대상으로 자동 등록되고 조정 정책은 성공적으로 생성되자마자 자동으로 적용됩니다.

AWS CLI 및 SDK 경험

서비스 자동 크기 조정은 Amazon ECS, CloudWatch 및 Application Auto Scaling API의 조합을 통해 수행됩니다. 서비스는 Amazon ECS를 통해 생성 및 업데이트됩니다. CloudWatch는 경보를 생성합니다. 크기 조정 정책은 Application Auto Scaling을 통해 생성됩니다.

이러한 특정 API 작업에 대한 자세한 정보는 Amazon Elastic Container Service API 참조, Amazon CloudWatch API 참조Application Auto Scaling API 참조를 참조하세요. 이러한 서비스의 AWS CLI 명령에 대한 자세한 정보는 AWS CLI 명령 참조ecs, cloudwatchapplication-autoscaling 섹션을 참조하세요.

AWS CLI를 사용하여 Amazon ECS 서비스에 대해 조정 정책을 구성하려면

  1. register-scalable-target 명령을 사용하여 ECS 서비스를 확장 가능 대상으로 등록합니다.

  2. put-scaling-policy 명령을 사용하여 조정 정책을 생성합니다.

  3. [단계 조정] put-metric-alarm 명령을 사용하여 조정 정책을 트리거하는 경보를 생성합니다.

AWS CLI를 사용한 조정 정책 구성에 대한 자세한 정보는 Application Auto Scaling 사용 설명서를 참조하세요.