0

我正在使用 ruby​​ 脚本来帮助管理 AWS EC2 上的 AutoScaling。我已经成功地创建了AMIs、create LaunchConfigurations、createScalingGroups和相互关联。

我正在尝试克隆扩展组,复制其启动配置、负载均衡器等及其扩展策略。

要复制其扩展策略,我有以下代码:

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

这会遍历原始的扩展策略,并从中提取数据,并将其设置为克隆扩展组中的新策略。

这工作正常,只是它不会将警报复制到新策略。无论如何,我都找不到可以以编程方式将警报分配给扩展策略的方法。

我该怎么做?

4

1 回答 1

2

无论如何,我都找不到可以以编程方式将警报分配给扩展策略的方法。

我将限制我对上述声明的回应。

AWS Core Ruby SDKput_metric_alarm-instance_method的API下,您可以使用alarm_actions方法。从上面提到的文档:

在此处输入图像描述

请注意,以上信息与AWS CORE SDK Ruby相关,而不是旧版AWS ruby​​ SDK

同样对于 AWS-CLI,可以使用put-metric-alarm--alarm-actions选项找到类似的设置。

不确定这是否是您正在寻找的,但在这里我当然可以看到一种将警报分配给自动缩放策略的编程方式。

希望这可以帮助。

于 2014-02-26T12:04:19.283 回答