引导AWS自动缩放实例

时间:2014-08-28 12:38:32

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

我们正在客户讨论如何引导自动规模的AWS实例。从本质上讲,一个实例几乎没有任何内容。它有一个通用的启动脚本,询问“我接下来应该做什么?”

我认为我们可以使用亚马逊标签,并让实例本身使用awscli工具集询问AWS以找出它的角色。这可以提供木偶信息,环境信息(例如dev / stage / prod)等等。仅使用DescribeTags权限就可以做到这一点。然而,我正面临抵抗。

我正在寻找有关新的AWS实例如何能够从AWS或某种服务代理商发现自己的目的的建议。

3 个答案:

答案 0 :(得分:1)

EC2实例提供了一个名为User Data的功能,旨在解决此问题。用户数据执行shell脚本以在新实例上执行配置功能。典型的模式是使用用户数据下载或克隆配置管理源存储库,例如Chef,Puppet或Ansible,并在框中本地运行它以执行更完整的配置。

正如@ e-j-brennan所说,预先分配已经配置的AMI也很常见。这种方法更快,因为在引导时不需要进行配置,但由于实例未定制,因此可能不太灵活。

您可能还对instance metadata感兴趣,{{3}}通过仅可访问实例本身的URL路径公开某些数据,如网络详细信息和标记。

答案 1 :(得分:0)

尽管如此,实例并不需要提出“几乎没有任何内容”。您可以/应该构建自己的自定义AMI(亚马逊机器映像),使用您需要运行的任何和所有软件,当您需要自动扩展实例时,您可以从之前创建并保存的AMI启动它

http://docs.aws.amazon.com/gettingstarted/latest/wah-linux/getting-started-create-custom-ami.html

答案 2 :(得分:0)

我建议使用AWS Beanstalk创建特定实例,这样可以更轻松,因为它将创建AutoScaling组和启动配置(Bootup代码),您可以稍后编辑它们。此外,您只需为EC2实例付费,您可以从Beanstalk控制台管理大部分内容。