本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora Amazon RDS 藍/綠部署概述
透過使用 Amazon RDS 藍/綠部署,您可以先進行和測試資料庫變更,然後再在生產環境中實作這些變更。藍/綠部署會建立一個複製生產環境的預備環境。在藍/綠部署中,藍色環境是目前的生產環境。綠色環境是預備環境。測試環境會使用邏輯複寫與目前的生產環境保持同步。
您可以在綠色環境中變更資 Aurora 資料庫叢集,而不會影響生產工作負載。例如,您可以升級主要或次要資料庫引擎版本或在預備環境中變更資料庫參數。您可以在綠色環境中徹底測試變更。備妥後,您可以切換環境,將綠色環境提升為新的生產環境。切換通常只需不到一分鐘的時間,不會遺失資料,也不需要變更應用程式。
因為綠色環境是生產環境拓撲的副本,所以資料庫叢集及其所有資料庫執行個體都會在部署中複製。綠色環境也包含資料庫叢集所使用的功能,例如資料庫叢集快照、Performance Insights、增強型監控和 Aurora Serverless v2。
注意
我的 Aurora SQL 和 Aurora 後SQL支援藍色/綠色部署。如需 Amazon 的可用RDS性,請參閱 Amazon 使用RDS者指南中的使用 Amazon RDS 藍色/綠色部署進行資料庫更新。
-
藍色/綠色部署僅支援以下版本的 Aurora Postgre 專SQL用巴貝爾魚:
15.7 及更高版本
16.3 及更高版本
區域和版本可用性
功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需詳細資訊,請參閱支援的區域和Aurora DB 引擎,適用於藍綠部署。
使用Amazon RDS 藍/綠部署的好處
透過使用 Amazon RDS 藍色/綠色部署,您可以隨時掌握最新的安全修補程式、改善資料庫效能,以及採用較新的資料庫功能,同時縮短可預測的停機 藍/綠部署可減少資料庫更新 (例如主要或次要引擎版本升級) 的風險和停機時間。
藍/綠部署提供下列優點:
-
輕鬆建立生產就緒的預備環境。
-
自動將資料庫變更從生產環境複寫到預備環境。
-
在安全預備環境中測試資料庫變更,而不會影響生產環境。
-
隨時掌握最新的資料庫修補程式和系統更新。
-
實作和測試較新的資料庫功能。
-
切換預備環境以成為新的生產環境,而無需對應用程式進行變更。
-
透過使用內建的防護機制安全切換。
-
消除切換期間的資料遺失情況。
-
通常在一分鐘內快速切換,取決於您的工作負載。
藍/綠部署的工作流程
當您使用藍/綠部署進行 Aurora 資料庫叢集更新時,請完成下列主要步驟。
-
識別需要更新的生產資料庫叢集。
下圖顯示生產資料庫叢集的範例。
-
建立藍/綠部署。如需說明,請參閱 建立藍/綠部署。
下圖顯示一個範例,說明如何從步驟 1 開始生產環境的藍/綠部署範例。建立藍/綠部署時,RDS複製 Aurora DB 叢集的完整拓撲和組態,以建立綠色環境。複製的資料庫叢集和資料庫執行個體名稱都會附加
-green-
。映像中的暫存環境包含資料庫叢集 (極光-綠色-random-characters
abc123
). 它還包含數據庫集群中的三個數據庫實例(極光-實例 1-綠色-abc123
,極光-實例 2-綠色-abc123
和極光-實例 3-綠色-abc123
).建立藍/綠部署時,您可以指定較高的資料庫引擎版本,並針對綠色環境中的資料庫叢集指定不同的資料庫叢集參數群組。您也可以針對資料庫叢集中的資料庫執行個體指定不同的資料庫參數群組。
RDS也可設定從藍色環境中的主要資料庫執行個體複寫到綠色環境中的主要資料庫執行個體。
重要
對於 Aurora My SQL 版本 3,在您建立藍/綠部署之後,綠色環境中的資料庫叢集預設不允許寫入作業。但是,這不適用於具有
CONNECTION_ADMIN
權限的使用者,包括 Aurora 主要使用者。具有該權限的用戶可以覆蓋該read_only
行為。如需詳細資訊,請參閱角色型權限模型。 -
對預備環境進行變更。
例如,您可能會對資料庫進行結構描述變更,或變更綠色環境中一或多個資料庫執行個體所使用的資料庫執行個體類別。
如需修改資料庫叢集的詳細資訊,請參閱修改 Amazon Aurora 資料庫叢集。
-
測試您的預備環境。
在測試期間,建議您將綠色環境中的資料庫保持唯讀狀態。請小心在綠色環境中啟用寫入作業,因為這些作業可能會造成複寫衝突。它們也可能會在切換後於生產資料庫中產生非預期的資料。若要啟用 Aurora My 的寫入操作SQL,請將
read_only
參數設定為0
,然後重新啟動資料庫執行個體。對於「Aurora 波斯特雷」SQL,將default_transaction_read_only
off
參數設定為階段作業層級。 -
備妥後,請切換以將預備環境提升為新的生產環境。如需說明,請參閱 切換藍/綠部署。
切換會產生停機時間。停機時間通常不到一分鐘,但可能更長,取決於您的工作負載。
下圖顯示切換後的資料庫叢集。
切換後,綠色環境中的 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
。
-
-
如果不再需要藍/綠部署,您可以將其刪除。如需說明,請參閱 刪除藍/綠部署。
切換後,不會刪除先前的生產環境,以便您可以在必要時使用它進行迴歸測試。