我有amazon ec2实例,我用Ansible配置它并且工作正常。
现在我想将其作为自动缩放组的一部分,以便我可以根据需要进行缩放。
但我的问题是我没有任何设置实例的启动配置。我做了Ansible的所有事情。
如何配置自动缩放,在创建新实例后,它将由ansible配置。
答案 0 :(得分:7)
根据我的经验,你可以采取两种方法。
从已由ansible完全配置的实例创建AMI。然后在启动配置中使用此AMI。
另一种选择是使用库存AMI,并使用cloud-init为autscaling组启动的每个新主机提供ansible配置。
与我认为的第一种方法相比,第二种方法缺乏许多方面。当ansible需要每次运行时,可能需要更长时间才能扩展。您还可以在配置期间冒一些问题,防止实例加入组,从而导致进一步的延迟。您还存在实例之间存在漂移的风险(取决于您具有安全性的内容以及Autoscaling事件之间是否存在任何外部更改)。
如果您决定为ASG创建完全配置的AMI,则可以从已创建的实例手动执行此操作。但是,如果您希望定期重建图像,可能需要查看packer之类的工具,以帮助您以自动方式创建图像。
答案 1 :(得分:0)
您可以尝试使用ansible-pull从VCS存储库中提取剧本并为本地主机执行它们
参考: https://rbgeek.wordpress.com/2016/05/15/autoscaling-with-aws-instances-using-ansible-pull/
答案 2 :(得分:0)
这是我自己的脚本,工作正常。
https://github.com/kernelv5/AWS_Automation/tree/master/AutoScaling/AutoScalingAMIUpdate