2015-10-13 108 views
0

無論如何,我可以在沒有任何停機的情況下更新我的EC2應用程序嗎?或者像暫停但不重啓的東西AWS EC2更新無宕機

+0

問題太廣泛。您應該詳細瞭解應用程序的外觀和嘗試部署方式 – Mircea

回答

1

如果您只有一個EC2實例,並且您的應用程序是Web應用程序,則可以使您的應用程序dockerize並使用任何Web代理在零停機時間之間切換Docker容器。

讓我們說你的應用程序是在泊塢窗容器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答案。那裏的劇本,和我在這裏講的一樣。

1

AWS Elastic Beanstalk可以用來實現這一目標。

這個想法,如here所述,是用最新版本的應用程序創建一個新環境,並且一旦部署,就交換當前生產環境的CNAME和新部署的環境,從而實現零停機時間。