AWS EC2更新,无需停机

时间:2015-10-13 20:59:34

标签: amazon-web-services amazon-ec2

我是否可以在没有停机的情况下在EC2中更新我的应用程序?或者像暂停但不重启

之类的东西

2 个答案:

答案 0 :(得分:2)

AWS Elastic Beanstalk可用于实现此目的。

here所述,这个想法是使用最新版本的应用创建一个新环境,一旦部署,就交换当前生产环境的CNAME和新部署的CNAME,从而实现零 - 停机时间。

答案 1 :(得分:1)

如果您只有一个EC2实例且您的应用程序是Web应用程序,您可以将您的应用程序停靠并使用任何Web代理在停靠器容器之间切换,并且停机时间为零。

假设您的应用位于泊坞广告容器A:

Internet --> Nginx Proxy --> Container A

更新应用时,需要将其部署在新容器B上:

Internet --> Nginx Proxy --> Container A
                             Container B

重新配置您的代理以切换到容器B,在Nginx中,您可以service nginx reload而不会杀死Nginx:

Internet --> Nginx Proxy     Container A
                        `--> Container B

删除旧容器A:

Internet --> Nginx Proxy --> Container B

而且,您的停机时间部署为零。

https://stackoverflow.com/a/33085105/3427434中查看我的答案。那里的剧本和我在这里讲的一样。