【发布时间】:2016-11-24 23:05:35
【问题描述】:
我想在 Auto-Scaling 组中启动一个新实例,以便新实例与该组中的其他实例 100% 相同。 换句话说,我想做 AWS 在触发扩展规则时所做的事情。
我需要调用什么 API 方法来实现这一点?
【问题讨论】:
标签: amazon-web-services amazon-ec2 aws-sdk
我想在 Auto-Scaling 组中启动一个新实例,以便新实例与该组中的其他实例 100% 相同。 换句话说,我想做 AWS 在触发扩展规则时所做的事情。
我需要调用什么 API 方法来实现这一点?
【问题讨论】:
标签: amazon-web-services amazon-ec2 aws-sdk
您可以使用 DescribeAutoScalingGroups API 和 SetDesiredCapacity API 实现此目的。
伪代码:
DesiredCapacity = CurrentDesiredCapacity + 1
SetDesiredCapacity 允许您更改 AutoScaling 组的“所需容量”。如果您将当前所需容量增加 1,AutoScaling 组将基于与您的 launch configuration 关联的 AMI 启动一个新实例。这就是扩展策略在您的最小/最大容量范围内所做的事情。
SetDesiredCapacity API 示例:(来自文档)
https://autoscaling.amazonaws.com/?Action=SetDesiredCapacity
&AutoScalingGroupName=my-asg
&HonorCooldown=false
&DesiredCapacity=2
&Version=2011-01-01
&AUTHPARAMS
set-desired-capacity CLI 示例:(来自文档)
aws autoscaling set-desired-capacity --auto-scaling-group-name my-auto-scaling-group --desired-capacity 2 --no-honor-cooldown
参考:
【讨论】: