스케일아웃을 위한 단계별 조정 정책을 생성하세요. - Amazon EC2 Auto Scaling

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

스케일아웃을 위한 단계별 조정 정책을 생성하세요.

Auto Scaling 그룹의 스케일 아웃을 위한 단계별 조정 정책을 생성하려면 다음 방법 중 하나를 사용하십시오.

Console
1단계: 지표 상한 임계값에 대한 CloudWatch 경보 생성
  1. https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

  2. 필요한 경우, 지역을 변경합니다. 탐색 모음에서 Auto Scaling 그룹이 상주하는 지역을 선택합니다.

  3. 탐색 창에서 경보(Alarms), 모든 경보(All alarms)를 선택한 다음 경보 생성(Create alarm)을 선택합니다.

  4. 지표 선택을 선택하세요.

  5. 모든 지표(All metrics) 탭에서 EC2, Auto Scaling 그룹 기준(By Auto Scaling Group)을 선택하고 검색 필드에 Auto Scaling 그룹 명칭을 입력합니다. 그런 다음 CPUUtilization을 선택하고 지표 선택(Select metric)을 선택합니다. 지표에 대한 그래프와 기타 정보가 표시된 지표 및 조건 지정(Specify metric and conditions) 페이지가 나타납니다.

  6. 기간(Period)에 예컨대, 1분과 같은 경보에 대한 평가 기간을 선택합니다. 경보를 평가할 때 각 기간이 하나의 데이터 포인트로 집계됩니다.

    참고

    기간이 짧을수록 경보가 더 민감해집니다.

  7. 조건(Conditions)에서 다음을 수행하십시오:

    • 임계값 유형(Threshold type)에서 정적(Static)을 선택합니다.

    • CPUUtilizationWhenever is의 경우 지표 값을 경보 위반 임계값보다 크거나 같게 할지 여부를 지정하십시오. 그런 다음 기준(than)에 경보를 위반하려는 임계값을 입력합니다.

      중요

      스케일 아웃 정책(지표 상한)과 함께 사용할 경보의 경우, 임계값보다 작은 항목이나 작거나 같은 항목을 선택하지 않았는지 확인합니다.

  8. 추가 구성(Additional configuration)에서 다음을 수행하십시오:

    • 경보에 대한 데이터 포인트(Datapoints to alarm)에서 지표 값이 경보에 대한 임계값 조건을 충족해야 하는 데이터 포인트(평가 기간)를 입력합니다. 예컨대, 5분의 시간이 두 차례 연속되면 경보 상태를 호출하기까지 10분이 걸립니다.

    • 누락 데이터 처리(Missing data treatment)에서 누락 데이터를 불량으로 처리(임계값 위반)(Treat missing data as bad (breaching threshold))를 선택합니다. 자세한 내용은 Amazon CloudWatch User Guide의 CloudWatch 경보가 누락된 데이터를 처리하는 방법 구성을 참조하십시오.

  9. 다음을 선택합니다.

    작업 구성 페이지가 표시됩니다.

  10. 알림(Notification)에서 경보가 ALARM 상태, OK 상태 또는 INSUFFICIENT_DATA 상태일 때 알릴 Amazon SNS 주제를 선택합니다.

    경보가 동일한 경보 상태 또는 다른 경보 상태에 대해 여러 개의 알림을 보내도록 설정하려면 알림 추가를 선택합니다.

    경보에서 알림을 보내지 않게 하려면 제거(Remove)를 선택합니다.

  11. 작업 구성(Configure actions) 페이지의 다른 섹션은 비워둘 수 있습니다. 다른 섹션을 비워 두면 조정 정책에 연결하지 않고도 경보가 생성됩니다. 그런 다음 Amazon EC2 Auto Scaling 콘솔에서 경보를 조정 정책에 연결할 수 있습니다.

  12. 다음을 선택합니다.

  13. 경보의 이름(예: Step-Scaling-AlarmHigh-AddCapacity)과 설명(옵션)을 입력하고 다음(Next)을 선택합니다.

  14. 경보 생성(Create alarm)을 선택하십시오.

다음 절차를 사용하여 CloudWatch 경보를 생성한 후 중단한 부분부터 계속하십시오.

2단계: 스케일 아웃을 위한 단계별 조정 정책 생성
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

  2. Auto Scaling 그룹 옆의 확인란을 선택합니다.

    페이지 하단에 분할 창이 열립니다.

  3. 스케일링 제한이 적절하게 설정되었는지 확인합니다. 예컨대, 그룹의 원하는 용량이 이미 최대치에 있는 경우, 스케일 아웃하려면 새로운 최대값을 지정해야 합니다. 자세한 설명은 Auto Scaling 그룹에 대한 스케일링 제한 설정 섹션을 참조하세요.

  4. 자동 크기 조정(Automatic scaling) 탭의 동적 크기 조정 정책(Dynamic scaling policies)에서 동적 크기 조정 정책 생성(Create dynamic scaling policy)을 선택합니다.

  5. 정책 유형에서 Step scaling을 선택한 다음 정책의 이름을 지정합니다.

  6. CloudWatch 경보의 경우 경보를 선택합니다. 아직 알람을 생성하지 않은 경우 알람 생성을 선택하고 이전 절차의 4단계부터 14단계까지 완료하여 알람을 생성합니다. CloudWatch

  7. 다음 작업을 수행(Take the action)을 사용하여 이 정책을 실행할 때 적용할 현재 그룹 크기 변경을 지정합니다. 특정 인스턴스 개수 또는 기존 그룹 크기의 백분율을 추가하거나 그룹을 정확한 크기로 설정할 수 있습니다.

    예를 들어 그룹 용량을 30% 늘리는 스케일 아웃 정책을 생성하려면 을 선택하고 다음 필드에 를 입력한 30 다음 선택하십시오Add. percent of group 기본적으로 이 단계별 조정의 하한값은 경보 임계값이고 상한값은 양(+)의 무한대입니다.

  8. 다른 단계를 추가하려면 단계 추가(Add step)를 선택한 다음 조정할 양과 경보 임계값에 상대적인 단계 하한 및 상한을 정의합니다.

  9. 조정할 최소 인스턴스 수를 설정하려면 최소 1 단위 용량의 증분으로 용량 단위 추가(Add capacity units in increments of at least 1 capacity units)의 숫자 필드를 업데이트합니다.

  10. (선택 사항) 인스턴스 웜업의 경우 필요에 따라 인스턴스 웜업 값을 업데이트합니다.

  11. 생성을 선택합니다.

AWS CLI

스케일 아웃 (용량 증가) 을 위한 단계별 조정 정책을 생성하려면 다음 예제 명령을 사용할 수 있습니다. user input placeholder를 사용자의 정보로 바꿉니다.

를 사용할 때는 먼저 지표 값이 증가할 때 규모를 축소하는 방법에 대한 지침을 Amazon EC2 Auto Scaling에 제공하는 단계별 조정 정책을 생성합니다. AWS CLI그런 다음 관찰할 지표를 식별하고, 측정치 상한 임계값 및 경보에 대한 기타 세부 정보를 정의하고, 경보를 조정 정책과 연결하여 경보를 생성합니다.

1단계: 스케일 아웃을 위한 정책 생성

다음 put-scaling-policy명령을 사용하여 다음 단계 조정 ( CloudWatch 경보 임계값을 60% 로 가정) 에 따라 그룹 용량을 늘리는 조정 유형을 PercentChangeInCapacity 포함하는 단계 조정 정책을 생성합니다. my-step-scale-out-policy

  • 지표 값이 60% 이상이고 75% 미만인 경우, 인스턴스 수를 10% 늘립니다.

  • 지표 값이 75% 이상이고 85% 미만인 경우, 인스턴스 수를 20% 늘립니다.

  • 지표 값이 85% 이상이면 인스턴스 수를 30% 증가시킵니다.

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

역할의 Amazon 리소스 이름(ARN)을 기록합니다. 정책에 대한 CloudWatch 경보를 만들려면 이 정보가 필요합니다.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy }
2단계: 지표 상한 임계값에 대한 CloudWatch 경보 생성

다음 CloudWatch put-metric-alarm명령을 사용하여 2분 이상의 연속 평가 기간 동안 평균 CPU 임계값 60% 를 기준으로 Auto Scaling 그룹의 크기를 늘리는 경보를 생성합니다. 사용자 지정 지표를 사용하려면 --metric-name에 지표 이름을 지정하고, --namespace에 네임스페이스를 지정합니다.

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 60 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN