muh*_*hqu 11 amazon-ec2 amazon-web-services autoscaling
我想知道如何使用该AutoScaling组的当前启动配置启动AutoScaling组中的所有实例的简单方法或最佳实践.
举一个例子,想象一个自动扩展组,调用www-asg
4个在ELB后面运行Web服务器的所需实例.我想更改用于启动此自动缩放组实例的AMI或用户数据.所以我创建了一个新的启动配置www-cfg-v2
和更新www-asg
以使用它.
# create new launch config
as-create-launch-config www-cfg-v2 \
--image-id 'ami-xxxxxxxx' --instance-type m1.small \
--group web,asg-www --user-data "..."
# update my asg to use new config
as-update-auto-scaling-group www-asg --launch-configuration www-cfg-v2
Run Code Online (Sandbox Code Playgroud)
到目前为止,所有4个正在运行的实例仍使用旧的启动配置 我想知道是否有一种简单的方法可以用新实例替换所有正在运行的实例来强制执行新配置,但始终确保最少的实例保持运行.
我目前的实现方式如下.
通过从列表中终止一个实例
as-terminate-instance-in-auto-scaling-group i-XXXX \
--no-decrement-desired-capacity --force
Run Code Online (Sandbox Code Playgroud)等待替换实例可用
通过列表终止最后一个实例
as-terminate-instance-in-auto-scaling-group i-XXXX \
--decrement-desired-capacity --force
Run Code Online (Sandbox Code Playgroud)完成后,所有实例现在应该使用相同的启动配置运行
我主要是自动执行此程序,但我觉得必须有一些更好的方法来实现相同的目标.谁知道更有效的方式?
马蒂亚斯
也在官方AWS EC2论坛上发布了这个问题.
这没有太大不同,但您可以:
我以这种方式进行部署,根据我的经验,可以从一个 ASG 滚动到另一个 ASG,而不必来回跳转。但正如我所指出的,这并不是一个巨大的差异。
可能值得一看: https: //github.com/Netflix/asgard,这是一个用于管理自动缩放组的 Netflix OSS 工具。我最终没有使用它,但它仍然非常有趣。
归档时间: |
|
查看次数: |
6311 次 |
最近记录: |