在我的 aws 设置中,我有指向多个应用程序服务器的负载平衡,这些应用程序服务器都使用一个通用 API。应用服务器都有相同的 NGINX 配置(nginx.conf),由于各种原因,我现在需要更新。
有什么办法来处理这个?我是否更新 AMI 并重新启动应用服务器?我必须重新启动服务器吗?有没有办法更新 AMI 并使服务器保持运行?
我正在拼命寻找有关如何处理这种情况的教程/最佳实践。谢谢你。
在我的 aws 设置中,我有指向多个应用程序服务器的负载平衡,这些应用程序服务器都使用一个通用 API。应用服务器都有相同的 NGINX 配置(nginx.conf),由于各种原因,我现在需要更新。
有什么办法来处理这个?我是否更新 AMI 并重新启动应用服务器?我必须重新启动服务器吗?有没有办法更新 AMI 并使服务器保持运行?
我正在拼命寻找有关如何处理这种情况的教程/最佳实践。谢谢你。
虽然厨师和木偶是正确的做法,但如果您不想涉足这类事情,只需几个步骤即可完成。
现在的诀窍是让你的实例变坏,让负载均衡器觉得它变坏了并创建一台新机器来替换坏实例;但是为什么要维护一个新实例,除非您向负载均衡器指定它至少应该有多少个实例,否则它不会,现在没有配置可以这样做,因为它不是负载均衡器配置文件的一部分,它的扩展策略。
因此,使自动缩放策略(使用新的 AMI)偏离路线并进行新的启动配置(使用新的 ami 偏离路线),将最小实例数设置为您想要的任何数量,比如说 2(总是尝试保持一对,并且每当扩大/缩小规模时,请保留几个实例)。
现在继续减少 LB 的健康检查,SSH 进入您的一个实例(停止 nginx),LB 会认为它已经坏了并启动配置以保持最小。将启动多个实例,并使用新的 AMI 引入一个新实例。