

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

# 使用資料庫碎片群組
<a name="limitless-shard"></a>

您可以執行下列任務，來新增和管理 Aurora PostgreSQL Limitless Database 的資料庫碎片群組。

**Topics**
+ [連線至 Aurora PostgreSQL Limitless Database 資料庫叢集](#limitless-endpoint)
+ [尋找資料庫碎片群組中的路由器和碎片數量](#limitless-shard.number)
+ [描述資料庫碎片群組](#limitless-describe)
+ [重新啟動資料庫碎片群組](#limitless-reboot)
+ [變更資料庫碎片群組的容量](limitless-capacity.md)
+ [在資料庫碎片群組中分割碎片](limitless-shard-split.md)
+ [將路由器新增至資料庫碎片群組](limitless-add-router.md)
+ [刪除資料庫碎片群組](limitless-shard-delete.md)
+ [將資料庫碎片群組新增至現有的 Aurora PostgreSQL Limitless Database 資料庫叢集](limitless-shard-add.md)

## 連線至 Aurora PostgreSQL Limitless Database 資料庫叢集
<a name="limitless-endpoint"></a>

若要使用 Aurora PostgreSQL Limitless Database，請連線至叢集寫入器或讀取器端點。您可以使用 `psql` 或與 PostgreSQL 搭配使用的任何其他連線公用程式：

```
$ psql -h DB_cluster_endpoint -p port_number -U database_username -d postgres_limitless
```

下列範例使用您在 [CLI](limitless-create-cluster.md#limitless-create-CLI) 中建立之資料庫叢集的端點。

```
$ psql -h my-limitless-cluster.cluster-ckifpdyyyxxx.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d postgres_limitless
```

**注意**  
Aurora PostgreSQL Limitless Database 中資料庫碎片群組的預設資料庫為 `postgres_limitless`。

### 使用無限連線外掛程式
<a name="limitless-connection-plugin"></a>

連線至 Aurora PostgreSQL Limitless Database 時，用戶端會使用叢集端點連線，並由 Amazon Route 53 路由至交易路由器。不過，Route 53 的負載平衡能力受到限制，而且可能在交易路由器允許不均勻的工作負載。[AWS JDBC 驅動程式](https://github.com/awslabs/aws-advanced-jdbc-wrapper)的[無限連線外掛程式](https://github.com/aws/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheLimitlessConnectionPlugin.md)透過執行用戶端負載平衡與負載感知來解決這個問題。如需 [AWS JDBC 驅動程式](https://github.com/awslabs/aws-advanced-jdbc-wrapper)的詳細資訊，請參閱 [使用 Amazon Web Services (AWS) JDBC 驅動程式連線至 Aurora PostgreSQL](Aurora.Connecting.md#Aurora.Connecting.JDBCDriverPostgreSQL)。

## 尋找資料庫碎片群組中的路由器和碎片數量
<a name="limitless-shard.number"></a>

您可以使用下列查詢來尋找路由器和碎片的數量：

```
SELECT * FROM rds_aurora.limitless_subclusters;

 subcluster_id | subcluster_type
---------------+-----------------
 1             | router
 2             | router
 3             | shard
 4             | shard
 5             | shard
 6             | shard
```

## 描述資料庫碎片群組
<a name="limitless-describe"></a>

使用 `describe-db-shard-groups` AWS CLI 命令來描述資料庫碎片群組。以下參數為選用：
+ `--db-shard-group-identifier`：資料庫碎片群組的名稱。

下列範例說明特定的資料庫碎片群組。

```
aws rds describe-db-shard-groups --db-shard-group-identifier my-db-shard-group
```

此輸出看起來會與以下範例相似。

```
{
    "DBShardGroups": [
        {
            "DBShardGroupResourceId": "shardgroup-8986d309a93c4da1b1455add17abcdef",
            "DBShardGroupIdentifier": "my-shard-group",
            "DBClusterIdentifier": "my-limitless-cluster",
            "MaxACU": 1000.0,
            "ComputeRedundancy": 0,
            "Status": "available",
            "PubliclyAccessible": false,
            "Endpoint": "my-limitless-cluster.limitless-ccetp2abcdef.us-east-1.rds.amazonaws.com"
        }
    ]
}
```

## 重新啟動資料庫碎片群組
<a name="limitless-reboot"></a>

有時候，例如當 `max_connections` 參數因為容量變更上限而變更時，您必須重新啟動資料庫碎片群組。

您可以使用 AWS 管理主控台 或 AWS CLI 來變更資料庫碎片群組的容量。

### 主控台
<a name="limitless-reboot.CON"></a>

使用下列程序。

登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 導覽至 **Databases (資料庫)** 頁面。

1. 選取您要重新啟動的資料庫碎片群組。

1. 針對 **Actions** (動作)，選擇 **Reboot** (重新啟動)。

1. 選擇**確認**。

### CLI
<a name="limitless-reboot.CLI"></a>

若要重新啟動資料庫碎片群組，請使用 `reboot-db-shard-group` AWS CLI 命令並搭配以下參數：
+ `--db-shard-group-identifier`：資料庫碎片群組的名稱。

下列範例會重新啟動資料庫碎片群組。

```
aws rds reboot-db-shard-group --db-shard-group-identifier my-db-shard-group
```

# 變更資料庫碎片群組的容量
<a name="limitless-capacity"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 來變更資料庫碎片群組的容量。

## 主控台
<a name="limitless-capacity.CON"></a>

使用下列程序。

登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 導覽至 **Databases (資料庫)** 頁面。

1. 選取您要修改的資料庫碎片群組。

1. 在 **Actions** (動作) 中，選擇 **Modify** (修改)。

   隨即顯示**修改資料庫碎片群組**頁面。  
![\[修改資料庫碎片群組頁面。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/limitless_modify_shard_group.png)

1. 輸入新的**容量下限 (ACU)** 值，例如 **100**。

1. 輸入新的**容量上限 (ACU)** 值，例如 **1000**。

1. 選擇**繼續**。

   確認頁面隨即顯示，其中包含您的變更摘要。

1. 檢閱變更，然後選擇**修改資料庫碎片群組**。

## CLI
<a name="limitless-capacity.CLI"></a>

使用 `modify-db-shard-group` AWS CLI 命令搭配下列參數：
+ `--db-shard-group-identifier`：資料庫碎片群組的名稱。
+ `--max-acu`：資料庫碎片群組的新容量上限。您可以將資料庫碎片群組的最大容量設為 16–6144 個 ACU。如需高於 6144 個 ACU 的容量限制，請聯絡 AWS。

  路由器和碎片的數量不會變更。
+ `--min-acu`：資料庫碎片群組的新容量下限。其必須至少為 16 個 ACU，這是預設值。

下列 CLI 範例會將資料庫碎片群組的容量範圍變更為 100–1000 個 ACU。

```
aws rds modify-db-shard-group \
    --db-shard-group-identifier my-db-shard-group \
    --min-acu 100 \
    --max-acu 1000
```

# 在資料庫碎片群組中分割碎片
<a name="limitless-shard-split"></a>

您可以手動將資料庫碎片群組中的碎片分割成兩個較小的碎片。這稱為*使用者啟動的*碎片分割。

Aurora PostgreSQL Limitless Database 也可以在碎片具有非常大量資料或使用量非常高時分割碎片。這稱為*系統啟動的*碎片分割。

**Topics**
+ [先決條件](#limitless-shard-split.prereqs)
+ [分割碎片](#limitless-shard-split.proc)
+ [追蹤碎片分割](#limitless-shard-split.track)
+ [完成碎片分割](#limitless-shard-split.finalize)
+ [取消碎片分割](#limitless-shard-split.cancel)

## 先決條件
<a name="limitless-shard-split.prereqs"></a>

使用者啟動的碎片分割具有下列先決條件：
+ 您必須擁有資料庫碎片群組。
+ 資料庫碎片群組不能為空：其必須至少包含一個碎片資料表。
+ 使用者必須具有 `rds_aurora_limitless_cluster_admin` 權限。`rds_superuser` 具有此權限，因此主要使用者也具有此權限。`rds_superuser` 可以將權限授予其他使用者：

  ```
  /* Logged in as the master user or a user with rds_superuser privileges */
  CREATE USER username;
  GRANT rds_aurora_limitless_cluster_admin to username;
  ```
+ 您必須知道要分割之碎片的子叢集 (節點) ID。您可以使用下列查詢取得 ID：

  ```
  SELECT * FROM rds_aurora.limitless_subclusters;
  
   subcluster_id | subcluster_type
  ---------------+-----------------
   1             | router
   2             | router
   3             | shard
   4             | shard
   5             | shard
   6             | shard
  ```

若要啟用系統啟動的碎片分割，請在與資料庫叢集相關聯的自訂資料庫叢集參數群組中設定下列資料庫叢集參數：


| 參數 | Value | 
| --- | --- | 
|  `rds_aurora.limitless_enable_auto_scale`  |  `on`  | 
|  `rds_aurora.limitless_auto_scale_options`  |  `split_shard` 或 `add_router,split_shard`。  | 
|  `rds_aurora.limitless_finalize_split_shard_mode`  |  此參數決定如何完成*系統啟動的*碎片分割。值可為下列其中之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/limitless-shard-split.html) 如需更多詳細資訊，請參閱 [完成碎片分割](#limitless-shard-split.finalize)。  此參數僅適用於系統啟動的碎片分割。   | 

如需更多詳細資訊，請參閱 [Amazon Aurora 資料庫叢集的資料庫叢集參數群組](USER_WorkingWithDBClusterParamGroups.md)。

## 分割碎片
<a name="limitless-shard-split.proc"></a>

若要分割資料庫碎片群組中的碎片，請使用 `rds_aurora.limitless_split_shard` 函數。此函數會啟動以非同步方式執行的碎片分割任務。

```
SELECT rds_aurora.limitless_split_shard('subcluster_id');
```

成功提交任務後，請等待任務 ID 傳回，例如：

```
SELECT rds_aurora.limitless_split_shard('3');

    job_id
---------------
 1691300000000
(1 row)
```

**注意**  
不支援並行碎片分割操作。在啟動另一個新增項目操作之前，依序執行與完成每個操作。

## 追蹤碎片分割
<a name="limitless-shard-split.track"></a>

您可以使用任務 ID 來追蹤碎片分割任務。若要描述特定任務並取得更多相關詳細資訊，請執行下列查詢：

```
SELECT * FROM rds_aurora.limitless_list_shard_scale_jobs(job_id);
```

例如：

```
SELECT * FROM rds_aurora.limitless_list_shard_scale_jobs(1691300000000);

    job_id     |    action   |      job_details      | status  |    submission_time     |                  message                  
---------------+-------------+-----------------------+---------+------------------------+-------------------------------------------
 1691300000000 | SPLIT_SHARD | Split Shard 3 by User | SUCCESS | 2023-08-06 05:33:20+00 | Scaling job succeeded.                 +
               |             |                       |         |                        | New shard instance with ID 7 was created.
(1 row)
```

當您傳遞不存在的任務作為輸入時，查詢會傳回錯誤。

```
SELECT * from rds_aurora.limitless_list_shard_scale_jobs(1691300000001);

ERROR:  no job found with the job ID provided
```

您可以使用沒有任務 ID 的相同查詢，來追蹤所有碎片分割任務的狀態，例如：

```
SELECT * FROM rds_aurora.limitless_list_shard_scale_jobs();

    job_id     |   action    |  job_details          |   status    |    submission_time     |                  message                 
---------------+-------------+-----------------------+-------------+------------------------+--------------------------------------------------------------
 1691200000000 | SPLIT_SHARD | Split Shard 3 by User | IN_PROGRESS | 2023-08-05 01:46:40+00 | 
 1691300000000 | SPLIT_SHARD | Split Shard 4 by User | SUCCESS     | 2023-08-06 05:33:20+00 | Scaling job succeeded. +
               |             |                       |             |                        | New shard instance with ID 7 was created.
 1691400000000 | SPLIT_SHARD | Split Shard 5 by User | FAILED      | 2023-08-07 09:20:00+00 | Error occurred for the add shard job 1691400000000.
               |             |                       |             |                        | Retry the command. If the issue persists, contact AWS Support.
 1691500000000 | SPLIT_SHARD | Split Shard 5 by User | CANCELED    | 2023-08-07 09:20:00+00 | Scaling job was cancelled.
(4 rows)
```

任務狀態可以是下列其中之一：
+ `IN_PROGRESS`：碎片分割任務已提交且正在進行中。您一次只能有一個進行中的任務。
+ `PENDING`：碎片分割任務正在等待您完成。如需更多詳細資訊，請參閱 [完成碎片分割](#limitless-shard-split.finalize)。
+ `CANCELLATION_IN_PROGRESS`：使用者正在取消碎片分割任務。
+ `CANCELED`：使用者或系統已成功取消碎片分割任務。
+ `SUCCESS`：碎片分割任務已成功完成。`message` 欄位包含新碎片的執行個體 ID。
+ `FAILED`：碎片分割任務失敗。`message` 欄位包含失敗的詳細資訊，以及可作為失敗任務後續工作的任何動作。

## 完成碎片分割
<a name="limitless-shard-split.finalize"></a>

完成是碎片分割程序的最後一步。其會導致一些停機時間。如果您啟動碎片分割任務，則完成會在任務成功完成後立即完成。

當您使用 `rds_aurora.limitless_enable_auto_scale` 參數啟用系統啟動的碎片分割時，系統有時會根據工作負載分割碎片。

在這種情況下，您可以選擇是否立即完成，還是在您選擇的時間完成。您可以使用 `rds_aurora.limitless_finalize_split_shard_mode` 資料庫叢集參數來選擇何時發生：
+ 如果您將值設為 `immediate`，則會立即發生。
+ 如果您將值設為 `user_initiated`，則必須手動完成碎片分割任務。

  系統會將 RDS 事件傳送給您，以及將碎片分割任務的狀態設為 `PENDING`。

設定為 `user_initiated` 時，您可以使用 `rds_aurora.limitless_finalize_split_shard` 函數來完成碎片分割任務：

```
SELECT * FROM rds_aurora.limitless_finalize_split_shard(job_id);
```

**注意**  
此函數僅適用於由系統啟動的碎片分割，而非由您啟動的碎片分割。

## 取消碎片分割
<a name="limitless-shard-split.cancel"></a>

您可以取消狀態為 `IN_PROGRESS` 或 `PENDING` 的使用者啟動或系統啟動碎片分割。您需要任務 ID 才能將其取消。

```
SELECT * from rds_aurora.limitless_cancel_shard_scale_jobs(job_id);
```

除非發生錯誤，否則不會傳回任何輸出。您可以使用任務追蹤查詢來追蹤取消。

# 將路由器新增至資料庫碎片群組
<a name="limitless-add-router"></a>

您可以將路由器新增至資料庫碎片群組。

**Topics**
+ [先決條件](#limitless-add-router.prereqs)
+ [新增路由器](#limitless-add-router.proc)
+ [追蹤路由器新增項目](#limitless-add-router.track)
+ [取消路由器新增項目](#limitless-add-router.cancel)

## 先決條件
<a name="limitless-add-router.prereqs"></a>

新增路由器有下列先決條件：
+ 您必須擁有資料庫碎片群組。
+ 使用者必須具有 `rds_aurora_limitless_cluster_admin` 權限。`rds_superuser` 具有此權限，因此主要使用者也具有此權限。`rds_superuser` 可以將權限授予其他使用者：

  ```
  /* Logged in as the master user or a user with rds_superuser privileges */
  CREATE USER username;
  GRANT rds_aurora_limitless_cluster_admin to username;
  ```
**注意**  
如果您在建立資料庫碎片群組後變更 AWS 帳戶 的預設 CA 憑證，新路由器將使用新的 CA 憑證 (此憑證與現有路由器的 CA 憑證不同)。根據信任存放區，某些連線可能會失敗。
+ 若要啟用系統啟動的路由器新增，請在與資料庫叢集相關聯的自訂資料庫叢集參數群組中設定下列資料庫叢集參數：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/limitless-add-router.html)

  如需更多詳細資訊，請參閱 [Amazon Aurora 資料庫叢集的資料庫叢集參數群組](USER_WorkingWithDBClusterParamGroups.md)。

## 新增路由器
<a name="limitless-add-router.proc"></a>

若要新增路由器，請使用 `rds_aurora.limitless_add_router` 函數。此函數會啟動以非同步方式執行的路由器新增項目任務。

```
SELECT rds_aurora.limitless_add_router();
```

成功提交任務後，請等待任務 ID 傳回，例如：

```
    job_id
---------------
 1691300000000
(1 row)
```

**注意**  
不支援並行路由器新增項目操作。在啟動另一個新增項目操作之前，依序執行操作並完成每個操作。

## 追蹤路由器新增項目
<a name="limitless-add-router.track"></a>

您可以使用任務 ID 來追蹤路由器新增項目任務。若要描述特定任務並取得更多相關詳細資訊，請執行下列查詢：

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);
```

例如：

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(1691300000000);

    job_id     |   action   |        job_details       | status  |    submission_time     |                   message                   
---------------+------------+--------------------------+---------+------------------------+-------------------------------------------
 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS | 2023-08-06 05:33:20+00 | Scaling job succeeded.                  +
               |            |                          |         |                        | New router instance with ID 7 was created.
(1 row)
```

當您傳遞不存在的任務作為輸入時，查詢會傳回錯誤。

```
SELECT * from rds_aurora.limitless_list_router_scale_jobs(1691300000001);

ERROR:  no job found with the job ID provided
```

您可以使用不含任務 ID 的相同查詢，來追蹤所有路由器新增項目任務的狀態，例如：

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs();

    job_id     |   action   |        job_details       |   status    |    submission_time     |                  message                   
---------------+------------+--------------------------+-------------+------------------------+-------------------------------------------
 1691200000000 | ADD_ROUTER | Add 1 new Router by User | IN_PROGRESS | 2023-08-05 01:46:40+00 | 
 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS     | 2023-08-06 05:33:20+00 | Scaling job succeeded.                +
               |            |                          |             |                        | New router instance with ID 7 was created.
 1691400000000 | ADD_ROUTER | Add 1 new Router by User | FAILED      | 2023-08-07 09:20:00+00 | Error occurred for the add router job 1691400000000.
               |            |                          |             |                        | Retry the command. If the issue persists, contact AWS Support.
 1691500000000 | ADD_ROUTER | Add 1 new Router by User | CANCELED    | 2023-08-07 09:20:00+00 | Scaling job was cancelled.
(4 rows)
```

任務狀態可以是下列其中之一：
+ `IN_PROGRESS`：路由器新增項目任務已提交且正在進行中。您一次只能有一個進行中的任務。
+ `CANCELLATION_IN_PROGRESS`：使用者正在取消路由器新增項目任務。
+ `CANCELED`：使用者或系統已成功取消路由器新增項目任務。
+ `SUCCESS`：路由器新增項目任務已成功完成。`message` 欄位包含新路由器的執行個體 ID。
+ `FAILED`：路由器新增項目任務失敗。`message` 欄位包含失敗的詳細資訊，以及可作為失敗任務後續工作的任何動作。

**注意**  
不需要完成路由器新增項目，因此沒有 `PENDING` 狀態。其不會造成停機時間。

## 取消路由器新增項目
<a name="limitless-add-router.cancel"></a>

您可以取消 `IN_PROGRESS` 的路由器新增項目。您需要任務 ID 才能將其取消。

```
SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);
```

除非發生錯誤，否則不會傳回任何輸出。您可以使用任務追蹤查詢來追蹤取消。

# 刪除資料庫碎片群組
<a name="limitless-shard-delete"></a>

您可以視需要刪除資料庫碎片群組。刪除資料庫碎片群組會刪除運算節點 (碎片和路由器)，但不會刪除儲存體。

## 主控台
<a name="limitless-shard-delete.CON"></a>

登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 導覽至 **Databases (資料庫)** 頁面。

1. 選取您要刪除的資料庫碎片群組。

1. 對於 **Actions** (動作)，請選擇 **Delete** (刪除)。

1. 在方塊中輸入 **delete me**，然後選擇**刪除**。

資料庫碎片群組已刪除。

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

若要刪除資料庫碎片群組，請使用 `delete-db-shard-group` AWS CLI 命令搭配下列參數：
+ `--db-shard-group-identifier`：資料庫碎片群組的名稱。

下列範例會刪除您先前建立之 Aurora PostgreSQL 資料庫叢集中的資料庫碎片群組。

```
aws rds delete-db-shard-group --db-shard-group-identifier my-db-shard-group
```

# 將資料庫碎片群組新增至現有的 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 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 導覽至 **Databases (資料庫)** 頁面。

1. 選取您要新增資料庫碎片群組的 Limitless Database 叢集。

1. 針對**動作**，選擇**新增資料庫碎片群組**。  
![\[新增資料庫碎片群組。\]](http://docs.aws.amazon.com/zh_tw/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) 中建立具有單一運算待命的資料庫碎片群組。
   + **具有兩個容錯移轉目標的運算備援**：在兩個不同的 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`：在兩個不同的 AZ 建立具有兩個運算待命的資料庫碎片群組。
**注意**  
如果您將運算備援設定為零以外的值，節點總數將加倍或變成三倍。這會產生額外費用。
+ `--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
}
```