使用 Amazon ECS 为预测式扩缩自定义指标构建 JSON
以下部分包含了有关如何配置预测行扩缩以从 CloudWatch 查询数据的示例。配置此选项有两种不同的方法,您选择的方法会影响您为预测性扩缩策略构造 JSON 时使用的格式。使用指标数学时,JSON 格式会根据所执行的指标数学进一步变化。
-
要创建直接从 Amazon 提供的其他 CloudWatch 指标或您发布到 CloudWatch 的指标中获取数据的策略,请参阅 包含自定义负载和扩缩指标的预测式扩缩策略示例(使用 Amazon CLI)。
包含自定义负载和扩缩指标的预测式扩缩策略示例(使用 Amazon CLI)
要通过 Amazon CLI 使用自定义负载和扩缩指标创建预测性扩缩策略,请将 --predictive-scaling-configuration
的参数存储在名为 config.json
的 JSON 文件中。
您可以将以下示例中的可替换值替换为您的指标和目标利用率值,从而开始添加自定义指标。
{ "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 指标的指标名称、命名空间、维度和统计数据的其他资源:
-
有关 Amazon 服务可用指标的更多信息,请参阅 Amazon CloudWatch 用户指南中的发布 CloudWatch 指标的 Amazon 服务。
-
要获取带有 Amazon CLI 的 CloudWatch 指标的确切指标名称、命名空间和维度(如果适用),请参阅列出指标。
要创建此策略,请运行 put-scaling-policy 命令并将此 JSON 文件作为输入,如下例所示。
aws application-autoscaling put-scaling-policy --policy-name
my-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
如果成功,此命令将返回策略的 Amazon Resource Name (ARN)。
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy",
"Alarms": []
}