我正在使用 AWS Cloudformation 为我的 Web 应用程序设置大量网络基础设施元素(VPC、SecurityGroups、子网、自动缩放组等)。我希望整个过程自动化。我想单击一个按钮并能够启动整个过程。
我已经成功创建了一个 Cloudformation 模板来设置所有这些网络基础设施。然而,EC2 实例目前在没有任何需要的软件的情况下启动。现在我正试图弄清楚如何最好地在他们身上安装该软件。
为此,我正在使用Packer.io创建 AMI 。但有些人反而敦促我使用 Cloud-Init。我应该使用什么启发式方法来决定将什么烘焙到 AMI 和/或通过 Cloud-Init 配置什么?
例如,我想预配置一个 EC2 实例以允许我 ( saqib
) 从我自己的笔记本电脑上无需密码即可登录。因此,EC2 必须有一个用户。该用户必须有一个主目录。在那个主目录中必须有一个.ssh/known_hosts
包含加密代码的文件。我应该将这些目录烘焙到 AMI 中吗?还是我应该使用 cloud-init 来设置它们?在这种情况和其他类似情况下我应该如何决定?