예측적 조정 정책 평가 - Amazon EC2 Auto Scaling

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

예측적 조정 정책 평가

예측적 조정 정책을 사용하여 Auto Scaling 그룹을 조정하기 전에 Amazon EC2 Auto Scaling 콘솔에서 정책에 대한 권장 사항과 기타 데이터를 검토합니다. 이는 예측의 정확성이 확인될 때까지 예측적 조정 정책이 실제 용량을 조정하는 것을 원하지 않기 때문에 중요합니다.

Auto Scaling 그룹이 신규인 경우, Amazon EC2 Auto Scaling에 24시간을 주어 첫 번째 예측을 생성합니다.

Amazon EC2 Auto Scaling은 예측을 생성할 때 기록 데이터를 사용합니다. Auto Scaling 그룹에 아직 최근 기록 데이터가 많지 않은 경우, Amazon EC2 Auto Scaling은 현재 사용 가능한 기록 집계에서 생성된 집계로 예측을 일시적으로 채울 수 있습니다. 정책 생성 날짜 전 최대 2주 동안 예측이 채워집니다.

예측적 조정 권장 사항 보기

효과적인 분석을 위해 Amazon EC2 Auto Scaling에 비교할 예측적 조정 정책이 2개 이상 있어야 합니다. (그러나 여전히 단일 정책에 대한 결과를 검토할 수 있습니다.) 여러 정책을 생성할 때 한 지표를 사용하는 정책을 다른 지표를 사용하는 정책과 비교하여 평가할 수 있습니다. 또한 다양한 대상 값과 지표 조합의 영향을 평가할 수 있습니다. 예측적 조정 정책이 생성된 후 Amazon EC2 Auto Scaling은 어느 정책이 그룹 조정 작업을 더 잘 수행할지 평가하기 시작합니다.

Amazon EC2 Auto Scaling 콘솔에서 권장 사항 보기
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

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

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

  3. Auto scaling 탭의 예측적 조정 정책에서 권장 사항과 함께 정책에 대한 세부 정보를 볼 수 있습니다. 권장 사항은 예측적 조정 정책이 사용하지 않는 것보다 더 나은 작업을 수행하는지 여부를 알려줍니다.

    예측적 조정 정책이 그룹에 적합한지 확실하지 않은 경우, 가용성에 미치는 영향 열과 비용에 미치는 영향 열을 검토하여 적합한 정책을 선택합니다. 각 열에 대한 정보는 정책의 영향을 알려줍니다.

    • 가용성에 미치는 영향: 정책을 사용하지 않을 때와 비교하여 정책을 통해 워크로드를 처리하기에 충분한 인스턴스를 프로비저닝함으로써 가용성에 미치는 부정적인 영향을 방지할 수 있는지 여부를 설명합니다.

    • 비용에 미치는 영향: 정책을 사용하지 않을 때와 비교하여 정책을 통해 인스턴스를 과다 프로비저닝하지 않음으로써 비용에 미치는 부정적인 영향을 방지할 수 있는지 여부를 설명합니다. 과다 프로비저닝하면 인스턴스가 충분히 사용되지 않거나 유휴 상태가 되어 비용에 미치는 영향만 가중됩니다.

    정책이 여러 개인 경우, 더 낮은 비용으로 가장 많은 가용성 이점을 제공하는 정책 이름 옆에 최상의 예측 태그가 표시됩니다. 가용성 영향에 더 많은 가중치가 부여됩니다.

  4. (옵션) 권장 사항 결과에 대해 원하는 기간을 선택하려면 평가 기간 드롭다운에서 원하는 값(2일, 1주, 2주, 4주, 6주 또는 8주)을 선택합니다. 기본적으로 평가 기간은 지난 2주입니다. 평가 기간이 길수록 권장 사항 결과에 더 많은 데이터 포인트가 제공됩니다. 그러나 로드 패턴이 변경된 경우(예: 예외적인 수요 기간 이후) 데이터 포인트를 더 추가해도 결과가 개선되지 않을 수 있습니다. 이 경우, 보다 최근 데이터를 살펴봄으로써 보다 집중적인 권장 사항을 얻을 수 있습니다.

참고

예상 전용 모드에 있는 정책에 대한 권장 사항만 생성됩니다. 권장 사항 기능은 평가 기간 내내 정책이 예상 전용 모드일 때 더 잘 작동합니다. 예상 및 조정 모드에서 정책을 시작하고 나중에 예상 전용 모드로 전환하면 해당 정책에 대한 결과가 편향될 가능성이 높습니다. 이는 정책이 이미 실제 용량에 기여했기 때문입니다.

예측적 조정 모니터링 그래프 검토

Amazon EC2 Auto Scaling 콘솔에서 이전 날, 주 또는 달의 예측을 검토하여 시간이 지남에 따라 정책이 얼마나 잘 수행되는지 시각화할 수 있습니다. 정책을 통해 실제 용량을 조정할지 여부를 결정할 때 이 정보를 사용하여 예측의 정확성을 평가할 수도 있습니다.

Amazon EC2 Auto Scaling 콘솔에서 예측적 조정 모니터링 그래프 보기
  1. 예측 크기 조정 정책 목록에서 정책을 선택합니다.

  2. 모니터링 섹션에서 로드 및 용량 정책에 대한 과거 및 미래 예측을 실제 값과 비교하여 볼 수 있습니다. 로드 그래프는 선택한 로드 지표에 대한 로드 예측 및 실제 값을 보여줍니다. 용량 그래프에는 정책에서 예측한 인스턴스 수가 표시됩니다. 또한 시작된 실제 인스턴스 수도 포함됩니다. 수직선은 과거 값과 미래 예측을 구분합니다. 정책이 생성되면 바로 이 그래프를 사용할 수 있습니다.

  3. (옵션) 차트에 표시된 기록 데이터 양을 변경하려면 페이지 상단의 평가 기간 드롭다운에서 원하는 값을 선택합니다. 평가 기간은 어떤 식으로든 이 페이지의 데이터를 변환하지 않으며, 표시되는 기록 데이터의 양만 변경합니다.

다음 이미지는 예측이 여러 번 적용된 경우의 로드용량 그래프를 보여줍니다. 예측적 조정은 기록 로드 데이터에 근거하여 로드를 예측합니다. 애플리케이션에서 생성하는 로드는 Auto Scaling 그룹의 각 인스턴스에 대한 CPU 사용률, 네트워크 입/출력, 수신된 요청 또는 맞춤 지표의 합계로 표시됩니다. 예측적 조정은 로드 예측과 조정 지표에 대해 달성하려는 목표 사용률에 근거하여 향후 용량 요건을 계산합니다.


                    예측적 조정 그래프
로드 그래프의 데이터 비교

각 수평선은 1시간 간격으로 보고되는 서로 다른 데이터 포인트 세트를 나타냅니다.

  1. 실제 관찰된 로드는 선택한 로드 지표에 대한 SUM 통계를 사용하여 과거의 총 시간별 로드를 보여줍니다.

  2. 정책에 의해 예측되는 로드는 시간별 로드 예측을 보여줍니다. 이 예측은 지난 2주간의 실제 로드 관찰에 근거하여 합니다.

용량 그래프의 데이터 비교

각 수평선은 1시간 간격으로 보고되는 서로 다른 데이터 포인트 세트를 나타냅니다.

  1. 실제 관찰된 용량은 선택한 기간 동안 적용된 다른 조정 정책과 최소 그룹 크기에 따라 달라지는 과거 Auto Scaling 그룹의 실제 용량을 보여줍니다.

  2. 정책에서 예측한 용량은 정책이 예상 및 조정 모드일 때 매 시간 시작 시 예상할 수 있는 기본 용량을 보여줍니다.

  3. 추론된 필수 용량은 선택한 대상 값에서 조정 지표를 유지하는 데 이상적인 용량을 보여줍니다.

  4. 최소 용량은 Auto Scaling 그룹의 최소 용량을 보여줍니다.

  5. 최대 용량은 Auto Scaling 그룹의 최대 용량을 보여줍니다.

추론된 필수 용량을 계산하기 위해 먼저 각 인스턴스가 지정된 대상 값에서 균등하게 사용된다고 가정합니다. 실제로 인스턴스는 균등하게 사용되지 않습니다. 그러나 사용률이 인스턴스 간에 균일하게 분산되어 있다고 가정하면 필요한 용량의 양을 예측할 수 있습니다. 그런 다음 용량 요건은 예측적 조정 정책에 사용한 조정 지표에 반비례하도록 계산됩니다. 즉, 용량이 증가함에 따라 동일한 백분율로 조정 지표가 감소합니다. 예컨대, 용량이 두 배로 증가하면 조정 지표는 절반으로 감소해야 합니다.

추론된 필수 용량에 대한 공식:

sum of (actualCapacityUnits*scalingMetricValue)/(targetUtilization)

예컨대, 지정된 시간에 대한 actualCapacityUnits(10) 및 scalingMetricValue(30)를 가져옵니다. 그런 다음 예측적 조정 정책(60)에 지정한 targetUtilization을 가져오고 같은 시간에 대해 추론된 필수 용량을 계산합니다. 이 예는 값 5를 반환합니다. 즉, 조정 지표의 대상 값에 반비례하여 용량을 유지하는 데 필요한 추론 용량은 5입니다.

참고

애플리케이션의 비용 절감 및 가용성을 조정하고 개선하기 위해 다양한 레버를 사용할 수 있습니다.

  • 기준 용량과 동적 조정에 예측적 조정을 사용하여 추가 용량을 처리합니다. 동적 조정은 예측적 조정과 독립적으로 작동하며 현재 사용률에 따라 스케일 아웃되고 축소됩니다. 먼저 Amazon EC2 Auto Scaling은 각 동적 조정 정책에 권장되는 인스턴스 수를 계산합니다. 그런 다음 가장 많은 수의 인스턴스를 제공하는 정책에 따라 조정됩니다.

  • 로드가 감소할 때 스케일인이 수행되도록 하려면 Auto Scaling 그룹에 스케일 인 부분이 활성화된 동적 조정 정책이 항상 하나 이상 있어야 합니다.

  • 최소 및 최대 용량이 너무 제한적이지 않은지 확인하여 조정 성능을 개선할 수 있습니다. 권장 인스턴스 수가 최소 및 최대 용량 범위에 속하지 않는 정책은 스케일 인 및 스케일 아웃되지 않습니다.

다음을 사용하여 예측 규모 조정 메트릭을 모니터링할 수 있습니다. CloudWatch

필요에 따라 Amazon EC2 Auto Scaling 콘솔 CloudWatch 대신 Amazon에서 예측 조정을 위한 모니터링 데이터에 액세스하는 것을 선호할 수도 있습니다. 예측 조정 정책을 생성하고 나면, 해당 정책이 미래의 로드와 용량을 예측하는 데 사용되는 데이터를 수집합니다. 이 데이터가 수집되면 정기적으로 자동 저장됩니다 CloudWatch . 그런 다음 시간 경과에 따른 정책 성과를 시각화하는 CloudWatch 데 사용할 수 있습니다. 성과 지표가 에서 정의한 한도를 초과하여 변경될 경우 알려주는 CloudWatch 경보를 생성할 수도 있습니다. CloudWatch

기록 예측 데이터 시각화

에서 예측 규모 조정 정책에 대한 부하 및 용량 예측 데이터를 볼 수 있습니다. CloudWatch 이는 다른 CloudWatch 지표에 대한 예측을 단일 그래프로 시각화할 때 유용할 수 있습니다. 또한 시간 경과에 따른 추세를 볼 수 있도록 넓은 시간 범위를 표시할 때 도움이 될 수 있습니다. 최대 15개월의 기록 지표에 액세스하여, 정책의 성능을 전반적으로 더 잘 파악할 수 있습니다.

자세한 정보는 예측 조정 지표 및 차원을 참조하세요.

콘솔을 사용하여 과거 예측 데이터를 보려면 CloudWatch
  1. https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 지표(Metrics)를 선택한 다음 모든 지표(All metrics)를 선택합니다.

  3. Auto Scaling 그룹(Auto Scaling) 지표 네임스페이스를 선택합니다.

  4. 다음 옵션 중 하나를 선택하여 로드 예측 또는 용량 예측 지표를 봅니다.

    • 예측 조정 로드 예측

    • 예측 조정 용량 예측

  5. 검색 필드에 예측 스케일링 정책의 이름 또는 Auto Scaling 그룹의 이름을 입력한 다음 Enter 키를 눌러 결과를 필터링합니다.

  6. 측정치를 그래프로 표시하려면 측정치 옆에 있는 확인란을 선택합니다. 그래프 이름을 변경하려면 연필 아이콘을 선택합니다. 시간 범위를 변경하려면 제공되는 값 중 하나를 선택하거나 맞춤을 선택합니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 그래프 작성을 참조하십시오.

  7. 기간을 변경하려면 그래프로 표시된 지표 탭을 선택합니다. 열 머리글이나 개별 값을 선택한 후 다른 통계를 선택합니다. 각 지표에 대해 원하는 통계를 선택할 수 있지만 모든 통계가 지표에 PredictiveScalingLoadForecast유용하지는 않습니다. PredictiveScalingCapacityForecast 예컨대, Average, MinimumMaximum 통계는 유용하지만 Sum 통계는 유용하지 않습니다.

  8. 그래프에 다른 지표를 추가하려면 찾아보기(Browse)에서 모두(All)를 선택하고 특정 지표를 찾은 다음 해당 지표 옆에 있는 확인란을 선택합니다. 최대 10개의 지표를 추가할 수 있습니다.

    예컨대, 실제 CPU 사용률 값을 그래프에 추가하려면 EC2 네임스페이스를 선택한 다음 By Auto Scaling Group(Auto Scaling 그룹별)을 선택합니다. 그런 다음 CPUUtilization 지표의 확인란을 선택하고 특정 Auto Scaling 그룹을 선택합니다.

  9. (선택 사항) 그래프를 CloudWatch 대시보드에 추가하려면 작업, 대시보드에 추가를 선택합니다.

지표 수식을 사용하여 정확도 지표 생성

지표 수학을 사용하면 여러 CloudWatch 지표를 쿼리하고 수학 식을 사용하여 이러한 지표를 기반으로 새 시계열을 만들 수 있습니다. 결과 시계열을 CloudWatch 콘솔에서 시각화하고 대시보드에 추가할 수 있습니다. 지표 수학에 대한 자세한 내용은 Amazon 사용 CloudWatch 설명서의 지표 수학 사용을 참조하십시오.

지표 수식을 사용하면 Amazon EC2 Auto Scaling이 예측 조정을 위해 생성하는 데이터를 다양한 방식으로 그래프로 표시할 수 있습니다. 이는 시간 경과에 따른 정책 성능을 모니터링하고 지표 조합을 개선할 수 있는지 여부를 파악하는 데 도움이 됩니다.

예컨대, 지표 수학 표현식을 사용하여 평균 절대 백분율 오차(MAPE)를 모니터링할 수 있습니다. MAPE 지표는 예측된 값과 지정된 예측 기간 동안 관찰된 실제 값의 차이를 모니터링하는 데 유용합니다. MAPE 값의 변화는 시간 경과에 따라 애플리케이션의 특성이 변경되면서 정책의 성능이 저하되는지 여부를 나타낼 수 있습니다. MAPE가 증가하면 예측된 값과 실제 값의 차이가 더 커진다는 것을 나타냅니다.

예: 지표 수학 표현식

이 타입의 그래프로 시작하려면, 다음 예에 표시된 것과 같은 지표 수학 표현식을 생성하면 됩니다.

{ "MetricDataQueries": [ { "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))", "Id": "e1", "Period": 3600, "Label": "MeanAbsolutePercentageError", "ReturnData": true }, { "Id": "m1", "Label": "ActualLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Period": 3600, "Stat": "Sum" }, "ReturnData": false }, { "Id": "m2", "Label": "ForecastedLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/AutoScaling", "MetricName": "PredictiveScalingLoadForecast", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" }, { "Name": "PolicyName", "Value": "my-predictive-scaling-policy" }, { "Name": "PairIndex", "Value": "0" } ] }, "Period": 3600, "Stat": "Average" }, "ReturnData": false } ] }

단일 지표 대신, MetricDataQueries의 지표 데이터 쿼리 구조의 배열을 사용할 수 있습니다. MetricDataQueries의 각 항목은 지표를 가져오거나 수학 표현식을 수행합니다. 첫 번째 항목 e1은 수학 표현식입니다. 이 지정된 표현식은 ReturnData 파라미터를 true로 설정합니다. 이는 궁극적으로 단일 시계열을 생성합니다. 다른 모든 지표의 경우, ReturnData 값은 false입니다.

예제에서 지정된 표현식은 실제 및 예측 값을 입력으로 사용하고 새 지표 (MAPE) 를 반환합니다. m1는 실제 로드 값을 포함하는 CloudWatch 지표입니다 (CPU 사용률이 이름이 지정된 정책에 대해 원래 지정된 부하 지표라고 가정). my-predictive-scaling-policy m2예측된 CloudWatch 부하 값을 포함하는 지표입니다. MAPE 지표의 수식 구문은 다음과 같습니다.

(abs ((실제 - 예측)/(실제)))의 평균

정확도 지표 시각화 및 경보 설정

정확도 지표 데이터를 시각화하려면 콘솔에서 Metrics 탭을 선택합니다. CloudWatch 여기에서 데이터를 그래프로 표시할 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch 그래프에 수학 식 추가를 참조하십시오.

지표(Metrics) 섹션에서 모니터링하는 지표에 대해 경보를 설정할 수도 있습니다. 그래프로 표시된 지표(Graphed metrics) 탭에서 작업(Actions) 열 아래에 있는 경보 생성(Create alarm) 아이콘을 선택합니다. 이 경보 생성(Create alarm) 아이콘은 작은 종 모양으로 표시됩니다. 자세한 내용 및 알림 옵션은 Amazon CloudWatch User Guide의 지표 수학 식을 기반으로 CloudWatch 경보 생성 및 경보 변경 시 사용자에게 알리기를 참조하십시오.

또는 GetMetricDataPutMetricAlarm를 사용하여 지표 수학을 사용하여 계산을 수행하고 출력을 기반으로 경보를 생성할 수 있습니다.