我正在使用Elastic Load Balancing来平衡我的Auto Scaling组 ,因为我拥有一个私有的AMI来保存我的应用程序服务器(Tomcat),并将我的Web应用程序部署到它作为战争…现在一切工作正常…什么如果我需要更改我的AMI上的tomcatconfiguration。 这不需要启动我的AMI – >login+更改Tomcatconfiguration – >创build一个新的AMI – >删除旧的AMI我不认为创build一个新的AMI是一个解决scheme,因为它需要更新我的自动比例组添加我的新AMI
有没有办法可以更新现有AMI中的数据而不创build新数据? 我只想拥有相同的AMI ID
您可以使用启动实例时运行的用户数据脚本更新configuration。
您在脚本中放入的内容取决于您如何在文件系统级别pipe理您的configuration。 我personnaly把我的configuration文件在一个Mercurial存储库,只需要pull来更新它。
不能更新现有的AMI并保持相同的AMI ID。 您将需要创build一个新的自定义AMI并更新Auto Scaling组的启动configuration,或者更改您的设置,以在启动基本AMI实例后将更改应用到实例,如@DavidLevesque所示。
在发布时从S3下载应用程序,configuration和数据是一种常见的架构。
这看起来像一个旧的职位。 但是,如果你仍然处于同样的困境,你可以考虑使用一个实例存储支持的Windows AMI (捆绑任务)。 它也类似于AMI,但是您可以更好地控制图像本身,因为您实际上是自己创build图像并将其存储在S3存储桶中。 这将允许您不时地更新AMI的底层映像,而无需创build新的AMI(至less这是我的理解)。