Amazon ECS로 예측 규모 조정 사용자 지정 지표를 위한 JSON 구성 - Amazon Elastic Container Service

Amazon ECS로 예측 규모 조정 사용자 지정 지표를 위한 JSON 구성

다음 섹션에는 CloudWatch에서 데이터를 쿼리하도록 예측 조정을 구성하는 방법에 대한 예가 나와 있습니다. 이 옵션을 구성하는 방법에는 두 가지가 있으며 선택하는 방법에 따라 예측 조정 정책에 사용할 JSON을 구성하는 데 사용하는 형식이 달라집니다. 지표 수학을 사용하는 경우, JSON의 형식은 수행되는 지표 수학에 따라 더 달라집니다.

  1. AWS에서 제공하는 다른 CloudWatch 지표 또는 CloudWatch에 게시하는 지표에서 직접 데이터를 가져오는 정책을 생성하려면 AWS CLI를 사용하는 사용자 지정 로드 및 규모 조정 지표가 있는 예측 규모 조정 정책 예제을 참조하세요.

AWS CLI를 사용하는 사용자 지정 로드 및 규모 조정 지표가 있는 예측 규모 조정 정책 예제

AWS CLI를 사용하여 사용자 지정 로드 및 조정 지표로 예측 조정 정책을 생성하려면 config.json이라는 JSON 파일에 --predictive-scaling-configuration에 대한 인수를 저장합니다.

다음 예에서 교체 가능한 값을 지표 및 목표 사용률의 값으로 교체하여 사용자 지정 지표를 추가하기 시작합니다.

{ "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 참조의 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": [] }