以下解決方案是我多次使用而沒有發生意外的解決方案,但請記住在生產使用前始終測試您的解決方案。
該解決方案將使用以下環境的名稱,你應該映射到內部DNS名稱:
PROD01 .elasticbeanstalk.com> www.example.com
PROD02 .elasticbeanstalk.com
DEV01 .elasticbeanstalk.com> dev-www.example.com
通常,在本地開發和測試您的應用程序後,您將depl oy您的應用程序到AWS Elastic Beanstalk環境DEV01。此時,您的應用程序將在URL dev-www.example.com上生效。
既然您已經測試了您的應用程序,那麼很容易編輯您的應用程序,重新部署並查看結果。
當您對自己對應用程序所做的更改感到滿意時,可以將其部署到您的生產環境中。使用應用程序版本頁面將運行在DEV01上的代碼推廣到PROD02。使用您的主機文件確保一切順利,然後點擊URL交換。
這將打開你的應用程序PROD01 .elasticbeanstalk.com和PROD02 .elasticbeanstalk.com環境URL的無縫零停機時間。
確保所有流量都已切換後,您可以按照相同的方法更新原始生產環境,然後切換回並刪除 .elasticbeanstalk.com以避免額外成本(或者您可以將其保留如果你不介意$花費)。
總體而言,是有道理的。在將dev01升級到prod02後,prod02擁有該站點的新版本。切換後,不prod01有新版本的網站?所以,我們不想刪除prod02嗎?原諒我,如果我誤解你在說什麼。 – 2014-11-12 21:05:15
切換後prod01具有舊版本的站點。當你切換並且一切都很棒時,你可以更新prod01(使用EB控制檯),切換回去,最後刪除prod02。 – 2014-11-13 08:38:21
但這個技巧會改變每個開關後面下面解析的IP地址。這可能會損害seo,不是嗎? – 2015-11-24 20:24:04