

# 向现有 Aurora PostgreSQL Limitless Database 数据库集群添加数据库分片组
<a name="limitless-shard-add"></a>

您可以在现有数据库集群中创建数据库分片组，例如，如果您正在恢复数据库集群或已删除该数据库分片组。

有关主数据库集群和数据库分片组要求的更多信息，请参阅 [Aurora PostgreSQL Limitless Database 要求和注意事项Aurora PostgreSQL Limitless Database 要求和注意事项](limitless-reqs-limits.md)。

**注意**  
每个集群只能有一个数据库分片组。  
在创建数据库分片组之前，Limitless Database 数据库集群必须处于 `available` 状态。

## 控制台
<a name="limitless-shard-add.CON"></a>

您可以使用 AWS 管理控制台 向现有数据库集群添加数据库分片组。

**添加数据库分片组**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 导航到**数据库**页面。

1. 选择要向其添加数据库分片组的 Limitless Database 数据库集群。

1. 对于**操作**，选择**添加数据库分片组**。  
![\[添加数据库分片组\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/limitless_add_shard_group.png)

1. 输入**数据库分片组标识符**。
**重要**  
创建数据库分片组后，您将无法更改数据库集群标识符或数据库分片组标识符。

1. 输入**最小容量（ACU）**。最小值为 16 ACU。

1. 输入**最大容量（ACU）**。使用介于 16–6144 ACU 之间的值。

   有关更多信息，请参阅 [将数据库分片组的最大容量与创建的路由器和分片的数量相关联](limitless-cluster.md#limitless-capacity-mapping)。

1. 对于**数据库分片组部署**，选择是否为数据库分片组创建备用数据库：
   + **没有计算冗余** – 为每个分片创建没有备用数据库的数据库分片组。这是默认值。
   + **使用单个失效转移目标计算冗余** – 在不同的可用区（AZ）中创建带有一个计算备用数据库的数据库分片组。
   + **使用两个失效转移目标计算冗余** – 在两个不同的可用区中创建带有两个计算备用数据库的数据库分片组。

1. 选择是否可以公开访问数据库分片组。
**注意**  
创建数据库分片组之后，您将无法修改此设置。

1. 选择**添加数据库分片组**。

## AWS CLI
<a name="limitless-shard-add.CLI"></a>

使用 `create-db-shard-group` AWS CLI 命令创建数据库分片组。

以下参数为必需参数：
+ `--db-cluster-identifier` – 数据库分片组所属的数据库集群。
+ `--db-shard-group-identifier` – 数据库分片组的名称。

  数据库分片组标识符具有以下限制：
  + 它在创建它的 AWS 区域和 AWS 账户中必须是唯一的。
  + 必须包含 1-63 个字母、数字或连字符。
  + 第一个字符必须是字母。
  + 它不能以连字符结尾，也不能包含两个连续连字符。
**重要**  
创建数据库分片组后，您将无法更改数据库集群标识符或数据库分片组标识符。
+ `--max-acu` – 数据库分片组的最大容量。使用介于 16–6144 ACU 之间的值。

以下参数可选：
+ `--compute-redundancy` – 是否为数据库分片组创建备用数据库。此参数可能具有以下值：
  + `0` – 为每个分片创建没有备用数据库的数据库分片组。这是默认值。
  + `1` – 在不同的可用区（AZ）中创建带有一个计算备用数据库的数据库分片组。
  + `2` – 在两个不同的可用区中创建带有两个计算备用数据库的数据库分片组。
**注意**  
如果将计算冗余设置为非零值，则节点总数将增加一倍或两倍。这将产生额外费用。
+ `--min-acu` – 数据库分片组的最小容量。它必须至少为 16 ACU，这是默认值。
+ `--publicly-accessible|--no-publicly-accessible` – 是否向数据库分片组分配可公开访问的 IP 地址。对数据库分片组的访问由集群使用的安全组控制。

  默认为 `--no-publicly-accessible`。
**注意**  
创建数据库分片组之后，您将无法修改此设置。

以下示例在 Aurora PostgreSQL 数据库集群中创建了一个数据库分片组。

```
aws rds create-db-shard-group \
    --db-cluster-identifier my-db-cluster \
    --db-shard-group-identifier my-new-shard-group \
    --max-acu 1000
```

输出与以下内容类似。

```
{
    "Status": "CREATING",
    "Endpoint": "my-db-cluster.limitless-ckifpdyyyxxx.us-east-1.rds.amazonaws.com",
    "PubliclyAccessible": false, 
    "DBClusterIdentifier": "my-db-cluster",
    "MaxACU": 1000.0,
    "DBShardGroupIdentifier": "my-new-shard-group",
    "DBShardGroupResourceId": "shardgroup-8986d309a93c4da1b1455add17abcdef",
    "ComputeRedundancy": 0
}
```