如何以编程方式配置 EC2 服务器并配置默认设置

How to provision an EC2 Server programmatically and configure default settings

我想使用 python 配置 AWS EC2 服务器并设置默认用户和密码等。这个想法是开发人员从我们的站点菜单中选择他们想要安装的项目,例如 MySQL、Nginx 等。单击提交时,我正在使用 boto 创建 EC2 服务器,现在我想安装软件并设置默认用户凭据,以便可以将其邮寄给用户。

我想进行上述自助服务,即一切都很好地自动化,并且可以根据需要进行定制,而无需系统工程师的参与。注意:我不想共享 aws 密钥对,它将留给服务器管理员使用。

我正在考虑在上面使用 fabric,但它似乎需要大量代码和配置。是否有提供 linux 服务器并执行上述操作的最佳推荐方法?像 digitalOceans 这样的提供商如何在创建过程中设置默认的 root 密码?我想尽可能保持这些细节的独特性。

使用 User Data field#cloud-config 设置传递给 Amazon EC2 实例。它可以做的一些事情包括:

  • 包括用户和组,包括定义用户密码
  • 写出任意文件
  • 添加 yum/apt 存储库
  • 通过 chef / puppet 安装
  • 运行 首次启动时的命令
  • 安装任意包

参见:Cloud config examples