本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon RDS 中建立藍/綠部署
建立藍/綠部署時,您可以指定要在部署中複製的來源資料庫執行個體。您選擇的資料庫執行個體是生產資料庫執行個體,而且其會成為藍色環境中的主要資料庫執行個體。此資料庫執行個體會複製到綠色環境,而且 RDS 會設定從藍色環境中的資料庫執行個體複寫到綠色環境中的資料庫執行個體。
RDS 將藍色環境的拓撲和功能複製到預備區域。當藍色資料庫執行個體具有僅供讀取複本時,系統會將僅供讀取複本複製為綠色執行個體的複本。所有綠色複本的分配儲存符合綠色主要執行個體,而其他儲存參數則繼承自藍色複本。
如果藍色資料庫執行個體是多可用區域資料庫執行個體部署,則會建立綠色資料庫執行個體,作為多可用區域資料庫執行個體部署。
準備進行藍/綠部署
根據 資料庫執行個體所執行的引擎而定,建立藍/綠部署之前,您必須執行某些步驟。
主題
為藍/綠部署準備 RDS for MySQL 或 RDS for MariaDB 資料庫執行個體
為 RDS for MySQL 或 RDS for MariaDB 資料庫執行個體建立藍/綠部署之前,您必須啟用自動備份。如需說明,請參閱啟用自動備份。
為使用實體複寫的藍/綠部署準備 RDS for PostgreSQL 資料庫執行個體
在建立 RDS for PostgreSQL 藍/綠部署 (使用實體複寫) 之前,請務必執行下列動作。如需使用實體複寫與邏輯複寫的版本清單,請參閱藍/綠部署的 PostgreSQL 複寫方法。
-
在資料庫執行個體上啟用自動備份。如需說明,請參閱啟用自動備份。
-
確認資料庫執行個體不是外部複寫的來源或目標。如需詳細資訊,請參閱藍/綠部署的一般限制。
為使用邏輯複寫的藍/綠部署準備 RDS for PostgreSQL 資料庫執行個體
在建立 RDS for PostgreSQL 藍/綠部署 (使用邏輯複寫) 之前,請務必執行下列動作。如需使用邏輯複寫與實體複寫的版本清單,請參閱藍/綠部署的 PostgreSQL 複寫方法。
-
將執行個體與已開啟邏輯複寫 (
rds.logical_replication) 的自訂資料庫參數群組建立關聯。從藍色環境複寫到綠色環境時,需要邏輯複寫。如需說明,請參閱修改 Amazon RDS 中的資料庫參數群組中的參數。由於藍/綠部署每個資料庫都至少需要一個背景工作者,請務必根據工作負載調整下列組態設定。如需調校每個設定的說明,請參閱 PostgreSQL 文件中的組態設定
。 -
max_replication_slots -
max_wal_senders -
max_logical_replication_workers -
max_worker_processes
啟用邏輯複寫並設定所有組態選項後,請務必重新啟動資料庫執行個體,以讓您的變更生效。藍/綠部署要求資料庫執行個體與資料庫參數群組同步,否則建立作業將會失敗。如需詳細資訊,請參閱重新啟動中的資料庫執行個體。
-
-
確認資料庫執行個體不是外部複寫的來源或目標。如需詳細資訊,請參閱藍/綠部署的一般限制。
-
確定資料庫執行個體中的所有資料表都有主索引鍵。PostgreSQL 邏輯複寫不允許對沒有主索引鍵的資料表執行
UPDATE或DELETE操作。 -
RDS for PostgreSQL 使用 PostgreSQL 的原生邏輯複寫,將預寫日誌 (WAL) 區段存放在藍色執行個體,直到在綠色環境中重播為止。建立藍/綠部署之前,請先檢查下列指標,確認藍色執行個體具有足夠的容量:
-
FreeStorageSpace -
TransactionLogsGeneration -
TransactionLogsDiskUsage -
OldestReplicationSlotLag
若要估計藍色執行個體所需的額外儲存空間,請在尖峰工作負載期間監控
TransactionLogsGenerationCloudWatch 指標。例如,如果工作負載在 24 小時內產生 100 GB 的 WAL 資料,請確保您至少有 100 GB 的額外儲存空間,以容納一天 WAL 區段的量。如需詳細資訊,請參閱監控 Amazon RDS 執行個體中的指標。 -
在建立藍/綠部署時指定變更
建立藍/綠部署時,您可以在綠色環境中對資料庫執行個體進行下列變更。
您可以在部署之後,於綠色環境中對資料庫執行個體進行其他修改。例如,您可以指定較高的引擎版本或不同的參數群組。
如需修改資料庫執行個體的相關資訊,請參閱 修改 Amazon RDS 資料庫執行個體。
指定較高的引擎版本
如果想要測試資料庫引擎升級,您可以指定更高的引擎版本。轉換時,資料庫會升級至您指定的主要或次要資料庫引擎版本。
指定不同的資料庫參數群組
您可以測試參數變更如何影響綠色環境中的資料庫執行個體,或在升級時針對新的主要資料庫引擎版本指定參數群組。
如果您指定不同的資料庫參數群組,則指定的資料庫參數群組會與綠色環境中的所有資料庫執行個體相關聯。如果您指定不同的參數群組,則綠色環境中的每個資料庫執行個體都會與其對應藍色資料庫執行個體的參數群組相關聯。
修改儲存和效能設定
在綠色環境中調整儲存和效能設定,以最佳化資源分配。這些設定包括分配的儲存體、佈建 IOPS、儲存體類型和儲存體輸送量 (適用於 gp3 儲存體)。
您可以將綠色資料庫執行個體的儲存體類型變更為 gp2、gp3、io1 或 io2。對於 gp3 儲存體,您也可以調整儲存體輸送量,以增強需求較大工作負載的資料傳輸效能,或降低耗費較少資源之應用程式的成本。如需詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體。
您也可以選擇增加或減少綠色環境中分配的儲存空間。不過,只有在目標分配的儲存空間比目前的儲存空間用量多至少 20% 時,儲存空間才會變少。如果您減少分配的儲存空間,Amazon RDS 會啟動儲存空間組態升級。如需詳細資訊,請參閱升級儲存組態。
如果藍色資料庫執行個體使用磁性儲存空間,您必須將綠色資料庫執行個體變更為一般用途或佈建 IOPS 儲存類型,才能增加或減少分配的儲存空間。
啟用 RDS Optimized Writes
您可以使用藍/綠部署,升級至支援 RDS Optimized Writes 的資料庫執行個體類別。您只能在使用受支援的資料庫執行個體類別建立的資料庫上啟用 RDS Optimized Writes。因此,此選項會建立使用受支援資料庫執行個體類別的綠色資料庫,可讓您在綠色資料庫執行個體上開啟 RDS Optimized Writes。
如果您要從不支援 RDS Optimized Writes 的資料庫執行個體類別升級為支援 RDS Optimized Writes 的執行個體類別,則也必須升級綠色資料庫執行個體的儲存組態。如需詳細資訊,請參閱升級儲存組態。
您只能升級主要綠色資料庫執行個體的資料庫執行個體類別。根據預設,綠色環境中的僅供讀取複本會繼承藍色環境中的資料庫執行個體設定。成功建立綠色環境後,您必須在綠色環境中手動修改僅供讀取複本的資料庫執行個體類別。
視藍色資料庫執行個體的引擎版本和執行個體類別而定,不支援某些執行個體類別升級。如需資料庫執行個體類別的詳細資訊,請參閱 資料庫執行個體類別。
升級儲存組態
如果您的藍色資料庫不在最新的儲存組態上,RDS 可以將綠色資料庫執行個體從舊的儲存組態 (32 位元檔案系統) 移轉至偏好的組態。您可以使用 RDS 藍/綠部署來克服舊版 32 位元檔案系統對儲存和檔案大小的擴展限制。此外,如果指定的資料庫執行個體類別支援 Optimized Writes,則此設定會將儲存組態變更為與 RDS Optimized Writes 相容。
注意
升級儲存組態是 I/O 密集型作業,會導致藍/綠部署的建立時間延長。如果藍色資料庫執行個體使用佈建 IOPS SSD (io1 或 io2 Block Express) 儲存體,並且您佈建執行個體大小為 4xlarge 或更大的綠色環境,則儲存升級程序會更快。涉及一般用途 SSD (gp2) 儲存體的儲存升級可能會耗盡您的 I/O 用量餘額,導致升級時間更長。如需詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體。
在儲存體升級期間,綠色資料庫執行個體暫時會無法使用,而藍色資料庫執行個體仍然可用。複寫在此時會暫停。監控藍色執行個體的儲存體,如果儲存體達到 90%,請考慮擴展,因為綠色執行個體會在升級後自動擴展 10%。
只有當您的藍色資料庫不在最新的儲存組態上,或您要變更相同要求中的資料庫執行個體類別時,才能使用此選項。您只能在最初建立藍/綠部署時升級儲存體組態。
藍/綠部署的延遲載入和儲存體初始化
當您建立藍/綠部署時,Amazon RDS 會透過從資料庫快照還原,在綠色環境中建立主要資料庫執行個體。在建立之後,綠色資料庫執行個體和其僅供讀取複本會繼續透過名為延遲載入的程序在背景中載入資料。
延遲載入只會載入應用程式請求的資料區塊。如果您嘗試存取尚未載入的資料,Amazon EBS 會立即從 Amazon S3 擷取資料,而剩餘的資料會繼續在背景載入。如需更多資訊,請參閱 Amazon EBS 快照。
為了加速完整磁碟區效能,Amazon RDS 會提供儲存體初始化,該初始化會讀取綠色環境磁碟區中的所有區塊。Amazon EBS 會從 Amazon S3 主動下載區塊,提供第一次使用時的最大磁碟區效能。儲存體初始化完全在背景中發生,確保不會影響資料庫執行個體可用性或進行中的活動,例如修補或升級。
儲存體初始化僅適用於具有 gp2、gp3、io1 和 io2 磁碟區類型的藍/綠部署中的執行個體。其支援 t3 和 t4 系列以外的所有執行個體類別。如果您將單一可用區部署中的綠色資料庫執行個體修改為多可用區資料庫執行個體部署,儲存體初始化會在多可用區組態中包含次要節點。
在儲存體初始化期間,執行個體仍然完全可用且可用於資料庫操作,但在初始化完成之前,儲存體可能無法達到完整效能。儲存體初始化正在進行時,整體執行個體狀態會變更為儲存體初始化,而進度指示器會反映資料庫執行個體所有磁碟區的最低初始化層級。
使用 主控台 AWS CLI或 Amazon RDS API 來監控儲存體初始化。
隨著背景初始化任務的進展,進度指示器會更新,可讓您在完整儲存體初始化完成之前追蹤儲存體準備程度。當綠色資料庫執行個體變成可完全運作時,儲存體初始化可實現最佳化效能。
建立藍/綠部署
您可以使用 AWS 管理主控台、 AWS CLI或 RDS API 建立藍/綠部署。
建立藍/綠部署
登入 AWS 管理主控台 ,並在 https://console.aws.amazon.com/rds/
:// 開啟 Amazon RDS 主控台。 -
在導覽窗格中,選擇 Databases (資料庫),然後選擇您要將其複製到綠色環境的資料庫執行個體。
-
選擇動作、建立藍/綠部署。
建立藍/綠部署頁面即會出現。
-
檢閱藍色資料庫識別符。確定其符合您在藍色環境中預期的資料庫執行個體。如果不符,請選擇 Cancel (取消)。
-
針對藍/綠部署名稱,輸入藍/綠部署的名稱。
-
在其餘區段中,指定綠色環境的設定。如需每項設定的相關資訊,請參閱 建立藍/綠部署的設定。
您可以在部署之後,於綠色環境中對資料庫進行其他修改。
-
選擇建立。
若要使用 建立藍/綠部署 AWS CLI,請使用 create-blue-green-deployment 命令。如需所有可用選項的資訊,請參閱 建立藍/綠部署的設定。
對於 Linux、macOS 或 Unix:
aws rds create-blue-green-deployment \ --blue-green-deployment-namemy-blue-green-deployment\ --source arn:aws:rds:us-east-2:123456789012:db:mydb1\ --target-engine-version8.0.31\ --target-db-parameter-group-namemydbparametergroup
在 Windows 中:
aws rds create-blue-green-deployment ^ --blue-green-deployment-namemy-blue-green-deployment^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1^ --target-engine-version8.0.31^ --target-db-parameter-group-namemydbparametergroup
若要使用 Amazon RDS API 建立藍/綠部署,請使用 CreateBlueGreenDeployment 操作。如需每個選項的詳細資訊,請參閱建立藍/綠部署的設定。
建立藍/綠部署的設定
下表說明您在建立藍/綠部署時可以選擇的設定。如需 AWS CLI 選項的詳細資訊,請參閱 create-blue-green-deployment。如需 RDS API 參數的詳細資訊,請參閱 CreateBlueGreenDeployment。
| 主控台設定 | 設定說明 | CLI 選項和 RDS API 參數 |
|---|---|---|
|
配置儲存 |
要分配給綠色資料庫執行個體的儲存量 (以 GiB 為單位)。您可以選擇增加或減少分配的儲存體。 如果藍色資料庫執行個體使用磁性 ( 如需詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體。 |
CLI 選項:
API 參數:
|
|
藍/綠部署識別符 |
藍/綠部署的名稱。 |
CLI 選項:
API 參數:
|
| 藍色資料庫識別符 |
您想要複製到綠色環境之執行個體的識別符。使用 CLI 或 API 時,請指定執行個體 Amazon Resource Name (ARN)。 |
CLI 選項:
API 參數:
|
| 綠色資料庫的資料庫參數群組 | 在綠色環境中要與資料庫相關聯的參數群組。 |
CLI 選項:
API 參數:
|
| 啟用綠色資料庫的最佳化寫入 |
在綠色主要資料庫執行個體啟用 RDS Optimized Writes。如需詳細資訊,請參閱啟用 RDS Optimized Writes。 如果您要從不支援 Optimized Writes 的資料庫執行個體類別變更為支援 Optimized Writes 的類別,您還需要執行儲存組態升級。如需詳細資訊,請參閱升級儲存組態。 |
對於 CLI 和 API,指定支援 RDS Optimized Writes 的目標資料庫執行個體類別,會在綠色主要資料庫執行個體自動啟用此功能。 |
|
綠色資料庫的引擎版本 |
將綠色環境中的資料庫執行個體升級至指定的資料庫引擎版本。 如果未指定,都會使用與藍色環境中對應資料庫執行個體相同的引擎版本建立綠色環境中的每個資料庫。 如果您選擇 RDS for PostgreSQL 資料庫執行個體 (使用邏輯複寫),請檢閱並確認邏輯複寫限制。如需詳細資訊,請參閱藍/綠部署的邏輯複寫特定限制。 |
CLI 選項:
RDS API 參數:
|
| 資料庫執行個體類別 |
綠色環境中每個資料庫執行個體的運算與記憶體容量,例如 只有在您為綠色資料庫啟用 RDS Optimized Writes 時,此選項才可見。 |
CLI 選項:
RDS API 參數:
|
| 佈建 IOPS |
初始分配給綠色資料庫的已佈建每秒讀寫次數 (IOPS) 數量。 此值僅適用於綠色主要資料庫執行個體 (不適用於綠色複本)。 |
CLI 選項:
RDS API 參數:
|
| 儲存體組態升級 |
選擇是否升級儲存體檔案系統組態。如果啟用此設定,RDS 會將綠色資料庫從舊儲存體檔案系統移轉至偏好的組態。 只有當您的藍色資料庫不在最新的儲存組態上,或您要在相同要求中啟用 RDS Optimized Writes 時,才能使用此選項。您只能在最初建立藍/綠部署時升級儲存體組態。 如需詳細資訊,請參閱升級資料庫執行個體的儲存體檔案系統。 |
CLI 選項:
RDS API 參數:
|
| Storage throughput (訊息輸送量) |
綠色資料庫的儲存體輸送量值。只有在您針對儲存體類型選擇一般用途 SSD (gp3) 時,此設定才可見。 此值僅適用於綠色主要資料庫執行個體 (不適用於綠色複本)。 如需詳細資訊,請參閱gp3 儲存體 (建議)。 |
CLI 選項:
RDS API 參數:
|
| 儲存體類型 |
綠色資料庫的儲存體類型。支援下列儲存體類型:
此值僅適用於綠色主要資料庫執行個體 (不適用於綠色複本)。 如需詳細資訊,請參閱Amazon RDS 儲存類型。 |
CLI 選項:
RDS API 參數:
|