

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

# 透過 Elastic Beanstalk 進行藍/綠部署
<a name="using-features.CNAMESwap"></a>

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

若是您想要將環境更新到不相容的平台版本，也需要使用藍/綠部署。如需詳細資訊，請參閱[更新您 Elastic Beanstalk 環境的平台版本](using-features.platform.upgrade.md)。

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

如需如何設定應用程式以連接至非由 Elastic Beanstalk 管理的 Amazon RDS 執行個體的相關說明，請參閱 [搭配 Amazon RDS 使用 Elastic Beanstalk](AWSHowTo.RDS.md)。

**欲執行藍/綠部署**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. [複製目前環境](using-features.managing.clone.md)，或啟動新環境，以執行您想要的平台版本。

1. [部署新的應用程式版本](using-features.deploy-existing-version.md#deployments-newversion)至新環境。

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

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

1. 在 **Environment name (環境名稱)**，選取目前環境。  
![\[交換環境 URL 頁面\]](http://docs.aws.amazon.com/zh_tw/elasticbeanstalk/latest/dg/images/aeb-env-swap-url.png)

1. 選擇 **Swap (交換)**。

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

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