如何使用ansible和已存在的ec2进行自动缩放

时间:2016-06-19 23:10:17

标签: amazon-web-services amazon-ec2 ansible autoscaling

我有amazon ec2实例,我用Ansible配置它并且工作正常。

现在我想将其作为自动缩放组的一部分,以便我可以根据需要进行缩放。

但我的问题是我没有任何设置实例的启动配置。我做了Ansible的所有事情。

如何配置自动缩放,在创建新实例后,它将由ansible配置。

3 个答案:

答案 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