本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora 藍/綠部署概觀
透過使用 Aurora Blue/Green Deployments,您可以在生產環境中實作資料庫變更之前進行和測試。藍/綠部署會建立一個複製生產環境的預備環境。在藍/綠部署中,藍色環境是目前的生產環境。綠色環境是預備環境,並與目前的生產環境保持同步。
您可以在綠色環境中變更Aurora 資料庫叢集,而不會影響生產工作負載。例如,您可以升級主要或次要資料庫引擎版本或在預備環境中變更資料庫參數。您可以在綠色環境中徹底測試變更。準備就緒時,您可以切換環境,將綠色環境轉換為新的生產環境。切換通常只需不到一分鐘的時間,不會遺失資料,也不需要變更應用程式。
因為綠色環境是生產環境拓撲的副本,所以資料庫叢集及其所有資料庫執行個體都會在部署中複製。綠色環境也包含資料庫叢集所使用的功能,例如資料庫叢集快照、績效詳情、增強型監控和 Aurora Serverless v2.
注意
Aurora MySQL 和 Aurora Postgre 支援藍/綠部署SQL。如需 Amazon RDS可用性,請參閱《Amazon 使用者指南》中的 Amazon RDS Blue/Green Deployments 概觀。 RDS
主題
區域和版本可用性
功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需詳細資訊,請參閱支援的區域和Aurora DB 引擎,適用於藍綠部署。
使用 Amazon RDS Blue/Green 部署的優勢
使用 Amazon RDS Blue/Green Deployments, you can stay current on security patches, improve database performance, and adopt newer database features with short, predictable downtime. Blue/green 部署可降低資料庫更新的風險和停機時間,例如主要或次要引擎版本升級。
藍/綠部署提供下列優點:
-
輕鬆建立生產就緒的預備環境。
-
自動將資料庫變更從生產環境複寫到預備環境。
-
在安全預備環境中測試資料庫變更,而不會影響生產環境。
-
隨時掌握最新的資料庫修補程式和系統更新。
-
實作和測試較新的資料庫功能。
-
切換預備環境以成為新的生產環境,而無需對應用程式進行變更。
-
透過使用內建的防護機制安全切換。
-
消除切換期間的資料遺失情況。
-
通常在一分鐘內快速切換,取決於您的工作負載。
藍/綠部署的工作流程
當您使用藍/綠部署進行 Aurora 資料庫叢集更新時,請完成下列主要步驟。
-
識別需要更新的生產資料庫叢集。
下圖顯示生產資料庫叢集的範例。
-
建立藍/綠部署。如需說明,請參閱 在 Amazon Aurora 中建立藍/綠部署。
下圖顯示blue/green deployment of the production environment from step 1. While creating the blue/green部署的範例, 會RDS複製 Aurora 資料庫叢集的完整拓撲和組態,以建立綠色環境。複製的資料庫叢集和資料庫執行個體名稱都會附加
-green-
。映像中的預備環境包含資料庫叢集 (auroradb-green-random-characters
abc123
)。它還包含資料庫叢集中的三個資料庫執行個體 (auroradb-instance1-green-abc123
、auroradb-instance2-green-abc123
和 auroradb-instance3-green-abc123
)。建立藍/綠部署時,您可以指定較高的資料庫引擎版本,並針對綠色環境中的資料庫叢集指定不同的資料庫叢集參數群組。您也可以針對資料庫叢集中的資料庫執行個體指定不同的資料庫參數群組。
RDS 也會設定從藍色環境中的主要資料庫執行個體到綠色環境中的主要資料庫執行個體的複寫。
重要
對於 Aurora MySQL 第 3 版,在您建立藍/綠部署之後,綠色環境中的資料庫叢集預設不允許寫入操作。不過,這不適用於具有
CONNECTION_ADMIN
權限的使用者,包括 Aurora 主要使用者。具有此權限的使用者可以覆寫read_only
行為。如需詳細資訊,請參閱角色型權限模型。 -
對預備環境進行變更。
例如,您可能會對資料庫進行結構描述變更,或變更綠色環境中一或多個資料庫執行個體所使用的資料庫執行個體類別。
如需修改資料庫叢集的詳細資訊,請參閱修改 Amazon Aurora 資料庫叢集。
-
測試您的預備環境。
在測試期間,建議您將綠色環境中的資料庫保持唯讀狀態。請謹慎在綠色環境中啟用寫入操作,因為它們可能會導致複寫衝突。它們也可能會在切換後於生產資料庫中產生非預期的資料。若要啟用 Aurora My 的寫入操作SQL,請將
read_only
參數設定為0
,然後重新啟動資料庫執行個體。對於 Aurora PostgreSQL,在工作階段層級off
將default_transaction_read_only
參數設定為 。 -
準備就緒時,請切換 ,將預備環境轉換為新的生產環境。如需說明,請參閱 在 Amazon Aurora 中切換藍/綠部署。
切換會產生停機時間。停機時間通常不到一分鐘,但可能更長,取決於您的工作負載。
下圖顯示切換後的資料庫叢集。
切換後,綠色環境中的 Aurora 資料庫叢集會成為新的生產資料庫叢集。目前生產環境中的名稱和端點會指派給新切換的生產環境,不需要變更您的應用程式。因此,您的生產流量現在會流向新的生產環境。藍色環境中的資料庫叢集和資料庫執行個體會重新命名,方法是將
-old
附加至目前名稱 (其中n
是數字)。例如,假設藍色環境中資料庫執行個體的名稱為n
auroradb-instance-1
。切換後,資料庫執行個體名稱可能是auroradb-instance-1-old1
。在影像的範例中,切換期間會發生下列變更:
-
綠色環境資料庫叢集
auroradb-green-abc123
會成為名為auroradb
的生產資料庫叢集。 -
名為
auroradb-instance1-green-abc123
的綠色環境資料庫執行個體會成為生產資料庫執行個體auroradb-instance1
。 -
名為
auroradb-instance2-green-abc123
的綠色環境資料庫執行個體會成為生產資料庫執行個體auroradb-instance2
。 -
名為
auroradb-instance3-green-abc123
的綠色環境資料庫執行個體會成為生產資料庫執行個體auroradb-instance3
。 -
名為
auroradb
的藍色環境資料庫叢集會成為auroradb-old1
。 -
名為
auroradb-instance1
的藍色環境資料庫執行個體會成為auroradb-instance1-old1
。 -
名為
auroradb-instance2
的藍色環境資料庫執行個體會成為auroradb-instance2-old1
。 -
名為
auroradb-instance3
的藍色環境資料庫執行個體會成為auroradb-instance3-old1
。
-
-
如果不再需要藍/綠部署,您可以將其刪除。如需說明,請參閱 在 Amazon Aurora 中刪除藍/綠部署。
切換後,不會刪除先前的生產環境,以便您可以在必要時使用它進行迴歸測試。