

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

# 使用 AWS CLI
<a name="multi-region-aws-cli"></a>

CLI AWS 提供用於管理多區域 Aurora DSQL 叢集的命令列界面。下列範例說明如何建立、設定和刪除多區域叢集。

## 連線至多區域叢集
<a name="connecting-multi-region-clusters"></a>

多區域對等叢集提供兩個區域端點，每個對等叢集 AWS 區域各一個。這兩個端點都提供單一邏輯資料庫，支援具有強大資料一致性的並行讀取和寫入作業。除了對等叢集之外，多區域叢集還具有見證區域，會存放一段有限的加密交易日誌，用於改善多區域的耐久性和可用性。多區域見證區域不具備端點。

## 建立多區域叢集
<a name="creating-multi-region-clusters"></a>

若要建立多區域叢集，您必須先建立具有見證區域的叢集。然後，將此叢集與第二個叢集對等互連，第二個叢集與第一個叢集共用相同的見證區域。下列範例說明如何在美國東部 (維吉尼亞北部) 和美國東部 (俄亥俄) 建立叢集，並以美國西部 (奧勒岡) 做為見證區域。

### 步驟 1：在美國東部 (維吉尼亞北部) 建立一個叢集
<a name="create-first-cluster"></a>

若要在美國東部 （維吉尼亞北部） AWS 區域 使用多區域屬性建立叢集，請使用下列命令。

```
aws dsql create-cluster \
--region us-east-1 \
--multi-region-properties '{"witnessRegion":"us-west-2"}'
```

**Example 回應：**  

```
{
    "identifier": "abc0def1baz2quux3quuux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/abc0def1baz2quux3quuux4",
    "status": "UPDATING",
    "encryptionDetails": {
        "encryptionType": "AWS_OWNED_KMS_KEY",
        "encryptionStatus": "ENABLED"
   }
   "creationTime": "2024-05-24T09:15:32.708000-07:00"
}
```

**注意**  
當 API 作業成功時，叢集會進入 `PENDING_SETUP` 狀態。建立的叢集會維持在 `PENDING_SETUP` 狀態，直到您使用對等叢集的 ARN 為其更新。

### 步驟 2：在美國東部 (俄亥俄) 建立叢集二
<a name="create-cluster-two"></a>

若要在美國東部 （俄亥俄） AWS 區域 使用多區域屬性建立叢集，請使用下列命令。

```
aws dsql create-cluster \
--region us-east-2 \
--multi-region-properties '{"witnessRegion":"us-west-2"}'
```

**Example 回應：**  

```
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "PENDING_SETUP",
    "creationTime": "2025-05-06T06:51:16.145000-07:00",
    "deletionProtectionEnabled": true,
    "multiRegionProperties": {
        "witnessRegion": "us-west-2",
        "clusters": [
            "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
        ]
    }
}
```

當 API 作業成功時，叢集會轉換為 `PENDING_SETUP` 狀態。建立的叢集會維持在 `PENDING_SETUP` 狀態，直到您使用另一個對等叢集的 ARN 為其更新。

### 步驟 3：將美國東部 (維吉尼亞北部) 與美國東部 (俄亥俄) 叢集對等互連
<a name="peer-cluster-east1"></a>

若要將美國東部 (維吉尼亞北部) 叢集與美國東部 (俄亥俄) 叢集對等互連，請使用 `update-cluster` 命令。使用美國東部 (俄亥俄) 叢集的 ARN，指定美國東部 (維吉尼亞北部) 叢集名稱和 JSON 字串。

```
aws dsql update-cluster \
--region us-east-1 \
--identifier 'foo0bar1baz2quux3quuxquux4' \
--multi-region-properties '{"witnessRegion": "us-west-2","clusters": ["arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"]}'
```

**Example 回應**  

```
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:46:10.745000-07:00"
}
```

### 步驟 4：將美國東部 (俄亥俄) 與美國東部 (維吉尼亞北部) 叢集對等互連
<a name="peer-cluster-east2"></a>

若要將美國東部 (俄亥俄) 叢集與美國東部 (維吉尼亞北部) 叢集對等互連，請使用 `update-cluster` 命令。使用美國東部 (維吉尼亞北部) 叢集的 ARN，指定您的美國東部 (俄亥俄) 叢集名稱和 JSON 字串。

**Example**  

```
aws dsql update-cluster \
--region us-east-2 \
--identifier 'foo0bar1baz2quux3quuxquux5' \
--multi-region-properties '{"witnessRegion": "us-west-2", "clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'
```

**Example 回應**  

```
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:51:16.145000-07:00"
}
```

**注意**  
成功對等互連後，兩個叢集都會從 "PENDING\_SETUP" 轉換為 "CREATING"，最後在準備就緒時轉換為 "ACTIVE" 狀態。

#### 檢視多區域叢集屬性
<a name="describe-cluster-multiregion"></a>

當您描述叢集時，您可以檢視不同 中叢集的多區域屬性 AWS 區域。

**Example**  

```
aws dsql get-cluster \
--region us-east-1 \
--identifier 'foo0bar1baz2quux3quuxquux4'
```

**Example 回應**  

```
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "PENDING_SETUP", 
    "encryptionDetails": {
    "encryptionType": "AWS_OWNED_KMS_KEY",
    "encryptionStatus": "ENABLED"
},
    "creationTime": "2024-11-27T00:32:14.434000-08:00",
    "deletionProtectionEnabled": false,
    "multiRegionProperties": {
       "witnessRegion": "us-west-2",
       "clusters": [
          "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
          "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
       ]
    }
}
```

#### 在叢集建立期間進行對等互連
<a name="peer-during-creation"></a>

在叢集建立時，您可以將對等資訊包含在內，以減少步驟。在美國東部 (維吉尼亞北部) 建立第一個叢集 (步驟 1) 之後，您可以在美國東部 (俄亥俄) 建立第二個叢集，同時透過含有第一個叢集的 ARN，啟動對等互連程序。

**Example**  

```
aws dsql create-cluster \
--region us-east-2 \
--multi-region-properties '{"witnessRegion":"us-west-2","clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'
```

此處結合了步驟 2 和 4，但您仍然需要完成步驟 3 (使用第二個叢集的 ARN 更新第一個叢集) 以建立對等互連關係。完成所有步驟後，兩個叢集都會轉換到與標準程序中相同的狀態：從 **PENDING\_SETUP** 到 **CREATING**，最後在準備就緒時轉換為 **ACTIVE**。

## 刪除多區域叢集
<a name="delete-clusters"></a>

若要刪除多區域叢集，您需要完成兩個步驟。

1. 關閉每個叢集的刪除保護。

1. 在各自的 中分別刪除每個對等叢集 AWS 區域

### 在美國東部 (維吉尼亞北部) 更新和刪除叢集
<a name="delete-cluster-us-east-1"></a>

1. 使用 `update-cluster` 命令關閉刪除保護。

   ```
   aws dsql update-cluster \
     --region us-east-1 \
     --identifier 'foo0bar1baz2quux3quuxquux4' \
     --no-deletion-protection-enabled
   ```

1. 使用 `delete-cluster` 命令刪除叢集。

   ```
   aws dsql delete-cluster \
     --region us-east-1 \
     --identifier 'foo0bar1baz2quux3quuxquux4'
   ```

   該命令會傳回下列回應。

   ```
   {
       "identifier": "foo0bar1baz2quux3quuxquux4",
       "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
       "status": "PENDING_DELETE", 
       "creationTime": "2025-05-06T06:46:10.745000-07:00"
   }
   ```
**注意**  
叢集會轉換為 `PENDING_DELETE` 狀態。在您刪除美國東部 (俄亥俄) 的對等叢集之前，不會完成刪除程序。

### 在美國東部 (俄亥俄) 更新和刪除叢集
<a name="delete-cluster-us-east-2"></a>

1. 使用 `update-cluster` 命令關閉刪除保護。

   ```
   aws dsql update-cluster \
   --region us-east-2 \
   --identifier 'foo0bar1baz2quux3quux4quuux' \
   --no-deletion-protection-enabled
   ```

1. 使用 `delete-cluster` 命令刪除叢集。

   ```
   aws dsql delete-cluster \
   --region us-east-2 \
   --identifier 'foo0bar1baz2quux3quuxquux5'
   ```

   該命令會傳回下列回應：

   ```
   {
       "identifier": "foo0bar1baz2quux3quuxquux5",
       "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
       "status": "PENDING_DELETE",
       "creationTime": "2025-05-06T06:46:10.745000-07:00"
   }
   ```
**注意**  
叢集會轉換為 `PENDING_DELETE` 狀態。幾秒鐘後，系統會在驗證後自動將兩個對等叢集轉換為 `DELETING` 狀態。