如何处理更新AWS EC2实例AMI?

时间:2012-11-20 23:40:13

标签: nginx amazon-ec2 amazon-web-services ami

在我的aws设置中,我有指向几个app服务器的负载均衡,这些服务器都使用通用API。应用程序服务器都具有相同的NGINX cong(nginx.conf),由于各种原因我现在需要更新。

处理这个问题的方法是什么?我是否更新AMI并重新启动应用服务器?我必须重新启动服务器吗?有没有办法更新AMI并使服务器保持运行?

我正在拼命寻找有关如何处理这种情况的教程/最佳实践。谢谢。

2 个答案:

答案 0 :(得分:0)

可能会ChefPuppet完成这项工作。或者您可以通过简单的shell脚本和rsync滚动自己。

答案 1 :(得分:0)

虽然厨师和木偶是正确的做法,但如果你不想进入那种东西,你只需几步即可完成。

  1. 在制作AMI时,为您的一个负载平衡实例(不要选择重启)制作AMI。
  2. 从该AMI创建实例,在其中进行更改,并测试此实例,从此实例创建AMI。
  3. 现在的诀窍是让您的实例变坏,以便负载均衡器感觉它已经坏了并创建一个新机器来替换坏实例;但是为什么它要维护一个新实例,除非你指定负载均衡器最少应该有多少实例,否则现在没有配置这样做,因为它不是负载均衡器配置文件的一部分,它的扩展政策。

    所以制作一个自动调节策略(使用新的AMI),并制作一个新的启动配置(使用新的ami offcourse),将最小实例数设置为你想要的任何数字,让我们说2(总是尽量保持一对夫妇,每当放大/缩小时都会保留几个实例。)

    现在继续前进并减少LB的健康检查,SSH进入你的一个实例(停止nginx),LB会认为它已经坏了并启动配置以保持最小值。实例数将启动,引入新AMI的新实例。