本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過使用 Amazon RDS 藍/綠部署,您可以先進行和測試資料庫變更,然後再在生產環境中實作這些變更。藍/綠部署會建立一個複製生產環境的預備環境。在藍/綠部署中,藍色環境是目前的生產環境。綠色環境是預備環境。測試環境會使用邏輯複寫與目前的生產環境保持同步。
您可以在綠色環境中變更資RDS料庫執行個體 ,而不會影響生產工作負載。例如,您可以升級主要或次要資料庫引擎版本、升級基礎檔案系統組態或在預備環境中變更資料庫參數。您可以在綠色環境中徹底測試變更。備妥後,您可以切換環境,將綠色環境提升為新的生產環境。切換通常只需不到一分鐘的時間,不會遺失資料,也不需要變更應用程式。
因為綠色環境是生產環境拓撲的副本,所以綠色環境包含資料庫執行個體所使用的功能。這些功能包含僅供讀取複本、儲存組態、資料庫快照、自動備份、Performance Insights 和增強型監控。如果藍色資料庫執行個體是多可用區域資料庫執行個體部署,則綠色資料庫執行個體也是多可用區域資料庫執行個體部署。
注意
目前,藍色/綠色部署僅支RDS持 MariaDBSQL,我RDS的和 RDS Postgre。SQL如需 Amazon Aurora 的可用性,請參閱 Amazon Aur ora 使用者指南中的使用亞馬遜RDS藍/綠部署進行資料庫更新。
區域和版本可用性
功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需詳細資訊,請參閱支援 Amazon RDS 藍色/綠色部署的區域和資料庫引擎。
使用Amazon RDS 藍/綠部署的好處
透過使用 Amazon RDS 藍色/綠色部署,您可以隨時掌握最新的安全修補程式、改善資料庫效能,以及採用較新的資料庫功能,同時縮短可預測的停機 藍/綠部署可減少資料庫更新 (例如主要或次要引擎版本升級) 的風險和停機時間。
藍/綠部署提供下列優點:
-
輕鬆建立生產就緒的預備環境。
-
自動將資料庫變更從生產環境複寫到預備環境。
-
在安全預備環境中測試資料庫變更,而不會影響生產環境。
-
隨時掌握最新的資料庫修補程式和系統更新。
-
實作和測試較新的資料庫功能。
-
切換預備環境以成為新的生產環境,而無需對應用程式進行變更。
-
透過使用內建的防護機制安全切換。
-
消除切換期間的資料遺失情況。
-
通常在一分鐘內快速切換,取決於您的工作負載。
藍/綠部署的工作流程
當您使用藍/綠部署進行資料庫更新時,請完成下列主要步驟。
-
識別需要更新的生產環境。
例如,此影像中的生產環境具有多可用區域資料庫執行個體部署 (mydb1) 和僅供讀取複本 (mydb2)。
-
建立藍/綠部署。如需說明,請參閱 建立藍/綠部署。
下圖顯示一個範例,說明如何從步驟 1 開始生產環境的藍/綠部署範例。建立藍/綠部署時,RDS複製主要資料庫執行個體的完整拓撲和組態,以建立綠色環境。複製的資料庫執行個體名稱會附加
-green-
。映像中的暫存環境包含異地同步備份資料庫執行個體部署 (mydb1-綠色-random-characters
abc123
)和僅供讀取副本(mydb2-綠色-abc123
).建立藍/綠部署時,您可以升級資料庫引擎版本,並針對綠色環境中的資料庫執行個體指定不同的資料庫參數群組。RDS也可設定從藍色環境中的主要資料庫執行個體到綠色環境中的主資料庫執行個體的邏輯複寫。
在您建立藍/綠部署之後,綠色環境中的資料庫執行個體會預設為唯讀。
-
如有需要,對預備環境進行其他變更。
例如,您可能會對資料庫進行結構描述變更,或變更綠色環境中一或多個資料庫執行個體所使用的資料庫執行個體類別。
如需修改資料庫執行個體的相關資訊,請參閱修改 Amazon RDS 資料庫執行個體。
-
測試您的預備環境。
在測試期間,建議您將綠色環境中的資料庫保持唯讀狀態。請小心在綠色環境中啟用寫入作業,因為這些作業可能會造成複寫衝突。它們也可能會在切換後於生產資料庫中產生非預期的資料。若要為 My 啟用寫入作RDS業SQL,請將
read_only
參數設定為0
,然後重新啟動資料庫執行個體。對RDS於 PostgreSQL,請off
在階段作業層級將default_transaction_read_only
參數設定為。 -
備妥後,請切換以將預備環境提升為新的生產環境。如需說明,請參閱 切換藍/綠部署。
切換會產生停機時間。停機時間通常不到一分鐘,但可能更長,取決於您的工作負載。
下圖顯示切換後的資料庫執行個體。
切換後,綠色環境中的資料庫執行個體會成為新的生產資料庫執行個體。目前生產環境中的名稱和端點會指派給新提升的生產環境,不需要對您的應用程式進行任何變更。因此,您的生產流量現在會流向新的生產環境。先前藍色環境中的資料庫執行個體會重新命名,方法是將
-old
附加至目前名稱 (其中n
是數字)。例如,假設藍色環境中資料庫執行個體的名稱為n
mydb1
。切換後,資料庫執行個體名稱可能是mydb1-old1
。在影像的範例中,切換期間會發生下列變更:
-
名為
mydb1-green-abc123
的綠色環境多可用區域執行個體部署會成為名為mydb1
的生產多可用區域執行個體部署。 -
名為
mydb2-green-abc123
的綠色環境僅供讀取複本會成為生產僅供讀取複本mydb2
。 -
名為
mydb1
的藍色環境多可用區域資料庫執行個體部署會成為mydb1-old1
。 -
名為
mydb2
的藍色環境僅供讀取複本會成為mydb2-old1
。
-
-
如果不再需要藍/綠部署,您可以將其刪除。如需說明,請參閱 刪除藍/綠部署。
切換後,不會刪除先前的生產環境,以便您可以在必要時使用它進行迴歸測試。