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

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

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

Auto Scaling 그룹의 스케일 아웃에 대한 단계 조정 정책을 생성하려면 다음 방법 중 하나를 사용합니다.

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

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

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

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

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

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

    참고

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

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

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

    • CPUUtilization이 다음과 같은 경우 항상에서 지표 값이 임곗값보다 클 때 또는 크거나 같을 때 중 경보를 트리거할 조건을 지정합니다. 그런 다음 기준(than)에 경보를 위반하려는 임계값을 입력합니다.

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

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

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

  9. Next(다음)를 선택합니다.

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

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

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

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

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

  12. Next(다음)를 선택합니다.

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

  14. 경보 생성을 선택하세요.

다음 절차에 따라 CloudWatch 경보를 생성한 후 중단한 위치를 계속 진행합니다.

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

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

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

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

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

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

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

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

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

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

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

  10. (옵션) 인스턴스 워밍업에서 인스턴스 워밍업 값을 필요에 따라 업데이트합니다.

  11. 생성(Create)을 선택합니다.

AWS CLI

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

를 사용하는 경우 AWS CLI먼저 지표 값이 증가할 때 스케일 아웃하는 방법에 대한 지침을 Amazon EC2 Auto Scaling에 제공하는 단계 조정 정책을 생성합니다. 그런 다음 조사하려는 지표를 식별하여 경보를 생성하고 지표 상한 임곗값과 경보에 대한 기타 세부 정보를 정의한 다음, 해당 경보를 조정 정책과 연결합니다.

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