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 개발자 가이드의 관련 문서를 참고하세요.