本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 Elastic Beanstalk 進行藍/綠部署
由於 AWS Elastic Beanstalk 會於您更新應用程式版本時就地執行更新,使用者可能會在短時間內無法使用您的應用程式。若是要避免發生這類情狀,請執行藍/綠部署。如果要進行這項操作,可以將新版本部署至獨立環境,然後交換兩個環境的 CNAME 以立刻將流量重新引導至新版本。
若是您想要將環境更新到不相容的平台版本,也需要使用藍/綠部署。如需更多詳細資訊,請參閱 更新您 Elastic Beanstalk 環境的平台版本。
若您的應用程式使用生產資料庫,藍/綠部署會要求您的環境獨立於此資料庫執行。如果您的環境包含 Elastic Beanstalk 代表您建立的資料庫,則除非您採取特定的動作,否則不會保留環境的資料庫和連線。如果您有想要保留的資料庫,請使用其中一個 Elastic Beanstalk 資料庫生命週期選項。您可以選擇「Retain」(保留) 選項,以便在資料庫解耦後保持資料庫和環境運作。如需詳細資訊,請參閱在本指南的《設定環境》章節中的 資料庫生命週期。
如需如何設定應用程式以連接至非由 Elastic Beanstalk 管理的 Amazon RDS 執行個體的相關說明,請參閱 使用 Elastic Beanstalk 與 Amazon RDS。
欲執行藍/綠部署
開啟 Elastic Beanstalk 主控台
,然後在 Regions (區域) 清單中選取您的 AWS 區域。 -
複製目前環境,或啟動新環境,以執行您想要的平台版本。
-
部署新的應用程式版本至新環境。
-
於新環境測試新的版本。
-
在環境概觀頁面上,選擇 Actions (動作),然後選擇 Swap environment URLs (交換環境 URL)。
-
在 Environment name (環境名稱),選取目前環境。
-
選擇 Swap (交換)。
Elastic Beanstalk 會交換新舊環境的 CNAME 記錄,將流量自舊版本重新引導至新版本。
Elastic Beanstalk 完成交換操作後,請驗證在您嘗試連接至舊環境 URL 時,新環境是否回應。然而,在 DNS 變更散佈完成且舊 DNS 記錄過期前,請勿終止您的舊環境。DNS 伺服器不一定會根據您在 DNS 記錄上設定的存留時間 (TTL),從快取中清除舊的記錄。