透過 Elastic Beanstalk 進行藍/綠部署 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

透過 Elastic Beanstalk 進行藍/綠部署

由於 AWS Elastic Beanstalk 會於您更新應用程式版本時就地執行更新,使用者可能會在短時間內無法使用您的應用程式。若是要避免發生這類情狀,請執行藍/綠部署。如果要進行這項操作,可以將新版本部署至獨立環境,然後交換兩個環境的 CNAME 以立刻將流量重新引導至新版本。

若是您想要將環境更新到不相容的平台版本,也需要使用藍/綠部署。如需更多詳細資訊,請參閱 更新您 Elastic Beanstalk 環境的平台版本

若您的應用程式使用生產資料庫,藍/綠部署會要求您的環境獨立於此資料庫執行。如果您的環境包含 Elastic Beanstalk 代表您建立的資料庫,則除非您採取特定的動作,否則不會保留環境的資料庫和連線。如果您有想要保留的資料庫,請使用其中一個 Elastic Beanstalk 資料庫生命週期選項。您可以選擇「Retain」(保留) 選項,以便在資料庫解耦後保持資料庫和環境運作。如需詳細資訊,請參閱在本指南的《設定環境》章節中的 資料庫生命週期

如需如何設定應用程式以連接至非由 Elastic Beanstalk 管理的 Amazon RDS 執行個體的相關說明,請參閱 使用 Elastic Beanstalk 與 Amazon RDS

欲執行藍/綠部署
  1. 開啟 Elastic Beanstalk 主控台,然後在 Regions (區域) 清單中選取您的 AWS 區域。

  2. 複製目前環境,或啟動新環境,以執行您想要的平台版本。

  3. 部署新的應用程式版本至新環境。

  4. 於新環境測試新的版本。

  5. 在環境概觀頁面上,選擇 Actions (動作),然後選擇 Swap environment URLs (交換環境 URL)。

  6. Environment name (環境名稱),選取目前環境。

    交換環境 URL 頁面
  7. 選擇 Swap (交換)

Elastic Beanstalk 會交換新舊環境的 CNAME 記錄,將流量自舊版本重新引導至新版本。

Elastic Beanstalk 完成交換操作後,請驗證在您嘗試連接至舊環境 URL 時,新環境是否回應。然而,在 DNS 變更散佈完成且舊 DNS 記錄過期前,請勿終止您的舊環境。DNS 伺服器不一定會根據您在 DNS 記錄上設定的存留時間 (TTL),從快取中清除舊的記錄。