내용으로 건너뛰기

Elastic Beanstalk에서 스케일링 트리거 관련 문제를 해결하려면 어떻게 해야 하나요?

2분 분량
0

AWS Elastic Beanstalk 환경이 예상대로 스케일링되지 않습니다.

해결 방법

사전 요구 사항:

  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 AWS 리전에서 스케일링할 수 있는 충분한 용량을 갖추고 있습니다. 이 용량은 AWS Auto Scaling 그룹 구성에서 정의하는 최대 인스턴스 수를 기준으로 합니다.
  • 애플리케이션 설치 및 구성 요구 사항에 따라 휴지 기간이 정해집니다.
  • 기본 Amazon CloudWatch 지표 또는 Locust를 사용하여 부하 테스트를 수행하고 스케일링을 시작하는 데 가장 적합한 지표를 식별합니다.

스케일링 트리거를 구성하려면 Elastic Beanstalk 콘솔이나 옵션 설정을 사용하십시오.

Elastic Beanstalk 콘솔에서 스케일링 트리거 구성

  1. Elastic Beanstalk 콘솔을 연 후 내 환경을 선택합니다.
  2. 사용자 환경의 탐색 창에서 구성을 선택합니다.
  3. 인스턴스 트래픽 및 스케일링에서 편집을 선택합니다.
  4. 용량의 스케일링 트리거에서 트리거 옵션을 선택한 다음 적용을 선택합니다.

참고: Elastic Beanstalk는 aws:autoscaling:trigger 네임스페이스의 오토 스케일링 설정에 구성 옵션을 제공합니다. 설정이 적용되는 리소스는 해당 리소스에 대한 이 네임스페이스의 설정을 구성합니다.

옵션 설정으로 스케일링 트리거 구성

옵션 설정에서 .ebextensions를 사용해 스케일링 구성을 수정하십시오. 스케일링 트리거를 구성하는 구성 파일에 액세스하려면 GitHub 웹 사이트의 autoscaling-triggers-customize.config를 참고하십시오.

다음은 CPU 사용률을 기반으로 스케일링 트리거를 수정한 예제 구성 파일입니다. 인스턴스의 CPU 사용률이 3회 연속 2분 동안 80%를 초과하는 경우 Auto Scaling이 Auto Scaling 그룹에 하나의 인스턴스를 추가합니다. 같은 기간 동안 인스턴스의 CPU 사용률이 20% 미만인 경우 Auto Scaling이 Auto Scaling 그룹에서 인스턴스 하나를 제거합니다.

option_settings:
  aws:autoscaling:trigger:
    MeasureName: CPUUtilization
    Statistic: Average
    Unit: Percent
    Period: '2'
    EvaluationPeriods: '3'
    UpperThreshold: '80'
    UpperBreachScaleIncrement: '1'
    LowerThreshold: '20'
    LowerBreachScaleIncrement: '-1'

다음 예제에서는 애플리케이션 zip 파일의 .ebextensions 디렉터리 및 autoscaling-triggers-customize.config 파일의 구조를 보여 줍니다.

~/my-app/
|-- .ebextensions/
|   |-- autoscaling-triggers-customize.config
|   `-- other.config
|-- other application files

관련 정보

Elastic Beanstalk 환경의 Auto Scaling 트리거

AWS 공식업데이트됨 일 년 전