![如何在 Amazon EC2 实例上保留已安装的软件和配置?](https://linux22.com/image/502192/%E5%A6%82%E4%BD%95%E5%9C%A8%20Amazon%20EC2%20%E5%AE%9E%E4%BE%8B%E4%B8%8A%E4%BF%9D%E7%95%99%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%92%8C%E9%85%8D%E7%BD%AE%EF%BC%9F.png)
我已经启动并运行了基础 Debian AMI,现在我需要知道维护它的最佳方法。我已经运行了更新(aptitude 更新/升级)并安装/配置了我的软件(Apache、Ruby 等),但如果我重新启动实例或启动一个新实例,我将不得不重新做所有这些工作。
重启后如何保留这些类型的东西?每次调整系统的某个小部分时,您是否都会构建一个新的 AMI?或者是否有某种方法可以在启动时为其提供一个脚本,以“实时”配置它?我知道我可以使用 Reductive Labs Puppet 风格的设置,但这对我目前的需求来说有点太多了(1-2 台服务器)。有什么最佳实践吗?
更新:我找到了关于使用用户数据的一些信息在实例启动时运行脚本。
答案1
答案2
我使用两者的组合:用户数据脚本和 EBS。首先,我使用基本软件创建一个映像,然后使用自动运行脚本,服务器下载其配置,安装所需的软件并启动适当的服务。如果服务器管理数据,则自动运行脚本会从安装了 EBS 卷的服务器复制(通过 rsync 或 nfs)所有数据。