

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Keyspaces 的密钥空间中添加一个 AWS 区域
<a name="keyspaces-multi-region-add-replica"></a>

您可以 AWS 区域 向密钥空间添加新的单区域密钥空间或多区域密钥空间。新的副本区域将应用于密钥空间中的所有表。

要将单区域更改为多区域密钥空间，必须为密钥空间中的所有表启用客户端时间戳。有关更多信息，请参阅 [Amazon Keyspaces 中的客户端时间戳](client-side-timestamps.md)。

如果您要向多区域密钥空间添加其他区域，Amazon Keyspaces 必须使用对每个现有表进行一次性跨区域还原来将现有表复制到新区域。每个表的恢复费用按每 GB 计费，有关更多信息，请参阅 Amazon Keyspaces（适用于 Apache Cassandra）定价页面上的[备份和恢复](https://aws.amazon.com/keyspaces/pricing/#:~:text=per%20GB-month-,Restoring%20a%20table,-Restoring%20a%20table)。此恢复操作不收取跨区域数据传输费用。除数据外，除标签之外的所有表属性都将复制到新区域。

您可以使用 CQL 中的`ALTER KEYSPACE`语句、带的`update-keyspace`命令或控制台将新区域添加到 Amazon Keyspaces 中的单个或多区域密钥空间。 AWS CLI为了成功运行对账单，你使用的账户必须位于密钥空间已经可用的区域之一。在添加副本时，您无法对正在更新和复制的资源执行任何其他数据定义语言 (DDL) 操作。

有关添加区域所需权限的更多信息，请参阅[配置向密钥空间添加所需的 AWS 区域 IAM 权限](howitworks_replication_permissions_addReplica.md)。

**注意**  
向单区域密钥空间添加其他区域时，Amazon Keyspaces 会在您的账户中使用该名称创建一个与服务相关的角色。`AWSServiceRoleForAmazonKeyspacesReplication`此角色允许 Amazon Keyspaces 将表复制到新区域，并代表您将写入从一个表复制到多区域表的所有副本。要了解更多信息，请参阅[使用角色进行 Amazon Keyspaces 多区域复制](using-service-linked-roles-multi-region-replication.md)。

------
#### [ Console ]

按照以下步骤使用 Amazon Keyspaces 控制台向密钥空间添加区域。

**向密钥空间添加区域（控制台）**

1. [登录并在家中打开 Amazon Keyspaces 控制台。 AWS 管理控制台 https://console.aws.amazon.com/keyspaces/](https://console.aws.amazon.com/keyspaces/home)

1. 在导航窗格中，选择 **Keyspaces**，然后从列表中选择一个密钥空间。

1. 选择 **AWS 区域** 选项卡。

1. 在**AWS 区域**选项卡上，选择**添加区域**。

1. 在 “**添加区域**” 对话框中，选择要添加到密钥空间的其他区域。

1. 要完成操作，请选择 “**添加**”。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 向密钥空间添加区域**
+ 要向密钥空间添加新区域，可以使用以下语句。在此示例中，密钥空间已在美国东部（弗吉尼亚北部）地区和美国西部（俄勒冈）地区可用，CQL 语句正在添加美国西部区域（加利福尼亚北部）区域。

  ```
  ALTER KEYSPACE my_keyspace
  WITH REPLICATION = {
      'class': 'NetworkTopologyStrategy',
      'us-east-1': '3',
      'us-west-2': '3',
      'us-west-1': '3'
  } AND CLIENT_SIDE_TIMESTAMPS = {'status': 'ENABLED'};
  ```

------
#### [ CLI ]

**使用向密钥空间添加区域 AWS CLI**
+ 要使用 CLI 向密钥空间添加新区域，可以使用以下示例。请注意，`client-side-timestamps` 默认值为 `DISABLED`。使用`update-keyspace`命令时，必须将值更改为`ENABLED`。

  ```
  aws keyspaces update-keyspace \
  --keyspace-name my_keyspace \
  --replication-specification '{"replicationStrategy": "MULTI_REGION", "regionList": ["us-east-1", "eu-west-1", "eu-west-3"] }' \
  --client-side-timestamps '{"status": "ENABLED"}'
  ```

------