我想修改/更新EC2实例的用户数据。它附加到自动缩放群集。
我了解在更新stopped
之前,实例必须为user-data
。我面临的问题是,当我停止实例更新user-data
时,autoscaler会自动重新启动新实例。
有没有办法在不从自动缩放组中删除EC2实例的情况下更新user-data
?
答案 0 :(得分:10)
对于自动缩放组中的实例,通常通过使用新用户数据创建新的launch configuration来更新用户数据。
您的AutoScaling组应已与启动配置相关联。从AWS Web控制台复制启动配置有一个简单的选项,可以复制所有现有选项。只需找到此启动配置,复制它,然后在保存新配置之前替换旧的用户数据。
创建新的启动配置后,将其应用于您的自动扩展组。您可以通过增加所需的组大小来立即开始使用它,以使用新配置启动新实例,然后在您对新实例(以及任何托管应用程序)运行满意后再detach the old instance。 / p>
您也可以使用此方法更改启动配置的任何属性,而不会导致应用程序中断。
更多资源:
答案 1 :(得分:0)
唯一可以实现此目的的方法是使用aws sdk使用编程调用暂时禁用自动缩放。 禁用自动缩放后,您可以重新启动服务器。
(节点API http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/AutoScaling.html#suspendProcesses-property)