2012-11-20 68 views
0

我aws设置我有负载平衡指向几个应用程序服务器,这些服务器都使用通用的API。应用程序服务器都有相同的NGINX cong(nginx.conf),由于各种原因我现在需要更新。如何处理更新AWS EC2实例AMI?

解决这个问题的方法是什么?我是否更新AMI并重新启动应用程序服务器?我必须重新启动服务器吗?有没有更新AMI并让服务器运行的方法?

我拼命寻找关于如何处理这种情况的教程/最佳做法。谢谢。

回答

0

可能ChefPuppet将完成这项工作。或者你可以通过一个简单的shell脚本和rsync推出你自己的。

0

虽然厨师和傀儡是正确的做法,但如果您不想进入这类东西,只需几步即可完成。

  1. 在制作AMI时制作其中一个负载均衡实例的AMI(请勿选择重新启动)。
  2. 从该AMI创建一个实例,对其进行更改并测试此实例,从此实例创建AMI。

现在的诀窍是让你的实例变坏,这样负载平衡器会觉得它变坏了,并创建一个新机器来替换坏的实例;但为什么它会维护一个新的实例,除非您指定负载均衡器至少应该有多少个实例,现在没有配置可以这么做,因为它不是负载均衡器配置文件的一部分,它的扩展策略。

因此,制定一个自动调节策略(使用新的AMI),并创建一个新的启动配置(使用新的ami offcourse),将实例的最小数量设置为您想要的任意数量,让我们说2保持一对夫妇,每当放大/缩小保持几个实例)。

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