我目前正准备更多地利用AWS的功能,但在我的研究过程中仍然存在一些问题。我目前对AWS自动扩展与多个自动扩展组(每个服务一个)以及部署AWS代码部署感兴趣。
我想知道配置EC2实例的常见做法是什么,当AWS注意到我需要新的EC2实例时,该实例会被启动。我考虑过创建一个自定义AMI,其中安装了应用程序运行所需的所有内容。还有其他可能吗?在这种设置中,Ansible会如何发挥作用?另外,如果我需要更改实例,例如安装安全更新,那么通常的做法是在不对每个服务器实例进行sshing并手动执行的情况下这样做。
由于
答案 0 :(得分:2)
配置使用Auto Scaling创建的Amazon EC2实例基本上有两种选择:
你也可以使用两者的组合 - 在AMI上配置大部分,然后通过用户数据进行最终配置。
Puppet,Chef和Ansible等工具也很受欢迎。它们通过用户数据脚本触发,然后运行Puppet / Chef / Ansible在实例上安装软件。
使用完全配置的AMI 的好处是实例可以更快地使用,这在您需要更多容量 fast 的自动扩展情况下非常方便。 缺点是您必须在软件更新时创建新的AMI。 Netflix使用Aminator自动完成此过程,在软件更新时自动构建新的AMI。
使用用户数据脚本的好处是配置完全灵活,您无需维护AMI库。
答案 1 :(得分:0)
尝试在自动缩放配置期间添加bootscript。
答案 2 :(得分:0)
首先,如果您正在寻找AWS基础设施的Provisioning Automation
,那么请浏览Ansible
,CloudFormation
和Terraform
,选择权归您所有。
您可以使用其中安装的所有必需软件包,工具和安全配置来准备GoldenImage
。之后,您可以为Launch Configuration
创建Auto Scaling Group
,在启动配置中,您还可以提供自定义startup scripts
。
Afterworld,如果任何ad-hoc
任务或命令执行,ansible
是最佳选择。