【发布时间】:2015-03-30 07:21:20
【问题描述】:
我正在使用 AWS Cloudformation 为我的 Web 应用程序设置大量网络基础设施元素(VPC、安全组、子网、自动缩放组等)。我希望整个过程自动化。我想单击一个按钮并能够启动整个过程。
我已经成功创建了一个 Cloudformation 模板来设置所有这些网络基础设施。然而,EC2 实例目前在没有任何需要的软件的情况下启动。现在我正试图弄清楚如何最好地在他们身上安装该软件。
为此,我正在使用 Packer.io 创建 AMI。但有些人反而敦促我使用 Cloud-Init。我应该使用什么启发式方法来决定将什么烘焙到 AMI 和/或通过 Cloud-Init 配置什么?
例如,我想预配置一个 EC2 实例以允许我 (saqib) 从我自己的笔记本电脑上无需密码即可登录。因此,EC2 必须有一个用户。该用户必须有一个主目录。在那个主目录中必须有一个包含加密代码的文件.ssh/known_hosts。我应该将这些目录烘焙到 AMI 中吗?还是我应该使用 cloud-init 来设置它们?在这种情况和其他类似情况下我应该如何决定?
【问题讨论】:
-
您需要 puppet 或 chef 来使用 CloudFormation 中定义的
user data完成自动化工作。 -
谢谢。你能解释一下我应该把什么放进AMI吗?我如何决定是否应该在 AMI 中或通过
user data配置某些内容? -
AWS 有一个全面的页面讨论选项aws.amazon.com/answers/configuration-management/aws-ami-design
标签: amazon-web-services amazon-cloudformation amazon-ami packer cloud-init