Amazon ECS와 함께 예측 스케일링 사용자 지정 지표용 JSON 구성

Amazon ECS와 함께 예측 스케일링 사용자 지정 지표용 JSON 구성

이 섹션에서는 예측 스케일링(predictive scaling)이 CloudWatch에서 데이터를 조회하도록 구성하는 예시를 포함합니다. 이 글에서는 사용자 지정 로드 및 스케일링 지표로 예측 스케일링 정책을 만드는 방법을 알아봅니다.

출처: 문서

본문

이 섹션에는 예측 스케일링이 CloudWatch에서 데이터를 조회하도록 구성하는 예시가 있습니다. 이 옵션을 구성하는 방법은 두 가지가 있으며, 선택한 방법에 따라 예측 스케일링 정책의 JSON을 구성하는 형식이 달라집니다. 메트릭 수학(metric math)을 사용할 때는 수행되는 메트릭 수학에 따라 JSON 형식이 더 달라집니다.

AWS가 제공하는 다른 CloudWatch 지표 또는 사용자가 CloudWatch에 게시한 지표에서 직접 데이터를 가져오는 정책을 만들려면 AWS CLI를 사용한 사용자 지정 로드 및 스케일링 지표 예시 예측 스케일링 정책 문서를 참고하세요.

AWS CLI를 사용한 사용자 지정 로드 및 스케일링 지표 예시 예측 스케일링 정책 (Example predictive scaling policy with custom load and scaling metrics using the AWS CLI)

AWS CLI로 사용자 지정 로드 및 스케일링 지표가 있는 예측 스케일링 정책을 만들려면 --predictive-scaling-configuration의 인수를 config.json이라는 JSON 파일에 저장합니다.

다음 예시의 바꿀 수 있는(replaceable) 값을 자신의 지표와 대상 활용률 값으로 바꾸어 사용자 지정 지표를 추가하기 시작합니다.

{
  "MetricSpecifications": [
    {
      "TargetValue": 50,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "scaling_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyUtilizationMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Average"
            }
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyLoadMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Sum"
            }
          }
        ]
      }
    }
  ]
}

자세한 내용은 Amazon EC2 Auto Scaling API Reference의 MetricDataQuery 문서를 참고하세요.

참고: 다음은 CloudWatch 지표의 지표 이름, 네임스페이스, 차원, 통계를 찾는 데 도움이 되는 추가 리소스입니다:

  • AWS 서비스에 대해 사용 가능한 지표에 대한 정보는 Amazon CloudWatch 사용자 가이드의 CloudWatch 지표를 게시하는 AWS 서비스 문서를 참고하세요.
  • AWS CLI로 CloudWatch 지표의 정확한 지표 이름, 네임스페이스, 차원(해당하는 경우)을 얻으려면 list-metrics 문서를 참고하세요.

이 정책을 만들려면 다음 예시와 같이 JSON 파일을 입력으로 사용하여 put-scaling-policy 명령을 실행합니다.

aws application-autoscaling put-scaling-policy --policy-name my-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json

성공하면 이 명령은 정책의 Amazon 리소스 이름(ARN)을 반환합니다.

{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy",
  "Alarms": []
}

더 알아보기 (Learn more)

  • 예측 스케일링 구성에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.