我正在使用ruby脚本来帮助管理AWS EC2上的AutoScaling。我已设法创建AMI
,创建LaunchConfigurations
,创建ScalingGroups
,并相互关联。
我正在尝试克隆扩展组,复制其启动配置,负载平衡器等及其扩展策略。
要复制其扩展策略,我有以下代码:
orig_scaling_group.scaling_policies.each do |policy|
props = Hash[%i(adjustment_type scaling_adjustment cooldown min_adjustment_step alarms).map { |s| [s, policy.send(s)] }.reject { |k, v| v.nil? }]
clone_scaling_group.scaling_policies[policy.name].put(props)
end
(scaling_groups是AWS::AutoScaling::Group
)的实例
这将覆盖原始的扩展策略,并从中提取数据,并将其设置为克隆扩展组中的新策略。
这样可以正常工作,但它不会将警报复制到新策略。无论如何,我无法找到可以通过编程方式为扩展策略分配警报的方法。
我该怎么做?
答案 0 :(得分:2)
无论如何,我无法找到我可以通过编程方式为扩展策略分配警报。
我将限制我对上述陈述的回应。
在AWS Core Ruby SDK put_metric_alarm-instance_method
API下,您可以使用alarm_actions
方法。从上面提到的文件:
请注意,以上信息与 AWS CORE SDK Ruby 相关,而不是旧的 AWS ruby SDK 。
对于AWS-CLI,可以使用put-metric-alarm --alarm-actions
选项找到类似的设置。
不确定这是否是您正在寻找的,但在这里我当然可以看到为Autoscaling策略分配警报的编程方式。
希望这有帮助。