建立藍/綠部署 - Amazon Relational Database Service

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

建立藍/綠部署

建立藍/綠部署時,您可以指定要在部署中複製的來源資料庫執行個體。您選擇的資料庫執行個體是生產資料庫執行個體,而且其會成為藍色環境中的主要資料庫執行個體。此資料庫執行個體會複製到綠色環境,並RDS設定從藍色環境中的資料庫執行個體複製到綠色環境中的資料庫執行個體。

RDS將藍色環境的拓撲與其配置的功能一起複製到暫存區域。當藍色資料庫執行個體具有僅供讀取複本時,僅供讀取複本會複製為部署中綠色資料庫執行個體的僅供讀取複本。如果藍色資料庫執行個體是多可用區域資料庫執行個體部署,則會建立綠色資料庫執行個體,作為多可用區域資料庫執行個體部署。

準備進行藍/綠部署

根據 執行個體執行的引擎而定,在建立藍/綠部署之前,您必須行某些步驟。

為我的資料庫RDS執行個體SQL進行藍色/綠色部署做準備

在為 My SQL DB 執行個RDS體建立藍/綠部署之前,必須先啟用自動備份。如需說明,請參閱 啟用自動備份

準備用於藍色/綠色部署的Postgre SQL 資料庫執行個RDS體

為 Postgre SQL 資料庫執行個RDS體建立藍/綠部署之前,請務必執行下列動作:

  • 將執行個體與已開啟邏輯複寫 (rds.logical_replication) 的自訂資料庫參數群組建立關聯。從藍色環境複寫到綠色環境時,需要邏輯複寫。如需說明,請參閱 修改 Amazon RDS Amazon 數據庫參數組中的參數

    由於藍/綠部署每個資料庫至少需要一個背景 Worker,因此請務必根據您的工作負載調整下列組態設定。如需調整每個設定的指示,請參閱 Postgre SQL 文件中的組態設定。

    • max_replication_slots

    • max_wal_senders

    • max_logical_replication_workers

    • max_worker_processes

    啟用邏輯複寫並設定所有組態選項後,請務必重新啟動資料庫執行個體,以讓您的變更生效。藍/綠部署要求資料庫執行個體與資料庫參數群組同步,否則建立作業將會失敗。如需詳細資訊,請參閱重新啟動中的資料庫執行個體

  • 請確定您的資料庫執行個體執行的 RDS For Postgre SQL 版本與RDS藍/綠部署相容。如需相容版本的清單,請參閱支援 Amazon RDS 藍色/綠色部署的區域和資料庫引擎

  • 確認資料庫執行個體不是外部複寫的來源或目標。如需詳細資訊,請參閱藍/綠部署的一般限制

  • 確定資料庫執行個體中的所有資料表都有主索引鍵。Postgre SQL 邏輯複寫不允許UPDATE或對沒有主索引鍵的資料表DELETE執行作業。

  • 如果您使用的是觸發器,請確定它們不會干擾名稱以「RDS」開頭的pg_catalog.pg_publicationpg_catalog.pg_subscription、和pg_catalog.pg_replication_slots物件的建立、更新和刪除。

在建立藍/綠部署時指定變更

建立藍/綠部署時,您可以在綠色環境中對資料庫執行個體進行下列變更。

您可以在部署之後,於綠色環境中對資料庫執行個體進行其他修改。例如,您可能會對資料庫進行結構描述變更,或變更綠色環境中一或多個資料庫執行個體所使用的資料庫執行個體類別

如需修改資料庫執行個體的相關資訊,請參閱修改 Amazon RDS 資料庫執行個體

指定較高的引擎版本

如果想要測試資料庫引擎升級,您可以指定更高的引擎版本。轉換時,資料庫會升級至您指定的主要或次要資料庫引擎版本。

指定不同的資料庫參數群組

您可以測試參數變更如何影響綠色環境中的資料庫執行個體,或在升級時針對新的主要資料庫引擎版本指定參數群組。

如果您指定不同的資料庫參數群組,則指定的資料庫參數群組會與綠色環境中的所有資料庫執行個體相關聯。如果您指定不同的參數群組,則綠色環境中的每個資料庫執行個體都會與其對應藍色資料庫執行個體的參數群組相關聯。

啟用RDS最佳化寫入

您可以使用藍/綠部署升級到支援RDS最佳化寫入的資料庫執行個體類別。您只能在使用支援的資料庫執行個體類別建立的資料庫上啟用「RDS最佳化寫入」。因此,此選項會建立使用支援的資料庫執行個體類別的綠色資料庫,讓您在綠色資料庫執行個體上開啟「RDS最佳化寫入」。

如果要從不支援「最佳化寫入」的資料庫執行個體類別升級至具有「RDS最佳化寫入」的執行個體類別,則還必須升級綠色資料庫執行個體的儲存組態。如需詳細資訊,請參閱升級儲存組態

您只能升級主要綠色資料庫執行個體的資料庫執行個體類別。根據預設,綠色環境中的僅供讀取複本會繼承藍色環境中的資料庫執行個體設定。成功建立綠色環境後,您必須在綠色環境中手動修改僅供讀取複本的資料庫執行個體類別。

視藍色資料庫執行個體的引擎版本和執行個體類別而定,不支援某些執行個體類別升級。如需資料庫執行個體類別的詳細資訊,請參閱 數據庫實例類

升級儲存組態

如果您的藍色資料庫不在最新的儲存設定上,RDS可以將綠色資料庫執行個體從舊的儲存設定 (32 位元檔案系統) 移轉至偏好的組態。您可以使用RDS藍/綠部署來克服舊版 32 位元檔案系統對儲存和檔案大小的擴展限制。此外,如果指定的資料庫執行個體類別支援「RDS最佳化寫入」,則此設定會將儲存組態變更為與「最佳化寫入」相容。

注意

升級儲存組態是 I/O 密集型作業,會導致藍/綠部署的建立時間延長。如果藍色資料庫執行個體使用佈建 IOPS SSD (io1) 儲存,並且您提供執行個體大小為 4xlarge 或更大的綠色環境,則儲存升級程序會更快。涉及一般用途 SSD (gp2) 儲存裝置的儲存升級可能會耗盡 I/O 積分餘額,進而延長升級時間。如需詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

在儲存體升級程序期間,資料庫引擎無法使用。如果藍色資料庫執行個體的儲存耗用量大於或等於已配置儲存體大小的 90%,則儲存升級程序會將綠色執行個體配置的儲存大小增加 10%。

只有當您的藍色資料庫在最新的儲存組態上,或您要變更相同要求中的資料庫執行個體類別時,才能使用此選項。您只能在最初建立藍/綠部署時升級儲存區組態。

在建立藍/綠部署時處理延遲載入

當您建立藍/綠部署時,Amazon RDS 會透過從資料庫快照還原,在綠色環境中建立主要資料庫執行個體。在建立之後,綠色資料庫執行個體會繼續在背景中載入資料,這稱為延遲載入。如果資料庫執行個體具有僅供讀取複本,則這些複本也會從資料庫快照建立,並受制於延遲載入。

如果您存取尚未載入的資料,資料庫執行個體會立即從 Amazon S3 下載所請求的資料,然後繼續在背景載入剩餘的資料。如需詳細資訊,請參閱 Amazon EBS 快照

若要協助緩解延遲載入對要快速存取之資料表的影響,您可以執行涉及完整資料表掃描的作業,例如 SELECT *。此操作允許 Amazon RDS 從 S3 下載所有備份的表數據。

如果應用程式嘗試存取未載入的資料,則在載入資料時,應用程式可能會遭遇比正常情況更高的延遲。由於延遲載入而產生的更高延遲可能會導致對延遲敏感的工作負載效能不佳。

重要

如果您在資料載入完成之前切換藍/綠部署,您的應用程式可能會由於高延遲而遭遇效能問題。

建立藍/綠部署

您可以使用建立藍色/綠色部署 AWS Management Console,該 AWS CLI,或 RDSAPI.

建立藍/綠部署
  1. 登入 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫),然後選擇您要將其複製到綠色環境的資料庫執行個體

  3. 選擇「動作」,「建立藍/綠部署」。

    如果您RDS為 Postgre SQL 資料庫執行個體選擇 Aurora Postgre SQL 資料庫,請檢閱並確認邏輯複寫限制。如需詳細資訊,請參閱藍/綠部署的SQL發生邏輯複製限制

    Create Blue/Green Deployment (建立藍/綠部署) 頁面即會出現。

    建立藍/綠部署
  4. 檢閱藍色資料庫識別碼。請確定它們符合您預期在藍色環境中的資料庫執行個體。如果不符,請選擇 Cancel (取消)。

  5. 針對 Blue/Green Deployment identifier (藍/綠部署識別符),請輸入藍/綠部署的名稱。

  6. 在其餘部分中,指定綠色環境的設定。如需每項設定的相關資訊,請參閱 建立藍/綠部署的設定

    您可以在部署之後,於綠色環境中對資料庫進行其他修改。

  7. 選擇建立暫存環境

使用建立藍/綠部署的步驟 AWS CLI,使用指create-blue-green-deployment令。如需每個選項的詳細資訊,請參閱建立藍/綠部署的設定

用於 Linux, macOS,或 Unix:

aws rds create-blue-green-deployment \ --blue-green-deployment-name my-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 \ --target-engine-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup

用於 Windows:

aws rds create-blue-green-deployment ^ --blue-green-deployment-name my-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 ^ --target-engine-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup

要使用 Amazon 創建藍色/綠色部署 RDSAPI,請使用該CreateBlueGreenDeployment操作。如需每個選項的詳細資訊,請參閱建立藍/綠部署的設定

建立藍/綠部署的設定

下表說明建立藍/綠部署時可以選擇的設定。如需有關的更多資訊 AWS CLI 選項,請參閱create-blue-green-deployment。如需RDSAPI參數的詳細資訊,請參閱CreateBlueGreenDeployment

主控台設定 設定說明 CLI選項和RDSAPI參數

藍色/綠色部署識別碼

藍/綠部署的名稱。

CLI選項:

--blue-green-deployment-name

API參數:

BlueGreenDeploymentName

藍資料庫識別碼

您要複製到綠色環境的執行個體識別碼。使用CLI或時API,請指定執行個體 Amazon 資源名稱 (ARN)。

CLI選項:

--source

API參數:

Source

綠色資料庫的資料庫參數群組 與綠色環境中的資料庫相關聯的參數群組。

CLI選項:

--target-db-parameter-group-name

--target-db-cluster-parameter-group-name

API參數:

TargetDBParameterGroupName

TargetDBClusterParameterGroupName

為綠色資料庫啟用最佳化寫入

在綠色主要資料庫執行個體上啟用RDS最佳化寫入。如需詳細資訊,請參閱啟用RDS最佳化寫入

如果您要從不支援 Optimized Writes 的資料庫執行個體類別變更為支援 Optimized Writes 的類別,您還需要執行儲存組態升級。如需詳細資訊,請參閱升級儲存組態

對於CLI和API,指定支援「RDS最佳化寫入」的目標資料庫執行個體類別會在綠色主要資料庫執行個體上自動啟用此功能。

綠色資料庫的引擎版本

將綠色環境中的資料庫升級至指定的資料庫引擎版本。

CLI選項:

--target-engine-version

RDSAPI參數:

TargetEngineVersion

綠色 DB 執行個體類別

例如,綠色環境中每個資料庫執行個體的運算和記憶體容量db.m5d.xlarge

只有當您為綠色資料庫啟用「RDS最佳化寫入」時,此選項才可見。

CLI選項:

--target-db-instance-class

RDSAPI參數:

TargetDBInstanceClass

儲存設定升級

選擇是否要升級儲存檔案系統組態。如果啟用此設定,RDS會將綠色資料庫從舊的儲存檔案系統移轉至偏好的組態。

只有當您的藍色資料庫在最新的儲存設定上,或者您要在相同請求中啟用「最RDS佳化寫入」時,才能使用此選項。您只能在最初建立藍/綠部署時升級儲存區組態。

如需詳細資訊,請參閱升級資料庫執行個體的儲存體檔案系統

CLI選項:

--upgrade-target-storage-config

RDSAPI參數:

UpgradeTargetStorageConfig