AWS:如何在自动缩放期间配置EC2实例

时间:2017-06-13 09:31:35

标签: amazon-web-services amazon-ec2

我目前正准备更多地利用AWS的功能,但在我的研究过程中仍然存在一些问题。我目前对AWS自动扩展与多个自动扩展组(每个服务一个)以及部署AWS代码部署感兴趣。

我想知道配置EC2实例的常见做法是什么,当AWS注意到我需要新的EC2实例时,该实例会被启动。我考虑过创建一个自定义AMI,其中安装了应用程序运行所需的所有内容。还有其他可能吗?在这种设置中,Ansible会如何发挥作用?另外,如果我需要更改实例,例如安装安全更新,那么通常的做法是在不对每个服务器实例进行sshing并手动执行的情况下这样做。

由于

3 个答案:

答案 0 :(得分:2)

配置使用Auto Scaling创建的Amazon EC2实例基本上有两种选择:

  • 完全配置的AMI
  • 配置实例的用户数据脚本

你也可以使用两者的组合 - 在AMI上配置大部分,然后通过用户数据进行最终配置。

Puppet,Chef和Ansible等工具也很受欢迎。它们通过用户数据脚本触发,然后运行Puppet / Chef / Ansible在实例上安装软件。

使用完全配置的AMI 的好处是实例可以更快地使用,这在您需要更多容量 fast 的自动扩展情况下非常方便。 缺点是您必须在软件更新时创建新的AMI。 Netflix使用Aminator自动完成此过程,在软件更新时自动构建新的AMI。

使用用户数据脚本的好处是配置完全灵活,您无需维护AMI库。

答案 1 :(得分:0)

尝试在自动缩放配置期间添加bootscript。

答案 2 :(得分:0)

首先,如果您正在寻找AWS基础设施的Provisioning Automation,那么请浏览AnsibleCloudFormationTerraform,选择权归您所有。

您可以使用其中安装的所有必需软件包,工具和安全配置来准备GoldenImage。之后,您可以为Launch Configuration创建Auto Scaling Group,在启动配置中,您还可以提供自定义startup scripts

Afterworld,如果任何ad-hoc任务或命令执行,ansible是最佳选择。