AWS Elastic Beanstalk:更新平台版本和自定义 AMI

AWS Elastic Beanstalk: Update Platform Version & custom AMI

我正在为 Web 应用程序使用 Elastic Beanstalk。 (自动设置 EC2、RDS 数据库等)。

我一直在使用自定义 AMI(基于默认的 Elastic Beanstalk),因为我需要一些太大而无法使用配置文件安装的特定包。

前几天我注意到我的仪表板显示了一个选项来更新配置下的平台版本。例如,从 64bit Amazon Linux 2015.0364bit Amazon Linux 2015.09

这将如何影响我的自定义 AMI?它会覆盖它吗?

将自定义 AMI 从 64bit Amazon Linux 2015.03 更新到 64bit Amazon Linux 2015.09 等的最佳方法是什么?

如果您将 AMI 更新为他们的,它不会包含您的自定义修改。 您需要自己对基本 AMI 进行这些修改。

我已成功使用 CI (jenkins) 通过 puppet 使用 Packer 构建我的 AMI。这允许我将基本 AMI 设置为较新的 AMI,并自动以更新的 AMI 结束。 Jenkins 然后告诉 beanstalk 使用它构建的新 AMI。

如果可能,我强烈建议您坚持使用 Amazon 提供的默认 AMI。它使整个 OS 维护变得轻而易举,并确保无论何时出现外围机会(例如在负载平衡器或 beanstalk 脚本中)——你都是安全的。
为此,您必须解决安装额外软件包的问题。考虑使用弹性 beantalk 的 Docker 版本,它在 OS 级别提供了很大的灵活性,同时还具有 beantalk 的优势。唯一的缺点是又增加了一层复杂性。