

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

AWS CLI 提供了用于管理多区域 Aurora DSQL 集群的命令行界面。以下示例演示如何创建、配置和删除多区域集群。

## 连接到多区域集群
<a name="connecting-multi-region-clusters"></a>

多区域对等集群提供两个区域端点，每个对等集群 AWS 区域中各一个。这两个端点都提供了一个逻辑数据库，该数据库支持并发读写操作，并具有强数据一致性。除了对等集群之外，多区域集群还有一个见证区域，它存储有限时段内的加密事务日志，用于提高多区域持久性和可用性。多区域见证区域没有端点。

## 创建多区域集群
<a name="creating-multi-region-clusters"></a>

要创建多区域集群，首先创建一个带有见证区域的集群。然后，您使此集群与第二个集群对等，第二个集群与第一个集群共享相同的见证区域。以下示例显示了如何在美国东部（弗吉尼亚州北部）和美国东部（俄亥俄州）创建以美国西部（俄勒冈州）作为见证区域的集群。

### 步骤 1：在美国东部（弗吉尼亚州北部）创建集群 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：在美国东部（俄亥俄州）创建集群 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` 状态。