【发布时间】:2016-10-21 03:11:44
【问题描述】:
我有亚马逊 ec2 实例,我使用 Ansible 配置它并且工作正常。
现在我想把它作为自动缩放组的一部分,以便我可以随意缩放它们。
但我的问题是我没有任何设置实例的启动配置。我用 Ansible 做所有事情。
如何配置自动缩放,在创建新实例后由 ansible 配置。
【问题讨论】:
标签: amazon-web-services amazon-ec2 ansible autoscaling
我有亚马逊 ec2 实例,我使用 Ansible 配置它并且工作正常。
现在我想把它作为自动缩放组的一部分,以便我可以随意缩放它们。
但我的问题是我没有任何设置实例的启动配置。我用 Ansible 做所有事情。
如何配置自动缩放,在创建新实例后由 ansible 配置。
【问题讨论】:
标签: amazon-web-services amazon-ec2 ansible autoscaling
根据我的经验,您可以在这里采取两种方法。
从已由 ansible 完全配置的实例创建 AMI。然后在您的启动配置中使用此 AMI。
另一种选择是使用库存 AMI,并对自动缩放组使用 cloud-init 启动的每个新主机进行 ansible 配置。
在我看来,与第一种方法相比,第二种方法在很多方面都缺乏。当 ansible 每次都需要运行时,扩展可能需要更长的时间。您还可能会在配置过程中出现问题,从而阻止实例加入组,从而导致进一步的延迟。您还冒着实例之间存在偏差的风险(取决于您正在执行的操作以及 Autoscaling 事件之间是否有任何外部变化)。
如果您决定为您的 ASG 创建一个完全预置的 AMI,您可以从您已经创建的实例手动执行此操作。但是,如果您希望定期重建映像,则可能需要查看 packer 之类的工具来帮助您以自动化方式创建映像。
【讨论】:
这是我自己的脚本并且工作正常。
https://github.com/kernelv5/AWS_Automation/tree/master/AutoScaling/AutoScalingAMIUpdate
【讨论】: