我在用着弹性负载平衡负载平衡我的Auto Scaling 组,为此我有一个私人急性心肌梗死它包含我的应用程序服务器 (Tomcat) 和以 war 形式部署到其中的 Web 应用程序...现在一切正常...如果我需要更改我的 Tomcat 配置,该怎么办?急性心肌梗死。这是否需要启动我的 AMI --> 登录 + 更改 Tomcat 配置 --> 创建新 AMI --> 删除旧 AMI 我不认为创建新 AMI 是一种解决方案,因为它需要更新我的 Auto Scale Group 以添加我的新 AMI
有没有办法可以更新现有 AMI 中的数据,而无需创建新 AMI?我只想拥有相同的 AMI ID
答案1
你可以使用以下方式更新你的配置用户数据脚本当您启动实例时运行。
脚本中的内容取决于您如何在文件系统级别管理配置。我个人将配置文件放在 Mercurial 存储库中,然后只需执行一次即可pull
更新它。
答案2
无法更新现有 AMI 并保留相同的 AMI ID。您需要创建新的自定义 AMI 并更新 Auto Scaling 组的启动配置,或者更改设置以在启动基本 AMI 实例后将更改应用于实例(如 @DavidLevesque 所建议的那样)。
在启动时从 S3 下载应用程序、配置和数据是一种常见的架构。
答案3
这看起来像是一篇旧帖子。但如果你仍然处于同样的困境,你可以考虑使用实例存储支持的 Windows AMI(捆绑任务)。它也类似于 AMI,但您可以更好地控制图像本身,因为您实际上是创建图像本身并将其存储在 S3 存储桶中。这样您就可以在需要时不时更新 AMI 的底层图像,而无需创建新的 AMI(至少我是这么理解的)。