

# DB 샤드 그룹 사용


다음 작업을 수행하여 Aurora PostgreSQL Limitless Database에 대한 DB 샤드 그룹을 추가하고 관리합니다.

**Topics**
+ [

## Aurora PostgreSQL Limitless Database DB 클러스터에 연결
](#limitless-endpoint)
+ [

## DB 샤드 그룹에서 라우터 및 샤드 수 찾기
](#limitless-shard.number)
+ [

## DB 샤드 그룹 설명
](#limitless-describe)
+ [

## DB 샤드 그룹 재부팅
](#limitless-reboot)
+ [

# DB 샤드 그룹의 용량 변경
](limitless-capacity.md)
+ [

# DB 샤드 그룹에서 샤드 분할
](limitless-shard-split.md)
+ [

# DB 샤드 그룹에 라우터 추가
](limitless-add-router.md)
+ [

# DB 샤드 그룹 삭제
](limitless-shard-delete.md)
+ [

# 기존 Aurora PostgreSQL Limitless Database DB 클러스터에 DB 샤드 그룹 추가
](limitless-shard-add.md)

## Aurora PostgreSQL Limitless Database DB 클러스터에 연결


Aurora PostgreSQL Limitless Database를 사용하려면 클러스터 라이터 또는 리더 엔드포인트에 연결합니다. PostgreSQL에서 작동하는 `psql` 또는 다른 연결 유틸리티를 사용할 수 있습니다.

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

다음 예시에서는 [CLI](limitless-create-cluster.md#limitless-create-CLI)에서 만든 DB 클러스터의 엔드포인트를 사용합니다.

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

**참고**  
Aurora PostgreSQL Limitless Database에서 DB 샤드 그룹의 기본 데이터베이스는 `postgres_limitless`입니다.

### 무한 연결 플러그인 사용


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) 섹션을 참조하세요.

## DB 샤드 그룹에서 라우터 및 샤드 수 찾기


다음 쿼리를 사용하여 라우터 및 샤드 수를 찾을 수 있습니다.

```
SELECT * FROM rds_aurora.limitless_subclusters;

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

## DB 샤드 그룹 설명


`describe-db-shard-groups` AWS CLI 명령을 사용하여 DB 샤드 그룹을 설명합니다. 다음 파라미터는 선택 사항입니다.
+ `--db-shard-group-identifier` - DB 샤드 그룹의 이름입니다.

다음 예시에서는 특정 DB 샤드 그룹을 설명합니다.

```
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"
        }
    ]
}
```

## DB 샤드 그룹 재부팅


최대 용량 변경으로 인해 `max_connections` 파라미터가 변경되는 경우와 같이 DB 샤드 그룹을 재부팅해야 하는 경우가 있습니다.

AWS Management Console 또는 AWS CLI를 사용하여 DB 샤드 그룹의 용량을 변경할 수 있습니다.

### 콘솔


다음 절차를 따르세요.

AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1. **데이터베이스** 페이지로 이동합니다.

1. 재부팅할 DB 샤드 그룹을 선택합니다.

1. **작업**에서 **재부팅**을 선택합니다.

1. **확인**을 선택합니다.

### CLI


DB 파라미터 그룹을 재부팅하려면 `reboot-db-shard-group` AWS CLI 명령을 다음 파라미터와 함께 사용합니다.
+ `--db-shard-group-identifier` - DB 샤드 그룹의 이름입니다.

다음 예시에서는 DB 샤드 그룹을 재부팅합니다.

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

# DB 샤드 그룹의 용량 변경


AWS Management Console 또는 AWS CLI를 사용하여 DB 샤드 그룹의 용량을 변경할 수 있습니다.

## 콘솔


다음 절차를 따르세요.

[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. **데이터베이스** 페이지로 이동합니다.

1. 수정할 DB 샤드 그룹을 선택합니다.

1. **작업**에서 **수정**을 선택합니다.

   **DB 샤드 그룹 수정** 페이지가 표시됩니다.  
![\[DB 샤드 그룹 수정 페이지.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/limitless_modify_shard_group.png)

1. 새 **최소 용량(ACU)** 값을 입력합니다(예: **100**).

1. 새 **최대 용량(ACU)** 값을 입력합니다(예: **1000**).

1. **계속**을 선택합니다.

   변경 사항 요약과 함께 확인 페이지가 표시됩니다.

1. 변경 사항을 검토한 다음 **DB 샤드 그룹 수정**을 선택합니다.

## CLI


`modify-db-shard-group` AWS CLI 명령을 다음 파라미터와 함께 사용합니다.
+ `--db-shard-group-identifier` - DB 샤드 그룹의 이름입니다.
+ `--max-acu` - DB 샤드 그룹의 새로운 최대 용량입니다. DB 샤드 그룹의 최대 용량을 16\$16,144ACU로 설정할 수 있습니다. 6,144ACU보다 높은 용량 한도는 AWS에 문의하세요.

  라우터 및 샤드 수는 변경되지 않습니다.
+ `--min-acu` - DB 샤드 그룹의 새로운 최소 용량입니다. ACU는 기본값인 16개 이상이어야 합니다.

다음 CLI 예시에서는 DB 샤드 그룹의 용량 범위를 100\$11,000ACU로 변경합니다.

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

# DB 샤드 그룹에서 샤드 분할
샤드 분할

DB 샤드 그룹의 샤드를 두 개의 더 작은 샤드로 수동으로 분할할 수 있습니다. 이를 *사용자 시작* 샤드 분할이라고 합니다.

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)

## 사전 조건


사용자 시작 샤드 분할에는 다음과 같은 사전 조건이 있습니다.
+ DB 샤드 그룹이 있어야 합니다.
+ DB 샤드 그룹은 비워둘 수 없습니다. 샤딩된 테이블을 하나 이상 포함해야 합니다.
+ 사용자에게 `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
  ```

시스템 시작 샤드 분할을 활성화하려면 DB 클러스터와 연결된 사용자 지정 DB 클러스터 파라미터 그룹에서 다음 DB 클러스터 파라미터를 설정합니다.


| 파라미터 | 값 | 
| --- | --- | 
|  `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/ko_kr/AmazonRDS/latest/AuroraUserGuide/limitless-shard-split.html) 자세한 내용은 [샤드 분할 마무리](#limitless-shard-split.finalize) 섹션을 참조하세요.  이 파라미터는 시스템 시작 샤드 분할에만 적용됩니다.   | 

자세한 내용은 [Amazon Aurora DB 클러스터의 DB 클러스터 파라미터 그룹](USER_WorkingWithDBClusterParamGroups.md) 섹션을 참조하세요.

## 샤드 분할


DB 샤드 그룹에서 샤드를 분할하려면 `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)
```

**참고**  
동시 샤드 분할 작업은 지원되지 않습니다. 각 작업을 순차적으로 실행하고 다른 추가 작업을 시작하기 전에 각 작업을 완료합니다.

## 샤드 분할 추적


작업 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` 필드에는 실패에 대한 세부 정보와 실패한 작업에 대한 후속 조치로 수행할 수 있는 작업이 포함되어 있습니다.

## 샤드 분할 마무리


마무리는 샤드 분할 프로세스의 마지막 단계입니다. 이로 인해 어느 정도 가동 중지 시간이 발생합니다. 샤드 분할 작업을 시작하면 작업이 성공적으로 완료된 직후에 마무리가 이루어집니다.

`rds_aurora.limitless_enable_auto_scale` 파라미터를 사용하여 시스템 시작 샤드 분할을 활성화한 경우 시스템에서 워크로드를 기반으로 샤드를 분할하는 경우가 있습니다.

이 경우 마무리가 즉시 수행될지 아니면 사용자가 선택한 시간에 수행될지를 사용자가 선택할 수 있습니다. `rds_aurora.limitless_finalize_split_shard_mode` DB 클러스터 파라미터를 사용하여 마무리 시기를 선택합니다.
+ 값을 `immediate`로 설정하면 즉시 마무리됩니다.
+ 값을 `user_initiated`로 설정하면 사용자가 샤드 분할 작업을 수동으로 완료해야 합니다.

  RDS 이벤트가 사용자에게 전송되고 샤드 분할 작업의 상태가 `PENDING`으로 설정됩니다.

`user_initiated`로 설정하면 `rds_aurora.limitless_finalize_split_shard` 함수를 사용하여 샤드 분할 작업을 마무리합니다.

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

**참고**  
이 함수는 사용자가 아닌 시스템에서 시작한 샤드 분할에만 적용됩니다.

## 샤드 분할 취소


`IN_PROGRESS` 또는 `PENDING`인 사용자 시작 또는 시스템 시작 샤드 분할을 취소할 수 있습니다. 취소하려면 작업 ID가 필요합니다.

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

오류가 없으면 출력이 반환되지 않습니다. 작업 추적 쿼리를 사용하여 취소를 추적할 수 있습니다.

# DB 샤드 그룹에 라우터 추가
라우터 추가

DB 샤드 그룹에 라우터를 추가할 수 있습니다.

**Topics**
+ [

## 사전 조건
](#limitless-add-router.prereqs)
+ [

## 라우터 추가
](#limitless-add-router.proc)
+ [

## 라우터 추가 추적
](#limitless-add-router.track)
+ [

## 라우터 추가 취소
](#limitless-add-router.cancel)

## 사전 조건


라우터를 추가하는 데는 다음과 같은 사전 조건이 있습니다.
+ DB 샤드 그룹이 있어야 합니다.
+ 사용자에게 `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;
  ```
**참고**  
DB 샤드 그룹이 만들어진 후 AWS 계정의 기본 CA 인증서를 변경하면 새 라우터는 기존 라우터의 CA 인증서와 다른 새 CA 인증서를 사용합니다. 트러스트 스토어에 따라 일부 연결이 실패할 수 있습니다.
+ 시스템 시작 라우터 추가를 활성화하려면 DB 클러스터와 연결된 사용자 지정 DB 클러스터 파라미터 그룹에서 다음 DB 클러스터 파라미터를 설정합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/limitless-add-router.html)

  자세한 내용은 [Amazon Aurora DB 클러스터의 DB 클러스터 파라미터 그룹](USER_WorkingWithDBClusterParamGroups.md) 섹션을 참조하세요.

## 라우터 추가


라우터를 추가하려면 `rds_aurora.limitless_add_router` 함수를 사용합니다. 이 함수는 비동기식으로 실행되는 라우터 추가 작업을 시작합니다.

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

작업을 성공적으로 제출하면 작업 ID가 반환될 때까지 기다립니다. 예를 들면 다음과 같습니다.

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

**참고**  
동시 라우터 추가 작업은 지원되지 않습니다. 작업을 순차적으로 실행하고 다른 추가 작업을 시작하기 전에 각 작업을 완료합니다.

## 라우터 추가 추적


작업 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` 상태가 없습니다. 가동 중지 시간이 발생하지 않습니다.

## 라우터 추가 취소


`IN_PROGRESS`인 라우터 추가를 취소할 수 있습니다. 취소하려면 작업 ID가 필요합니다.

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

오류가 없으면 출력이 반환되지 않습니다. 작업 추적 쿼리를 사용하여 취소를 추적할 수 있습니다.

# DB 샤드 그룹 삭제


필요한 경우 DB 샤드 그룹을 삭제할 수 있습니다. DB 샤드 그룹을 삭제하면 컴퓨팅 노드(샤드 및 라우터)가 삭제되지만 스토리지는 삭제되지 않습니다.

## 콘솔


[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. **데이터베이스** 페이지로 이동합니다.

1. 삭제할 DB 샤드 그룹을 선택합니다.

1. **작업**에 대해 **삭제**를 선택합니다.

1. 입력란에 **delete me**를 입력한 다음, **삭제**를 선택합니다.

DB 샤드 그룹이 삭제됩니다.

## AWS CLI


DB 파라미터 그룹을 삭제하려면 `delete-db-shard-group` AWS CLI 명령을 다음 파라미터와 함께 사용합니다.
+ `--db-shard-group-identifier` - DB 샤드 그룹의 이름입니다.

다음 예시에서는 앞서 만든 Aurora PostgreSQL DB 클러스터에서 DB 샤드 그룹을 삭제합니다.

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

# 기존 Aurora PostgreSQL Limitless Database DB 클러스터에 DB 샤드 그룹 추가
기존 Limitless Database DB 클러스터에 DB 샤드 그룹 추가

예를 들어 DB 클러스터를 복원 중이거나 DB 샤드 그룹을 삭제한 경우 기존 DB 클러스터에서 DB 샤드 그룹을 만들 수 있습니다.

기본 DB 클러스터 및 DB 샤드 그룹 요구 사항에 대한 자세한 내용은 [Aurora PostgreSQL Limitless Database 요구 사항 및 고려 사항Aurora PostgreSQL Limitless Database 요구 사항 및 고려 사항](limitless-reqs-limits.md) 섹션을 참조하세요.

**참고**  
클러스터당 하나의 샤드 그룹만 가질 수 있습니다.  
DB 샤드 그룹을 만들려면 Limitless Database DB 클러스터가 `available` 상태여야 합니다.

## 콘솔


AWS Management Console을 사용하여 기존 DB 클러스터에 DB 샤드 그룹을 추가할 수 있습니다.

**DB 샤드 그룹을 추가하는 방법**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. **데이터베이스** 페이지로 이동합니다.

1. DB 샤드 그룹을 추가할 Limitless Database DB 클러스터를 선택합니다.

1. **작업**에서 **DB 샤드 그룹 추가**를 선택합니다.  
![\[DB 샤드 그룹을 추가합니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/limitless_add_shard_group.png)

1. **DB 샤드 그룹 식별자**를 입력합니다.
**중요**  
DB 샤드 그룹을 만든 후에는 DB 클러스터 식별자 또는 DB 샤드 그룹 식별자를 변경할 수 없습니다.

1. **최소 용량(ACU)**을 입력합니다. 값을 최소 16ACU로 지정합니다.

1. **최대 용량(ACU)**을 입력합니다. 16\$16,144ACU의 값을 사용합니다.

   자세한 내용은 [DB 샤드 그룹 최대 용량과 만들어진 라우터 및 샤드 수 연결](limitless-cluster.md#limitless-capacity-mapping) 단원을 참조하십시오.

1. **DB 샤드 그룹 배포**의 경우 DB 샤드 그룹에 대한 대기를 만들지 선택합니다.
   + **컴퓨팅 중복 없음** - 각 샤드에 대해 대기 없이 DB 샤드 그룹을 만듭니다. 이것이 기본값입니다.
   + **단일 장애 조치 타겟을 사용한 컴퓨팅 중복** - 다른 가용 영역(AZ)에 하나의 컴퓨팅 대기가 있는 DB 샤드 그룹을 만듭니다.
   + **2개의 장애 조치 타겟을 사용한 컴퓨팅 중복** - 2개의 서로 다른 AZ에서 2개의 컴퓨팅 대기가 있는 DB 샤드 그룹을 만듭니다.

1. DB 샤드 그룹에 공개적으로 액세스할 수 있도록 할지 선택합니다.
**참고**  
DB 샤드 그룹을 만든 후에는 이 설정을 수정할 수 없습니다.

1. **DB 샤드 그룹 추가**를 선택합니다.

## AWS CLI


`create-db-shard-group` AWS CLI 명령을 사용하여 DB 샤드 그룹을 만듭니다.

다음 파라미터는 필수 파라미터입니다.
+ `--db-cluster-identifier` - DB 샤드 그룹이 속한 DB 클러스터입니다.
+ `--db-shard-group-identifier` - DB 샤드 그룹의 이름입니다.

  DB 샤드 그룹 식별자에는 다음과 같은 제약이 있습니다.
  + DB 샤드 그룹을 만드는 AWS 계정과 AWS 리전에서 고유해야 합니다.
  + 1\$163자의 문자, 숫자 또는 하이픈을 포함해야 합니다.
  + 첫 번째 자리는 문자여야 합니다.
  + 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.
**중요**  
DB 샤드 그룹을 만든 후에는 DB 클러스터 식별자 또는 DB 샤드 그룹 식별자를 변경할 수 없습니다.
+ `--max-acu` – DB 샤드 그룹의 최대 용량입니다. 16\$16,144ACU의 값을 사용합니다.

다음 파라미터는 선택적입니다.
+ `--compute-redundancy` - DB 샤드 그룹에 대한 대기를 만들지를 나타냅니다. 이 파라미터의 값은 다음과 같을 수 있습니다.
  + `0` - 각 샤드에 대해 대기 없이 DB 샤드 그룹을 만듭니다. 이것이 기본값입니다.
  + `1` - 다른 가용 영역(AZ)에 하나의 컴퓨팅 대기가 있는 DB 샤드 그룹을 만듭니다.
  + `2` - 서로 다른 2개의 AZ에 2개의 컴퓨팅 대기가 있는 DB 샤드 그룹을 만듭니다.
**참고**  
컴퓨팅 중복을 0이 아닌 값으로 설정하면 총 노드 수가 두 배 또는 세 배가 됩니다. 이로 인해 추가 비용이 발생합니다.
+ `--min-acu` – DB 샤드 그룹의 최소 용량입니다. ACU는 기본값인 16개 이상이어야 합니다.
+ `--publicly-accessible|--no-publicly-accessible` - 공개적으로 액세스할 수 있는 IP 주소를 DB 샤드 그룹에 할당할지를 나타냅니다. DB 샤드 그룹에 대한 액세스는 클러스터에서 사용하는 보안 그룹에 의해 제어됩니다.

  기본값은 `--no-publicly-accessible`입니다.
**참고**  
DB 샤드 그룹을 만든 후에는 이 설정을 수정할 수 없습니다.

다음 예시에서는 Aurora PostgreSQL DB 클러스터에 DB 샤드 그룹을 만듭니다.

```
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
}
```