

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

# 在 Amazon Aurora 中建立藍/綠部署
<a name="blue-green-deployments-creating"></a>

RDS 將藍色環境的拓撲和功能複製到預備區域。當藍色資料庫執行個體具有僅供讀取複本時，系統會將僅供讀取複本複製為綠色執行個體的複本。所有綠色複本的分配儲存符合綠色主要執行個體，而其他儲存參數則繼承自藍色複本。

建立藍/綠部署時，您可以指定要在部署中複製的資料庫叢集。您選擇的資料庫叢集是生產資料庫叢集，而且其會成為藍色環境中的資料庫叢集。RDS 將藍色環境的拓撲複製到預備區域，以及複製其設定的功能。資料庫叢集會複製到綠色環境，而且 RDS 會設定從藍色環境中的資料庫叢集複寫到綠色環境中的資料庫叢集。RDS 也會複製資料庫叢集中的所有資料庫執行個體。

**Topics**
+ [準備進行藍/綠部署](#blue-green-deployments-creating-preparing)
+ [在建立藍/綠部署時指定變更](#blue-green-deployments-creating-changes)
+ [建立藍/綠部署](#blue-green-deployments-creating-create)
+ [建立藍/綠部署的設定](#create-blue-green-settings)

## 準備進行藍/綠部署
<a name="blue-green-deployments-creating-preparing"></a>

根據 Aurora 資料庫叢集所執行的引擎而定，建立藍/綠部署之前，您必須執行某些步驟。

**Topics**
+ [準備 Aurora MySQL 資料庫叢集以進行藍/綠部署](#blue-green-deployments-creating-preparing-mysql)
+ [準備 Aurora PostgreSQL 資料庫叢集以進行藍/綠部署](#blue-green-deployments-creating-preparing-postgres)
+ [準備 Aurora 全域資料庫資料庫叢集以進行藍/綠部署](#blue-green-deployments-creating-preparing-agd)

### 準備 Aurora MySQL 資料庫叢集以進行藍/綠部署
<a name="blue-green-deployments-creating-preparing-mysql"></a>

在針對 Aurora MySQL 資料庫叢集建立藍/綠部署之前，叢集必須與已開啟[二進位記錄](USER_LogAccess.MySQL.BinaryFormat.md) (`binlog_format`) 的自訂資料庫叢集參數群組相關聯。從藍色環境複寫到綠色環境時，需要二進位記錄。雖然任何 binlog 格式都可以運作，但我們建議 `ROW`，以降低複寫不一致的風險。如需建立自訂資料庫叢集參數群組和設定參數的相關資訊，請參閱 [Amazon Aurora 資料庫叢集的資料庫叢集參數群組](USER_WorkingWithDBClusterParamGroups.md)。

**注意**  
啟用二進位日誌記錄會增加資料庫叢集的寫入磁碟 I/O 操作次數。您可以使用 `VolumeWriteIOPs` CloudWatch 指標來監控 IOPS 使用情況。

啟用二進位記錄之後，請務必重新啟動資料庫叢集，以讓變更生效。藍/綠部署*要求*寫入器執行個體與資料庫叢集參數群組同步，否則建立作業將會失敗。如需詳細資訊，請參閱[在 Aurora 叢集中重新啟動資料庫執行個體](aurora-reboot-db-instance.md)。

此外，我們建議將二進位日誌保留期變更為 `NULL` 以外的值，以防止二進位日誌檔案遭到清除。如需詳細資訊，請參閱[設定和顯示二進位日誌組態](mysql-stored-proc-configuring.md)。

### 準備 Aurora PostgreSQL 資料庫叢集以進行藍/綠部署
<a name="blue-green-deployments-creating-preparing-postgres"></a>

在針對 Aurora PostgreSQL 資料庫叢集建立藍/綠部署之前，請務必執行下列動作。
+ 將叢集與已啟用邏輯複寫 (`rds.logical_replication`) 的自訂資料庫叢集參數群組建立關聯。從藍色環境複寫到綠色環境時，需要邏輯複寫。

  啟用邏輯複寫時，您也需要調校特定叢集參數，例如 `max_replication_slots`、`max_logical_replication_workers` 和 `max_worker_processes`。如需啟用邏輯複寫和調校這些參數的指示，請參閱[針對 Aurora PostgreSQL 資料庫叢集設定邏輯複寫](AuroraPostgreSQL.Replication.Logical.Configure.md)。

  此外，請確保將 `synchronous_commit` 參數設為 `on`。

  設定必要的參數之後，請重新啟動資料庫叢集，讓變更生效。藍/綠部署*要求*寫入器執行個體與資料庫叢集參數群組同步，否則建立作業將會失敗。如需詳細資訊，請參閱[在 Aurora 叢集中重新啟動資料庫執行個體](aurora-reboot-db-instance.md)。
+ 確定資料庫叢集執行的是與藍/綠部署相容的 Aurora PostgreSQL 版本。如需相容版本的清單，請參閱 [透過 Aurora PostgreSQL 進行藍/綠部署](Concepts.Aurora_Fea_Regions_DB-eng.Feature.BlueGreenDeployments.md#Concepts.Aurora_Fea_Regions_DB-eng.Feature.BlueGreenDeployments.apg)。
+ 請確定資料庫叢集中的所有資料表都有主索引鍵。PostgreSQL 邏輯複寫不允許對沒有主索引鍵的資料表進行 UPDATE 或 DELETE 操作。

### 準備 Aurora 全域資料庫資料庫叢集以進行藍/綠部署
<a name="blue-green-deployments-creating-preparing-agd"></a>

為您的 Aurora Global Database 資料庫叢集建立藍/綠部署之前，請注意下列幾點：
+ 所有操作都必須從與全球資料庫寫入器叢集相同的區域啟動。
+ 參數群組組態：
  + 綠色環境會使用您指定的新參數群組，或與藍色叢集相同的參數群組 （預設）。
  + 自訂參數群組會複製到綠色環境。
  + 如果指定的參數群組不存在於次要區域中，則次要區域中的預設參數群組會用於綠色環境。

## 在建立藍/綠部署時指定變更
<a name="blue-green-deployments-creating-changes"></a>

建立藍/綠部署時，您可以在綠色環境中對資料庫叢集進行下列變更。

您可以在部署之後，於綠色環境中對資料庫叢集及其資料庫執行個體進行其他修改。例如，您可以指定較高的引擎版本或不同的參數群組。

如需修改資料庫叢集的詳細資訊，請參閱 [修改 Amazon Aurora 資料庫叢集](Aurora.Modifying.md)。

**Topics**
+ [指定較高的引擎版本](#blue-green-deployments-engine-version)
+ [指定不同的資料庫參數群組](#blue-green-deployments-parameters)

### 指定較高的引擎版本
<a name="blue-green-deployments-engine-version"></a>

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

### 指定不同的資料庫參數群組
<a name="blue-green-deployments-parameters"></a>

指定資料庫叢集參數群組，需與資料庫叢集所使用的資料庫叢集參數群組不同。您可以測試參數變更如何影響綠色環境中的資料庫叢集，或在升級時針對新的主要資料庫引擎版本指定參數群組。

如果您指定不同的資料庫叢集參數群組，則指定的參數群組會與綠色環境中的資料庫叢集相關聯。如果您未指定不同的資料庫叢集參數群組，則綠色環境中的資料庫叢集會與藍色資料庫叢集相同的參數群組相關聯。

## 建立藍/綠部署
<a name="blue-green-deployments-creating-create"></a>

您可以使用 AWS 管理主控台、 AWS CLI或 RDS API 建立藍/綠部署。

### 主控台
<a name="blue-green-deployments-creating-console"></a>

**建立藍/綠部署**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)，然後選擇您要將其複製到綠色環境的資料庫叢集。

1. 選擇**動作**、**建立藍/綠部署**。

   **建立藍/綠部署**頁面即會出現。  
![\[建立藍/綠部署\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/blue-green-deployment-create-aurora.png)

1. 檢閱藍色資料庫識別符。確定其符合您在藍色環境中預期的資料庫執行個體。如果不符，請選擇 **Cancel** (取消)。

1. 針對**藍/綠部署名稱**，輸入藍/綠部署的名稱。

1. 在其餘區段中，指定綠色環境的設定。如需每項設定的相關資訊，請參閱 [建立藍/綠部署的設定](#create-blue-green-settings)。

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

1. 選擇**建立**。

### AWS CLI
<a name="blue-green-deployments-creating-cli"></a>

若要使用 建立藍/綠部署 AWS CLI，請使用 [create-blue-green-deployment](https://docs.aws.amazon.com/cli/latest/reference/rds/create-blue-green-deployment.html) 命令。如需所有可用選項的資訊，請參閱 [建立藍/綠部署的設定](#create-blue-green-settings)。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds create-blue-green-deployment \
    --blue-green-deployment-name aurora-blue-green-deployment \
    --source arn:aws:rds:us-east-2:123456789012:cluster:auroradb \
    --target-engine-version 8.0 \
    --target-db-cluster-parameter-group-name mydbclusterparametergroup
```
在 Windows 中：  

```
aws rds create-blue-green-deployment ^
    --blue-green-deployment-name aurora-blue-green-deployment ^
    --source arn:aws:rds:us-east-2:123456789012:cluster:auroradb ^
    --target-engine-version 8.0 ^
    --target-db-cluster-parameter-group-name mydbclusterparametergroup
```

### RDS API
<a name="blue-green-deployments-creating-api"></a>

若要使用 Amazon RDS API 建立藍/綠部署，請使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateBlueGreenDeployment.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateBlueGreenDeployment.html) 操作。如需每個選項的詳細資訊，請參閱[建立藍/綠部署的設定](#create-blue-green-settings)。

## 建立藍/綠部署的設定
<a name="create-blue-green-settings"></a>

下表說明您在建立藍/綠部署時可以選擇的設定。如需 AWS CLI 選項的詳細資訊，請參閱 [create-blue-green-deployment](https://docs.aws.amazon.com/cli/latest/reference/rds/create-blue-green-deployment.html)。如需 RDS API 參數的詳細資訊，請參閱 [CreateBlueGreenDeployment](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateBlueGreenDeployment.html)。


| 主控台設定 | 設定說明 | CLI 選項和 RDS API 參數 | 
| --- | --- | --- | 
|  **藍/綠部署識別符**  |  藍/綠部署的名稱。  |  **CLI 選項：** `--blue-green-deployment-name` **API 參數：**  `BlueGreenDeploymentName`  | 
| 藍色資料庫識別符 |  您想要複製到綠色環境之叢集的識別符。使用 CLI 或 API 時，請指定叢集 Amazon Resource Name (ARN)。  |  **CLI 選項：** `--source` **API 參數：** `Source`  | 
|  綠色資料庫的資料庫叢集參數群組  | 在綠色環境中要與資料庫相關聯的參數群組。 |  **CLI 選項：**  `--target-db-cluster-parameter-group-name` **API 參數：**  `TargetDBClusterParameterGroupName`  | 
|  **綠色資料庫的引擎版本**  |  將綠色環境中的資料庫叢集升級至指定的資料庫引擎版本。 如果您選擇 Aurora PostgreSQL 資料庫叢集，請檢閱並確認邏輯複寫限制。如需詳細資訊，請參閱[藍/綠部署的邏輯複寫特定限制](blue-green-deployments-considerations.md#blue-green-deployments-limitations-postgres)。  |  **CLI 選項：** `--target-engine-version` **RDS API 參數：** `TargetEngineVersion`  | 