0

假設我在彈性beanstalk中有一個prod環境和一個dev環境。我將我的代碼部署到開發,它的工作和一切都很好,但是當我部署到生產時,我得到一個錯誤(注意這是可能的,因爲有時候實例在部署和apache休息期間會損壞)。什麼是該解決方案的優點和缺點:切換我的域指向安全生產部署

  1. 有你的每間切換2個督促環境中部署
  2. 部署到未使用
  3. 如果部署工作的人,點yourdomain.com到新的生產,如果不是,你的舊產品是安全的

現在,SEO是一個問題 - 如果我切換兩個彈性beanstalk環境之間我的域名,SEO會受到傷害?

回答

3

以下解決方案是我多次使用而沒有發生意外的解決方案,但請記住在生產使用前始終測試您的解決方案。

該解決方案將使用以下環境的名稱,你應該映射到內部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以避免額外成本(或者您可以將其保留如果你不介意$花費)。

+0

總體而言,是有道理的。在將dev01升級到prod02後,prod02擁有該站點的新版本。切換後,不prod01有新版本的網站?所以,我們不想刪除prod02嗎?原諒我,如果我誤解你在說什麼。 – 2014-11-12 21:05:15

+1

切換後prod01具有舊版本的站點。當你切換並且一切都很棒時,你可以更新prod01(使用EB控制檯),切換回去,最後刪除prod02。 – 2014-11-13 08:38:21

+0

但這個技巧會改變每個開關後面下面解析的IP地址。這可能會損害seo,不是嗎? – 2015-11-24 20:24:04