

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon DocumentDB 리소스 관리
<a name="managing-documentdb"></a>

이 단원에서는 Amazon DocumentDB(MongoDB 호환) 구현을 관리하기 위한 여러 가지 구성 요소와 관련 작업을 설명합니다.

**Topics**
+ [운영 작업 개요](operational_tasks.md)
+ [글로벌 클러스터](global-clusters.md)
+ [클러스터 관리](db-clusters.md)
+ [인스턴스 관리](db-instances.md)
+ [서브넷 그룹 관리](document-db-subnet-groups.md)
+ [고가용성 및 복제](replication.md)
+ [인덱스 관리](managing-indexes.md)
+ [문서 압축 관리](doc-compression.md)
+ [사전 기반 압축 관리](dict-compression.md)
+ [이벤트 관리](managing-events.md)
+ [리전 및 가용 영역 선택](regions-and-azs.md)
+ [클러스터 파라미터 그룹 관리](cluster_parameter_groups.md)
+ [엔드포인트 이해](endpoints.md)
+ [Amazon DocumentDB ARN 이해](documentdb-arns.md)
+ [리소스에 태그 지정](tagging.md)
+ [Amazon DocumentDB 유지 관리](db-instance-maintain.md)
+ [서비스 연결 역할 이해](service-linked-roles.md)
+ [변경 스트림 사용](change_streams.md)
+ [데이터 정렬 사용](collation.md)
+ [뷰 사용](views.md)
+ [변경 스트림과 함께 AWS Lambda 사용](using-lambda.md)

# Amazon DocumentDB 운영 작업 개요
<a name="operational_tasks"></a>

이 섹션에서는 Amazon DocumentDB 클러스터의 운영 작업 개요 및 AWS CLI를 사용하여 이러한 작업을 수행하는 방법을 소개합니다.

**Topics**
+ [Amazon DocumentDB 클러스터에 복제본 추가](#operational_tasks-add_replica)
+ [클러스터 및 인스턴스 설명](#operational_tasks-list_clusters_and_instances)
+ [클러스터 스냅샷 생성](#operational_tasks-creating_snapshot)
+ [스냅샷에서 복원](#operational_tasks-restore_from_snapshot)
+ [클러스터에서 인스턴스 제거](#operational_tasks-remove_instance_from_cluster)
+ [클러스터 삭제](#operational_tasks-delete_cluster)

## Amazon DocumentDB 클러스터에 복제본 추가
<a name="operational_tasks-add_replica"></a>

Amazon DocumentDB 클러스터에 대한 기본 인스턴스를 만든 후에 1개 이상의 *복제본*을 추가할 수 있습니다. 복제본은 두 가지 용도로 사용되는 읽기 전용 인스턴스입니다.
+ **확장성** — 동시 액세스가 필요한 클라이언트가 많은 경우 읽기 규모 조정을 위해 복제본을 더 추가할 수 있습니다.
+ **고가용성** — 기본 인스턴스에 장애가 발생하면 Amazon DocumentDB에서는 복제본 인스턴스로 자동으로 장애 조치하고 이를 새로운 기본 인스턴스로 지정합니다. 복제본이 실패하면 실패한 노드가 복구될 때까지 클러스터의 다른 인스턴스가 계속 요청을 수행할 수 있습니다.

각 Amazon DocumentDB 클러스터에서 최대 15개의 복제본을 지원할 수 있습니다.

**참고**  
내결함성을 최대화하려면 별도의 가용 영역에 복제본을 배포해야 합니다. 이렇게 하면 전체 가용 영역을 사용할 수 없게 되는 경우에도 Amazon DocumentDB 클러스터가 계속 작동할 수 있습니다.

다음 AWS CLI 예에서는 새로운 복제본을 추가하는 방법을 보여 줍니다. `--availability-zone` 파라미터는 복제본을 지정된 가용 영역에 배치합니다.

```
aws docdb create-db-instance \
    --db-instance-identifier sample-instance \
    --db-cluster-identifier sample-cluster \
    --engine docdb \
    --db-instance-class db.r5.large \
    --availability-zone us-east-1a
```

## 클러스터 및 인스턴스 설명
<a name="operational_tasks-list_clusters_and_instances"></a>

다음 AWS CLI 예제에서는 리전의 모든 Amazon DocumentDB 클러스터를 나열합니다. 클러스터 및 인스턴스 수명 주기 관리와 같은 특정 관리 기능의 경우 Amazon DocumentDB는 Amazon RDS와 공유되는 운영 기술을 활용합니다. `filterName=engine,Values=docdb` 필터 파라미터는 Amazon DocumentDB 클러스터만 반환합니다.

클러스터 설명 및 수정에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 수명 주기](db-cluster-life-cycle.md) 섹션을 참조하십시오.

```
aws docdb describe-db-clusters --filter Name=engine,Values=docdb
```

이 작업의 출력은 다음과 같이 표시됩니다.

```
{
    "DBClusters": [
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-1",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        },
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-2",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        },
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-3",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        }
    ]
}
```

다음 AWS CLI 예제에서는 Amazon DocumentDB 클러스터의 인스턴스를 나열합니다. 클러스터 설명 및 수정에 대한 자세한 내용은 [Amazon DocumentDB 인스턴스 수명 주기](db-instance-life-cycle.md) 섹션을 참조하십시오.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].[DBClusterMembers]'
```

출력은 아래와 같습니다. 이 출력에는 두 개의 인스턴스가 있습니다. 기본 인스턴스는 `sample-instance-1`(`"IsClusterWriter": true`)입니다. 또한 복제본 인스턴스 `sample-instance2`(`"IsClusterWriter: false"`)도 있습니다.

```
[
    [
        [
            {
                "DBInstanceIdentifier": "sample-instance-1",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            },
            {
                "DBInstanceIdentifier": "sample-cluster-2",
                "IsClusterWriter": false,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            }
        ]
    ]
]
```

## 클러스터 스냅샷 생성
<a name="operational_tasks-creating_snapshot"></a>

*클러스터 스냅샷*은Amazon DocumentDB 클러스터의 데이터를 완벽하게 백업합니다. 스냅샷을 만들 때 Amazon DocumentDB는 클러스터 볼륨에서 직접 데이터를 읽습니다. 따라서 클러스터에서 해당 인스턴스가 실행 중이 아니어도 스냅샷을 생성할 수 있습니다. 클러스터 스냅샷을 생성하는 데 걸리는 시간은 클러스터 볼륨의 크기에 따라 다릅니다.

Amazon DocumentDB는 자동 백업을 지원합니다. 자동 백업은 선호하는 백업 윈도우(하루 중 30분) 동안 매일 수행됩니다. 다음 AWS CLI 예는 클러스터의 백업 기간을 보여 줍니다.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].PreferredBackupWindow'
```

출력에는 백업 창(UTC)이 표시됩니다.

```
[
    "00:18-00:48"
]
```

Amazon DocumentDB 클러스터를 생성할 때 백업 기간을 정의할 수 있습니다. 다음 예제와 같이 백업 기간을 변경할 수도 있습니다. 백업 기간을 정의하지 않으면 Amazon DocumentDB에서 자동으로 클러스터에 할당합니다.

```
aws docdb modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --preferred-backup-window "02:00-02:30"
```

자동 백업 외에도 언제든지 수동으로 클러스터 스냅샷을 만들 수 있습니다. 이때 백업할 클러스터를 지정한 다음 나중에 복원할 수 있도록 스냅샷에 대해 고유한 이름을 지정합니다.

다음 AWS CLI 예제는 데이터 스냅샷을 생성하는 방법을 보여줍니다.

```
aws docdb create-db-cluster-snapshot \
    --db-cluster-identifier sample-cluster \
    --db-cluster-snapshot-identifier sample-cluster-snapshot
```

## 스냅샷에서 복원
<a name="operational_tasks-restore_from_snapshot"></a>

클러스터 스냅샷을 새 Amazon DocumentDB 클러스터로 복원할 수 있습니다. 이렇게 하려면 스냅샷의 이름과 새 클러스터의 이름을 제공합니다. 스냅샷에서 기존 클러스터로 복원할 수 없습니다. 대신 복원할 때 Amazon DocumentDB에서 새 클러스터를 만든 다음 스냅샷 데이터로 채웁니다.

다음 예제에서는 `sample-cluster` 클러스터의 모든 스냅샷을 보여 줍니다.

```
aws docdb describe-db-cluster-snapshots \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusterSnapshots[*].[DBClusterSnapshotIdentifier,SnapshotType,Status]'
```

출력은 다음과 같습니다. 수동 스냅샷은 수동으로 생성한 스냅샷이지만 자동 스냅샷은 클러스터 백업 기간 중 Amazon DocumentDB에 의해 생성됩니다.

```
[
        "sample-cluster-snapshot", 
        "manual", 
        "available"
    ], 
    [
        "rds:sample-cluster", 
        "automated", 
        "available"
    ]
]
```

다음 예제에서는 스냅샷에서 Amazon DocumentDB 클러스터를 복원하는 방법을 보여 줍니다.

```
aws docdb restore-db-cluster-from-snapshot \
    --engine docdb \
    --db-cluster-identifier new-sample-cluster \
    --snapshot-identifier sample-cluster-snapshot
```

새 클러스터에 연결된 인스턴스가 없으므로 클러스터와 상호 작용하려면 인스턴스를 클러스터에 추가해야 합니다.

```
aws docdb create-db-instance \
    --db-instance-identifier new-sample-instance \
    --db-instance-class db.r5.large \
    --engine docdb \
    --db-cluster-identifier new-sample-cluster
```

다음 AWS CLI 작업을 사용하여 클러스터 및 인스턴스 생성의 진행 상황을 모니터링할 수 있습니다. 클러스터 및 인스턴스 상태를 사용할 수 있으면 새 클러스터의 엔드포인트에 연결하여 데이터에 액세스할 수 있습니다.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier new-sample-cluster  \
    --query 'DBClusters[*].[Status,Endpoint]'
```

```
aws docdb describe-db-instances \
    --db-instance-identifier new-sample-instance \
    --query 'DBInstances[*].[DBInstanceStatus]'
```

## 클러스터에서 인스턴스 제거
<a name="operational_tasks-remove_instance_from_cluster"></a>

Amazon DocumentDB에서는 모든 데이터를 클러스터 볼륨에 저장합니다. 모든 인스턴스를 클러스터에서 제거하는 경우에도 데이터가 클러스터 볼륨에 유지됩니다. 데이터에 다시 액세스해야 하는 경우 언제든지 클러스터에 인스턴스를 추가하고 중단한 지점을 선택할 수 있습니다.

다음 예제에서는 Amazon DocumentDB 클러스터에서 인스턴스를 제거하는 방법을 보여줍니다.

```
aws docdb delete-db-instance \
    --db-instance-identifier sample-instance
```

## 클러스터 삭제
<a name="operational_tasks-delete_cluster"></a>

Amazon DocumentDB 클러스터를 삭제하려면 먼저 해당 인스턴스를 모두 제거해야 합니다. 다음 AWS CLI 예제는 클러스터의 인스턴스에 대한 정보를 반환합니다. 이 작업으로 인스턴스 식별자가 반환되면 각 인스턴스를 삭제해야 합니다. 자세한 내용은 [클러스터에서 인스턴스 제거](#operational_tasks-remove_instance_from_cluster) 섹션을 참조하세요.

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].DBClusterMembers[*].DBInstanceIdentifier'
```

더 이상 인스턴스가 남아 있지 않으면 클러스터를 삭제할 수 있습니다. 이때 다음 옵션 중 하나를 선택해야 합니다.
+ **최종 스냅샷 생성** — 나중에 해당 데이터로 새 인스턴스를 다시 만들 수 있도록 스냅샷의 모든 클러스터 데이터를 캡처합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

  ```
  aws docdb delete-db-cluster \
      --db-cluster-identifier sample-cluster \
      --final-db-snapshot-identifier sample-cluster-snapshot
  ```
+ **최종 스냅샷 건너뛰기** — 모든 클러스터 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

  ```
  aws docdb delete-db-cluster \
      --db-cluster-identifier sample-cluster \
      --skip-final-snapshot
  ```

# Amazon DocumentDB 글로벌 클러스터의 개요
<a name="global-clusters"></a>

## 글로벌 클러스터란 무엇입니까?
<a name="w2aac33b9b3"></a>

글로벌 클러스터는 1개의 기본 리전과 최대 10개의 읽기 전용 보조 리전으로 구성됩니다. 쓰기 작업을 기본 영역의 기본 클러스터에 직접 발급하고 Amazon DocumentDB는 전용 인프라를 사용하여 자동으로 보조 영역에 데이터를 복제합니다. 지연 시간은 일반적으로 1초 미만입니다.

## 글로벌 클러스터는 어떻게 유용할까요?
<a name="w2aac33b9b5"></a>
+ **리전 범위 운영 중단에서 복구** - 리전 전체의 운영 중단 시 보조 클러스터 중 하나를 몇 분 이내에 기본 클러스터로 승격할 수 있으며, 일반적인 Recovery Time Objective(RTO)는 1분 이내입니다. Recovery Point Objective(RPO)는 일반적으로 초 단위로 측정되지만, 장애 발생 시 네트워크를 통한 스토리지 복제 지연에 따라 달라집니다.
+ **로컬 대기 시간을 가진 글로벌 읽기 **- 전 세계에 사무실이 있는 경우 글로벌 클러스터를 사용하여 주요 정보 소스를 기본 영역에서 업데이트할 수 있습니다. 다른 리전에 있는 사무실은 로컬 대기 시간을 사용하여 해당 리전의 정보에 액세스할 수 있습니다.
+ **확장성 보조 클러스터** - 보조 영역에 읽기 전용 인스턴스 확장성을 더 추가하여 보조 클러스터를 확장하고 규모를 조정할 수 있습니다. 보조 클러스터는 읽기 전용이므로 단일 클러스터에 대한 일반적인 제한인 15개가 아닌 최대 16개의 읽기 전용 복제본 인스턴스를 지원할 수 있습니다.
+ **일차적 클러스터에서 이차 클러스터로 빠른 복제** - 글로벌 클러스터에서 수행하는 복제는 기본 데이터베이스 클러스터에 대한 성능 영향이 거의 없습니다. DB 인스턴스의 리소스는 애플리케이션 읽기/쓰기 워크로드 처리 전용입니다.

## 글로벌 클러스터의 현재 한계는 무엇입니까?
<a name="w2aac33b9b7"></a>
+ Amazon DocumentDB v3.6에서는 글로벌 클러스터가 지원되지 않습니다.
+ 글로벌 클러스터는 db.t3, db.t4g 및 db.r4를 제외한 모든 인스턴스 유형에서 지원됩니다.
+ 글로벌 클러스터는 남아메리카(상파울루), 유럽(밀라노), 중국(베이징), 중국(닝샤) 리전에서 사용할 수 없습니다.
+ 리전이 다른 엔진 버전에 있는 경우에는 전환 및 글로벌 장애 조치가 지원되지 않습니다. 엔진 버전 불일치가 있는 경우 수동 장애 조치가 지원됩니다.
+ 기본 클러스터만 쓰기 작업을 수행합니다. 쓰기 작업을 수행하는 클라이언트는 기본 클러스터의 DB 클러스터 엔드포인트에 연결합니다.
+ 클러스터에는 10개의 보조 리전 및 1개의 기본 리전이 있을 수 있습니다.
+ 보조 클러스터는 중지할 수 없습니다. 기본 클러스터에 보조 클러스터가 연결되어 있는 경우 기본 클러스터를 중지할 수 없습니다. 보조 클러스터가 없는 리전 클러스터만 중지할 수 있습니다.
+ 보조 클러스터에 연결된 복제본은 특정 상황에서 다시 시작될 수 있습니다. 기본 영역의 인스턴스가 재시작되거나 장애 조치가 이뤄지는 경우, 보조 영역의 복제본도 재시작됩니다. 그러면 모든 복제본이 주 데이터베이스 클러스터의 작성자 인스턴스와 다시 동기화될 때까지 클러스터를 사용할 수 없습니다. 이는 예상된 동작입니다. 기본 클러스터를 변경하기 전에 글로벌 클러스터에 미치는 영향을 이해해야 합니다.
+ 보조 클러스터에서는 변경 스트림을 사용할 수 없습니다.

**Topics**
+ [글로벌 클러스터란 무엇입니까?](#w2aac33b9b3)
+ [글로벌 클러스터는 어떻게 유용할까요?](#w2aac33b9b5)
+ [글로벌 클러스터의 현재 한계는 무엇입니까?](#w2aac33b9b7)
+ [빠른 시작 설명서](global-clusters.get-started.md)
+ [글로벌 클러스터 관리](global-clusters.manage.md)
+ [글로벌 클러스터 연결](global-clusters-connect.md)
+ [글로벌 클러스터 모니터링](global-clusters-monitor.md)
+ [재해 복구](global-clusters-disaster-recovery.md)

# 빠른 시작 설명서: 글로벌 클러스터
<a name="global-clusters.get-started"></a>

**Topics**
+ [구성](#global-clusters.config)
+ [글로벌 클러스터 생성](#global-clusters-create)
+ [글로벌 클러스터에 리전 추가](#global-clusters.add-region)
+ [스냅샷 사용](#global-clusters.snapshot)

## 구성
<a name="global-clusters.config"></a>

Amazon DocumentDB 글로벌 클러스터는 2개 이상에 걸쳐 있습니다 AWS 리전. 기본 리전은 기본(라이터) 인스턴스 1개와 복제본 인스턴스 최대 15개로 구성된 클러스터를 지원하는 반면, 보조 리전은 최대 16개의 복제본 인스턴스로 구성된 읽기 전용 클러스터를 실행합니다. 글로벌 클러스터에는 최대 5개의 보조 리전이 있을 수 있습니다. 이 표에는 글로벌 클러스터에서 허용되는 최대 클러스터, 인스턴스 및 복제본이 나열됩니다.


| 설명 | 기본 AWS 리전 | 보조 AWS 리전 | 
| --- | --- | --- | 
| 클러스터 | 1 | 5(최대) | 
| 라이터 인스턴스 | 1 | 0 | 
| 클러스터당 읽기 전용 인스턴스(Amazon DocumentDB 복제본) | 15(최대) | 16(최대) | 
| 읽기 전용 인스턴스(최대 허용, 지정된 보조 리전 수) | 15 - s | s = 총 보조 수 AWS 리전 | 

클러스터의 특정 요구 사항은 다음과 같습니다.
+ **데이터베이스 인스턴스 클래스 요구 사항** - `db.r5` 및 `db.r6g` 인스턴스 클래스만 사용할 수 있습니다.
+ **AWS 리전 요구 사항** - 기본 클러스터는 한 리전에 있어야 하며, 하나 이상의 보조 클러스터는 동일한 계정의 다른 리전에 있어야 합니다. 보조(읽기 전용) 클러스터를 최대 5개까지 생성할 수 있으며 각 클러스터는 서로 다른 리전에 위치해야 합니다. 즉, 두 클러스터가 동일한 리전에 있을 수 없습니다.
+ **이름 설정 요구 사항** - 개별 클러스터에 선택하는 이름은 모든 리전에서 고유해야 합니다. 다른 리전에 있더라도 다른 클러스터에는 동일한 이름을 사용할 수 없습니다.

## Amazon DocumentDB 글로벌 클러스터 생성
<a name="global-clusters-create"></a>

첫 번째 글로벌 클러스터를 구축할 준비가 되셨나요? 이 섹션에서는 다음 지침에 따라 AWS Management Console 또는를 사용하여 새 데이터베이스 클러스터 및 인스턴스로 새 글로벌 클러스터 AWS CLI 를 생성하는 방법을 설명합니다.

### 사용 AWS Management Console
<a name="global-clusters-create-console"></a>

1. 에서 **Amazon DocumentDB**로 AWS Management Console이동합니다.

1. Amazon DocumentDB 콘솔로 이동하면 **클러스터**를 선택합니다.  
![\[Amazon DocumentDB 콘솔의 클러스터 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/choose-cluster.png)

1. **생성(Create)**을 선택합니다.  
![\[클러스터 테이블의 오른쪽 상단에 표시된 생성 버튼입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/choose-create.png)

1. **Amazon DocumentDB 클러스터 생성** 양식의 **구성** 섹션을 적절히 작성하세요.
   + **클러스터 식별자** - 이 인스턴스의 고유 식별자를 입력하거나 Amazon DocumentDB가 클러스터 식별자를 기반으로 인스턴스 식별자를 제공하도록 허용할 수 있습니다.
   + 엔진 버전: **4.0.0** 선택
   + 인스턴스 클래스: **db.r5.large**를 선택합니다.
   + 인스턴스 수에 **3**을 선택합니다.  
![\[Amazon DocumentDB 클러스터를 생성하기 위한 구성 옵션 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/create-config.png)

1. **인증** 섹션에서 마스터 사용자 이름과 마스터 비밀번호를 입력합니다.  
![\[새 Amazon DocumentDB 클러스터의 마스터 사용자 이름과 암호를 지정하는 인증 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/create-auth.png)

1. **고급 설정 표시**를 선택합니다.  
![\[취소 및 클러스터 생성 버튼 옆에 있는 고급 설정 토글 버튼을 표시합니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/show-advanced.png)

1. **네트워크 설정** 섹션에서:
   + **가상 프라이빗 클라우드(VPC)** 및 **서브넷 그룹**의 기본 옵션을 유지합니다.  
![\[VPC, 서브넷 그룹 및 VPC 보안 그룹 옵션을 보여주는 네트워크 설정 양식입니다. VPC 및 서브넷 그룹 필드에는 기본 옵션이 선택되어 있습니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/default-vpc-1.png)
   + **VPC 보안 그룹**의 경우 **기본 VPC**가 이미 추가되어 있어야 합니다.  
![\[기본 VPC가 이미 추가되었음을 보여주는 네트워크 설정 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/default-vpc-2.png)
   + `DocDB`를 **VPC 보안 그룹** 필드에 입력하고 **DocDB-인바운드(VFC)**를 선택합니다.  
![\[VPC 보안 그룹 드롭다운 메뉴에서 선택한 DocDB-인바운드 VFC입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/inbound-vfc.png)

1. **클러스터 옵션** 및 **저장 중 암호화**의 경우 기본 선택 사항을 그대로 유지합니다.  
![\[클러스터 옵션 및 기본 옵션이 선택된 저장 중 암호화 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/leave-default-1.png)

1. **백업** 및 **로그 내보내기**의 경우 기본 선택 사항을 그대로 유지합니다.  
![\[백업 및 로그는 기본 옵션이 선택된 양식을 내보냅니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/leave-default-2.png)

1. **유지 관리**, **태그** 및 **삭제 보호**의 경우 기본 선택 사항을 그대로 유지합니다.  
![\[기본 옵션이 선택된 유지 관리, 태그 및 삭제 보호 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/leave-default-3.png)

1. 이제 **클러스터 생성** 버튼을 클릭합니다.  
![\[클러스터 생성 프로세스가 끝나면 클러스터 생성 버튼이 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/create-cluster.png)

### 사용 AWS CLI
<a name="global-clusters-create-cli"></a>

Amazon DocumentDB 리전 클러스터를 생성하려면 [create-global-cluster AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/create-global-cluster.html)를 호출합니다. 다음 AWS CLI 명령은 라는 Amazon DocumentDB 클러스터를 생성합니다`global-cluster-id`. 삭제 방지에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md)을(를) 참조하세요.

또한 `--engine-version`은 기본적으로 최신 주요 엔진 버전으로 설정되는 선택적 매개변수입니다. 현재 기본 엔진 버전은 입니다`5.0.0`(참고: Amazon DocumentDB 8.0을 사용할 수 있지만 로 명시적으로 지정해야 함`8.0.0`). 새 주요 엔진 버전이 출시되면 최신 주요 엔진 버전을 반영하도록 `--engine-version`의 주요 엔진 버전이 업데이트됩니다. 따라서 프로덕션 워크로드, 특히 스크립팅, 자동화 또는 CloudFormation 템플릿에 의존하는 워크로드의 경우를 의도한 메이저 버전`--engine-version`에 명시적으로 지정하는 것이 좋습니다.

`db-subnet-group-name` 또는 `vpc-security-group-id`이(가) 지정되지 않은 경우 Amazon DocumentDB는 해당 리전에 대해 기본 서브넷 그룹과 Amazon VPC 보안 그룹을 사용합니다.

다음 예제에서는 자신의 정보로 각각의 *사용자 입력 자리 표시자*를 바꿉니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb create-db-cluster \
      --global-cluster-identifier global-cluster-id \
      --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id
```

Windows의 경우:

```
aws docdb create-db-cluster ^
      --global-cluster-identifier global-cluster-id ^
      --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
    "DBCluster": {
        "StorageEncrypted": false,
        "DBClusterMembers": [],
        "Engine": "docdb",
        "DeletionProtection" : "enabled",
        "ClusterCreateTime": "2018-11-26T17:15:19.885Z",
        "DBSubnetGroup": "default",
        "EngineVersion": "4.0.0",
        "MasterUsername": "masteruser",
        "BackupRetentionPeriod": 1,
        "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:cluster-id",
        "DBClusterIdentifier": "cluster-id",
        "MultiAZ": false,
        "DBClusterParameterGroup": "default.docdb4.0",
        "PreferredBackupWindow": "09:12-09:42",
        "DbClusterResourceId": "cluster-KQSGI4MHU4NTDDRVNLNTU7XVAY",
        "PreferredMaintenanceWindow": "tue:04:17-tue:04:47",
        "Port": 27017,
        "Status": "creating",
        "ReaderEndpoint": "cluster-id.cluster-ro-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com",
        "AssociatedRoles": [],
        "HostedZoneId": "ZNKXTT8WH85VW",
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-77186e0d",
                "Status": "active"
            }
        ],
        "AvailabilityZones": [
            "us-east-1a",
            "us-east-1c",
            "us-east-1e"
        ],
        "Endpoint": "cluster-id.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com"
    }
}
```

클러스터를 생성하는 데 몇 분 정도 걸립니다. AWS Management Console 또는를 사용하여 클러스터의 상태를 AWS CLI 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 단원을 참조하십시오.

**중요**  
 AWS CLI 를 사용하여 Amazon DocumentDB 리전 클러스터를 생성하면 인스턴스가 생성되지 않습니다. 따라서 기본 인스턴스와 필요한 복제 인스턴스를 명시적으로 생성해야 합니다. 콘솔 또는를 사용하여 인스턴스 AWS CLI 를 생성할 수 있습니다. 자세한 내용은 Amazon DocumentDB API 참조에서 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 및 [CreateDBCluster](API_CreateDBCluster.md)을 참조하세요.

리전 클러스터를 사용할 수 있게 되면 [Amazon DocumentDB 글로벌 클러스터 AWS 리전 에 추가](#global-clusters.add-region) 지침에 따라 다른 리전에 보조 클러스터를 추가할 수 있습니다. 리전을 추가하면 리전 클러스터가 기본 클러스터가 되고 선택한 리전에 새 보조 클러스터가 생깁니다.

## Amazon DocumentDB 글로벌 클러스터 AWS 리전 에 추가
<a name="global-clusters.add-region"></a>

글로벌 클러스터에는 기본 클러스터와 다른 리전에 하나 이상의 보조 클러스터가 필요하며 보조 클러스터를 5개까지 추가할 수 있습니다. 추가하는 각 보조 클러스터에 대해 기본 클러스터에 허용되는 복제본 수를 하나씩 줄여야 한다는 점에 유의하세요. 예를 들어 글로벌 클러스터에 5개의 보조 리전이 있는 경우 기본 클러스터에는 15개가 아닌 10개의 복제본만 있을 수 있습니다. 자세한 내용은 [Amazon DocumentDB 글로벌 클러스터의 구성 요구 사항](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.get-started.html#global-clusters.config)을 참조하세요.

### 사용 AWS Management Console
<a name="global-clusters-add-region-console"></a>

1. 에 로그인 AWS Management Console 하고 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.  
![\[Amazon DocumentDB 콘솔의 클러스터 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/choose-cluster.png)

1. 보조 클러스터를 추가할 클러스터를 선택합니다. 클러스터가 `Available`인지 확인합니다.  
![\[mydocdbglobalcluster가 강조 표시되고 사용 가능한 상태를 보여주는 리전 및 글로벌 클러스터 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/choose-cluster-2.png)

1. **작업**의 드롭다운 목록을 선택한 다음 **리전 추가**를 선택합니다.  
![\[클러스터 인터페이스의 작업 드롭다운에는 리전 추가 옵션이 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/add-region.png)

1. ** AWS 리전추가** 페이지에서 보조 리전을 선택합니다. 동일한 글로벌 데이터베이스에 대해 보조 DB 클러스터가 이미 있는 리전을 선택할 수 없다는 점에 유의하세요. 또한 이는 기본 클러스터와 동일한 리전이 될 수 없습니다. 이 리전을 처음 추가하는 경우 선택한 글로벌 클러스터 식별자도 지정해야 합니다.  
![\[AWS 리전 양식 추가의 드롭다운 메뉴를 사용하여 보조 리전을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/add-region-2.png)

1. 새 리전에서 보조 클러스터에 대한 나머지 필드를 완료합니다. 이후 **클러스터 생성**을 선택합니다. 리전 추가를 완료하면 AWS Management Console의 **클러스터** 목록에서 볼 수 있습니다.  
![\[구성 양식, 시간당 예상 비용 및 클러스터 생성 버튼을 표시하여 클러스터에 리전을 추가하는 최종 단계입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/quick-start/select-add-region.png)

### 사용 AWS CLI
<a name="global-clusters-add-region-cli"></a>
+ `create-db-cluster` CLI 명령을 글로벌 클러스터의 이름 `(--global-cluster-identifier)`과 함께 사용합니다. 기타 명령 파라미터에서 다음을 수행합니다.
  + 에서 기본 리전 AWS 리전 과 다른을 `--region`선택합니다.
  + `--engine` 및 `--engine-version` 파라미터의 구체적인 값을 선택합니다.
  + 암호화된 클러스터의 경우 기본를 암호화를 `--source-region` 위한 AWS 리전 로 지정합니다.

다음 예제에서는 새 Amazon DocumentDB 클러스터를 생성하여 글로벌 클러스터에 읽기 전용 보조 클러스터로 연결합니다. 마지막 단계에서 인스턴스가 새 클러스터에 추가됩니다.

다음 예제에서는 자신의 정보로 각각의 *사용자 입력 자리 표시자*를 바꿉니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb --region secondary-region-id \
  create-db-cluster \
    --db-cluster-identifier cluster-id \
    --global-cluster-identifier global-cluster-id \
    --engine-version version \
    --engine docdb

aws docdb --region secondary-region-id \
  create-db-instance \
    --db-cluster-identifier cluster-id \
    --global-cluster-identifier global-cluster-id \
    --engine-version version \
    --engine docdb
```

Windows의 경우:

```
aws docdb --region secondary-region-id ^
  create-db-cluster ^
    --db-cluster-identifier cluster-id ^
    --global-cluster-identifier global-cluster-id ^
    --engine-version version ^
    --engine docdb

aws docdb --region secondary-region-id ^
  create-db-instance ^
    --db-cluster-identifier cluster-id ^
    --global-cluster-identifier global-cluster-id ^
    --engine-version version ^
    --engine docdb
```

## Amazon DocumentDB 글로벌 클러스터에 스냅샷 사용
<a name="global-clusters.snapshot"></a>

Amazon DocumentDB 클러스터의 스냅샷을 복원하여 글로벌 클러스터의 시작점으로 사용할 수 있습니다. 이렇게 하려면 스냅샷을 복원하고 새 클러스터를 생성해야 합니다. 이는 글로벌 클러스터의 기본 클러스터 역할을 합니다. 그런 다음 복원된 클러스터에 다른 리전을 추가하여 글로벌 클러스터로 변환할 수 있습니다.

# Amazon DocumentDB 글로벌 클러스터 관리
<a name="global-clusters.manage"></a>

글로벌 클러스터를 구성하는 개별 클러스터에서 대부분의 관리 작업을 수행할 수 있습니다. 콘솔의 **데이터베이스** 페이지에서 **관련 리소스 그룹화**를 선택하면, 연결된 글로벌 클러스터 아래에 그룹화된 기본 클러스터와 보조 클러스터를 볼 수 있습니다.

글로벌 클러스터의 **구성** 탭에는 클러스터가 실행 중인 AWS 리전 , 버전 및 글로벌 클러스터 식별자가 표시됩니다.

**Topics**
+ [글로벌 클러스터 수정](#global-clusters.modify)
+ [파라미터 수정](#global-clusters.modify-parameters)
+ [글로벌 클러스터 제거](#global-clusters.remove)
+ [글로벌 클러스터 삭제](#global-clusters.delete)
+ [헤드리스 클러스터](#global-clusters.headless)

## Amazon DocumentDB 글로벌 클러스터 수정
<a name="global-clusters.modify"></a>

의 **클러스터** 페이지에는 모든 글로벌 클러스터가 AWS Management Console 나열되며 각 클러스터의 기본 클러스터와 보조 클러스터가 표시됩니다. 글로벌 클러스터에는 고유한 구성 설정이 있습니다. 특히, 기본 및 보조 클러스터와 관련된 리전이 있습니다.

글로벌 클러스터를 변경하면 변경 사항을 취소 할 수 있는 기회가 제공됩니다.

계속을 선택하면 변경 사항이 승인됩니다.

## 파라미터 Amazon DocumentDB 글로벌 클러스터 수정
<a name="global-clusters.modify-parameters"></a>

글로벌 클러스터 내에서 각 클러스터에 대해 클러스터 파라미터 그룹을 별도로 구성할 수 있습니다. 대부분의 파라미터는 다른 종류의 Amazon DocumentDB 클러스터와 동일하게 작동합니다. 전역 데이터베이스의 모든 클러스터 간에 설정을 일관성 있게 유지하는 것이 좋습니다. 이렇게 하면 보조 클러스터를 기본 클러스터로 승격하는 경우에 예상치 못한 동작 변경을 방지할 수 있습니다.

예를 들면 다른 클러스터가 기본 클러스터로 대신 사용되는 경우 일관되지 않은 동작을 방지하려면 시간대와 문자 세트에 대해 동일한 설정을 사용합니다.

## Amazon DocumentDB 글로벌 클러스터에서 클러스터 분리
<a name="global-clusters.remove"></a>

글로벌 클러스터에서 클러스터를 제거해야 하는 상황은 여러 가지가 있습니다. 예를 들어, 기본 클러스터가 성능이 저하되거나 격리된 경우 글로벌 클러스터에서 클러스터를 제거할 수 있습니다. 그런 다음, 프로비저닝된 독립형 클러스터가 되어, 새로운 글로벌 클러스터를 생성하는 데 사용할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 글로벌 클러스터에 대한 수동 장애 조치 수행](global-clusters-disaster-recovery.md#manual-failover)를 참조하세요.

더 이상 필요하지 않은 글로벌 클러스터를 삭제하고자 하기 때문에 클러스터를 제거하고 싶을 수도 있습니다. 연결된 모든 클러스터를 분리하고 기본 클러스터를 마지막으로 남겨둘 때까지는 글로벌 클러스터를 삭제할 수 없습니다. 자세한 내용은 [Amazon DocumentDB 글로벌 클러스터에서 클러스터 제거](#global-clusters.delete) 단원을 참조하십시오.

**참고**  
클러스터가 글로벌 클러스터에서 분리되면, 더 이상 기본 클러스터와 동기화되지 않습니다. 완전한 읽기/쓰기 기능을 갖춘 프로비저닝된 독립형 클러스터가 됩니다. 또한 Amazon DocumentDB 콘솔에 더이상 표시되지 않습니다. 콘솔에서 클러스터가 위치한 지역을 선택한 경우에만 볼 수 있습니다.

 AWS Management Console AWS CLI, 또는 RDS API를 사용하여 글로벌 클러스터에서 클러스터를 제거할 수 있습니다.

------
#### [ Using the AWS Management Console ]

1. 에 로그인 AWS Management Console 하고 Amazon DocumentDB 콘솔로 이동합니다.

1. 왼쪽 측면의 탐색 창에서 **클러스터**를 선택합니다.  
![\[이미지: 기존 클러스터 링크 및 해당 인스턴스 링크의 목록을 보여주는 클러스터 탐색 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/choose-cluster.png)

1. 모든 보조 클러스터를 볼 수 있도록 글로벌 클러스터를 확장하세요. 제거하려는 보조 클러스터를 선택합니다. **작업**을 선택하고 드롭다운 메뉴에서 **글로벌에서 제거**를 선택합니다.  
![\[이미지: 기존 보조 클러스터를 선택하고 '글로벌에서 제거' 작업을 강조 표시하는 클러스터 탐색 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/remove-global.png)

1. 보조 클러스터를 글로벌 클러스터에서 분리할지 확인하는 메시지가 표시됩니다. 글로벌 클러스터에서 클러스터를 제거하려면 **제거 및 승격**을 선택합니다.  
![\[이미지: 제거 및 승격 프롬프트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/remove-promote.png)

클러스터는 더 이상 보조 클러스터로 사용되지 않으며 더 이상 기본 클러스터와 동기화되지 않습니다. 완전한 읽기/쓰기 기능을 갖춘 독립형 클러스터입니다.

보조 클러스터를 모두 제거하거나 삭제한 후 동일한 방식으로 기본 클러스터를 제거할 수 있습니다. 모든 보조 클러스터를 제거해야 기본 클러스터를 글로벌 클러스터에서 분리 또는 제거할 수 있습니다. 글로벌 클러스터는 0 리전 및 AZ가 있는 클러스터 목록에 남아 있을 수 있습니다. 이 글로벌 클러스터를 더 이상 사용하지 않을 경우 삭제할 수 있습니다.

------
#### [ Using the AWS CLI ]

글로벌 클러스터에서 클러스터를 제거하려면 `remove-from-global-cluster` CLI 명령 및 다음 파라미터를 실행합니다.
+ `--global-cluster-identifier` - 글로벌 클러스터의 이름(식별자)입니다.
+ `--db-cluster-identifier` - 글로벌 클러스터에서 제거할 각 클러스터의 이름입니다.

다음 명령은 글로벌 클러스터에서 보조 클러스터를 제거한 후 기본 클러스터를 제거합니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb --region secondary_region \
  remove-from-global-cluster \
    --db-cluster-identifier secondary_cluster_ARN \
    --global-cluster-identifier global_cluster_id

aws docdb --region primary_region \
  remove-from-global-cluster \
    --db-cluster-identifier primary_cluster_ARN \
    --global-cluster-identifier global_cluster_id
```

글로벌 클러스터의 각 보조 리전에 대해 `remove-from-global-cluster` `--db-cluster-identifier` `secondary_cluster_ARN` 명령을 반복합니다.

Windows의 경우:

```
aws docdb --region secondary_region ^
  remove-from-global-cluster ^
    --db-cluster-identifier secondary_cluster_ARN ^
    --global-cluster-identifier global_cluster_id

aws docdb --region primary_region ^
  remove-from-global-cluster ^
    --db-cluster-identifier primary_cluster_ARN ^
    --global-cluster-identifier global_cluster_id
```

글로벌 클러스터의 각 보조 리전에 대해 `remove-from-global-cluster` `--db-cluster-identifier` `secondary_cluster_ARN` 명령을 반복합니다.

------

## Amazon DocumentDB 글로벌 클러스터에서 클러스터 제거
<a name="global-clusters.delete"></a>

글로벌 클러스터를 삭제하려면 다음을 수행합니다.
+ 글로벌 클러스터에서 모든 보조 클러스터를 제거합니다. 각 클러스터는 독립형 클러스터가 됩니다. 이전 [Amazon DocumentDB 글로벌 클러스터에서 클러스터 분리](#global-clusters.remove) 섹션을 참조하세요.
+ 각 독립형 클러스터에서 모든 복제본을 삭제합니다.
+ 글로벌 클러스터에서 기본 클러스터를 제거합니다. 이 클러스터는 독립형 클러스터가 됩니다.
+ 기본 클러스터에서 먼저 모든 복제본을 삭제한 다음 기본 인스턴스를 삭제합니다. 새로 독립 실행형 클러스터에서 기본 인스턴스를 삭제하면 일반적으로 클러스터와 글로벌 클러스터 모두가 제거됩니다.

------
#### [ Using the AWS Management Console ]

1. 에 로그인 AWS Management Console 하고 Amazon DocumentDB 콘솔로 이동합니다.

1. **클러스터**를 선택하고 삭제할 글로벌 클러스터를 찾습니다.  
![\[이미지: 기존 클러스터 링크 및 해당 인스턴스 링크의 목록을 보여주는 클러스터 탐색 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/choose-cluster.png)

1. 글로벌 클러스터를 선택한 상태에서 **작업** 메뉴에서 **삭제**를 선택합니다.  
![\[이미지: 글로벌 클러스터 선택을 표시하고 '삭제' 작업을 강조 표시하는 클러스터 탐색 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/global-clusters/delete-cluster.png)

글로벌 클러스터에서 다른 모든 클러스터가 제거되었는지 확인합니다. 글로벌 클러스터에는 0 리전, AZ와 0 클러스터 크기가 표시되어야 합니다. 글로벌 클러스터에 클러스터가 포함되어 있으면 삭제할 수 없습니다. 먼저 이전 단계인 **[Amazon DocumentDB 글로벌 클러스터에서 클러스터 분리](#global-clusters.remove)**의 지침을 따라야 합니다.

------
#### [ Using the AWS CLI ]

글로벌 클러스터를 삭제하려면 다음 예제와 같이 AWS 리전 의 이름과 글로벌 클러스터 식별자를 사용하여 `delete-global-cluster` CLI 명령을 실행합니다.

Linux, macOS, Unix의 경우:

```
aws docdb --region primary_region delete-global-cluster \
   --global-cluster-identifier global_cluster_id
```

Windows의 경우:

```
aws docdb --region primary_region delete-global-cluster ^
   --global-cluster-identifier global_cluster_id
```

------

## 보조 리전에 헤드리스 Amazon DocumentDB 클러스터 생성
<a name="global-clusters.headless"></a>

Amazon DocumentDB 글로벌 클러스터에는 기본 클러스터 AWS 리전 와 다른에 하나 이상의 보조 클러스터가 필요하지만 보조 클러스터에 헤드리스 구성을 사용할 수 있습니다. 헤드리스 세컨더리 Amazon DocumentDB 클러스터는 인스턴스가 없는 클러스터입니다. 이 유형의 구성은 글로벌 클러스터에 대한 비용을 줄일 수 있습니다. Amazon DocumentDB 클러스터에서는 컴퓨팅과 스토리지가 분리되어 있습니다. 인스턴스가 없으면 컴퓨팅 요금이 청구되지 않고 스토리지 요금만 청구됩니다. 올바르게 설정되면, 헤드리스 보조 스토리지 볼륨이 기본 클러스터와 동기화 상태를 유지합니다.

Amazon DocumentDB 글로벌 클러스터를 생성할 때 보통 때처럼 보조 클러스터를 추가합니다. 그러나 프라이머리 클러스터가 보조 클러스터로 복제되기 시작한 후에는 보조 클러스터에서 읽기 전용 DB 인스턴스를 삭제합니다. 이 보조 클러스터에는 더 이상 인스턴스가 없기 때문에 “헤드리스”로 간주됩니다. 그러나 스토리지 볼륨은 기본 Amazon DocumentDB 클러스터와 동기화 상태를 유지합니다.

**중요**  
15분 이상 지역 전반의 장애를 견딜 수 있는 고객에게만 헤드리스 클러스터를 사용하는 것이 좋습니다. 헤드리스 보조 클러스터로 지역 전반의 장애를 복구하려면 장애 조치 후 사용자가 새 인스턴스를 만들어야 하기 때문입니다. 새 인스턴스를 사용할 수 있게 되려면 약 10\$115분 정도 걸릴 수 있습니다.

### 글로벌 클러스터에 헤드리스 보조 클러스터를 추가하는 방법
<a name="w2aac33b9c13c17b9"></a>

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

1. 왼쪽 측면의 탐색 창에서 **클러스터**를 선택합니다.

1. 보조 클러스터가 필요한 글로벌 클러스터를 선택합니다. 기본 클러스터가 `Available`인지 확인합니다.

1. **작업**에서 **리전 추가**를 선택합니다.

1. **리전 추가** 페이지에서 보조 리전을 선택합니다.
**참고**  
동일한 글로벌 클러스터에 대해 보조 클러스터가 이미 있는 리전을 선택할 수 없습니다. 또한 이는 기본 클러스터와 동일한 리전이 될 수 없습니다.

1. 새 리전에서 보조 클러스터에 대한 나머지 필드를 완료합니다. 이 옵션은 클러스터 인스턴스와 동일한 구성 옵션입니다.

1. 리전을 추가합니다. 글로벌 클러스터에 리전 추가를 완료하면 AWS Management Console의 `Clusters`에서 글로벌 클러스터의 목록에서 볼 수 있습니다.

1.  AWS Management Console 또는를 사용하여 계속하기 전에 보조 클러스터와 해당 리더 인스턴스의 상태를 확인합니다 AWS CLI. 다음은 AWS CLI을 사용하는 경우의 샘플 명령입니다.

   ```
   $ aws docdb describe-db-clusters --db-cluster-identifier secondary-cluster-id --query '*[].[Status]' --output text
   ```

   새로 추가된 보조 클러스터의 상태가 생성에서 사용 가능으로 변경되려면 몇 분 정도 걸릴 수 있습니다. 클러스터를 사용할 수 있게 되면 리더 인스턴스를 삭제할 수 있습니다.

1. 보조 클러스터에서 리더 인스턴스를 선택한 후 **삭제**를 선택합니다.

1. 리더 인스턴스를 삭제한 후 보조 클러스터는 글로벌 클러스터의 일부로 남습니다. 데이터와 연결되지 않아야 합니다.

**참고**  
이러한 중단이 발생할 경우 이 헤드리스 세컨더리 Amazon DocumentDB 클러스터를 사용하여 기본 리전의 계획되지 않은 중단으로부터 Amazon DocumentDB 글로벌 클러스터를 수동으로 복구할 수 있습니다.

# Amazon DocumentDB 글로벌 클러스터에 연결
<a name="global-clusters-connect"></a>

글로벌 클러스터에 연결하는 방법은 클러스터에 쓸 것인지 클러스터에서 읽을 것인지에 따라 달라집니다:
+ 읽기 전용 요청 또는 쿼리의 경우 자신의 AWS 리전에 있는 Aurora 클러스터 리더 엔드포인트에 연결합니다.
+ 데이터 조작 언어(DML) 또는 데이터 정의 언어(DDL) 설명문을 실행하려면 기본 클러스터용 클러스터 엔드포인트에 연결합니다. 이 엔드포인트는 애플리케이션 AWS 리전 과 다른에 있을 수 있습니다.

콘솔에서 글로벌 클러스터를 볼 때 해당 모든 클러스터와 연결된 모든 범용 엔드포인트를 볼 수 있습니다.

글로벌 클러스터에 연결하는 방법은 데이터베이스에 쓸 것인지 데이터베이스에서 읽을 것인지에 따라 달라집니다. 기본 영역에서 제공할 DDL, DML 및 읽기 작업의 경우 기본 클러스터에 연결해야 합니다. 읽기 환경설정이 `secondaryPreferred=true`인 클러스터 엔드포인트를 복제본 세트 모드로 사용하여 기본 클러스터에 연결하는 것이 좋습니다. 그러면 쓰기 트래픽이 기본 클러스터의 작성자 인스턴스로 라우팅되고 읽기 트래픽이 기본 클러스터의 복제본 인스턴스로 라우팅됩니다.

교차 리전의 경우 트래픽만 읽으며 보조 클러스터 중 하나에 연결해야 합니다. 복제본 세트 모드에서 클러스터 엔드포인트를 사용하여 보조 클러스터에 연결하는 것이 좋습니다. 모든 인스턴스는 읽기 전용 복제본 인스턴스이므로 읽기 환경설정을 지정할 필요가 없습니다. 대기 시간을 최소화하려면 해당 리전 또는 가장 가까운 리전에 있는 판독기 엔드포인트를 선택합니다.

# Amazon DocumentDB 글로벌 클러스터 모니터링
<a name="global-clusters-monitor"></a>

Amazon DocumentDB(MongoDB 호환)는 CloudWatch와 통합되므로 클러스터에 대한 운영 지표를 수집하고 분석할 수 있습니다. CloudWatch 콘솔, Amazon DocumentDB 콘솔, AWS Command Line Interface (AWS CLI) 또는 CloudWatch API를 사용하여 이러한 지표를 모니터링할 수 있습니다.

글로벌 클러스터를 모니터링하려면 다음 CloudWatch 지표를 사용합니다.


| 지표 | 설명 | 
| --- | --- | 
| GlobalClusterReplicatedWriteIO | 5분 간격으로 AWS 리전보고된 기본의 클러스터 볼륨에서 보조 AWS 리전 의 클러스터 볼륨으로 복제된 청구된 쓰기 I/O 작업의 평균 수입니다. 각 보조 리전에 복제되는 ReplicatedWriteIOs 횟수는 기본 리전에서 VolumeWriteIOPs 수행한 리전 내 복제 수와 동일합니다. | 
| GlobalClusterDataTransferBytes | 기본 클러스터에서 보조 클러스터로 전송 AWS 리전 된 데이터의 양은 바이트 단위로 AWS 리전측정됩니다. | 
| GlobalClusterReplicationLag | 기본 클러스터의에서 보조 클러스터의 로 변경 이벤트를 복제 AWS 리전 할 때 밀리초 단위의 지연 시간 AWS 리전 | 

이러한 지표를 보는 방법에 대한 자세한 내용은 [CloudWatch 데이터 보기](https://docs.aws.amazon.com/documentdb/latest/developerguide/cloud_watch.html#cloud_watch-view_data)를 참조하십시오.

# 재해 복구 및 Amazon DocumentDB 글로벌 클러스터
<a name="global-clusters-disaster-recovery"></a>

**Topics**
+ [Amazon DocumentDB 글로벌 클러스터에 대한 관리형 장애 조치 수행](#managed-failover)
+ [Amazon DocumentDB 글로벌 클러스터에 대한 수동 장애 조치 수행](#manual-failover)
+ [Amazon DocumentDB 글로벌 클러스터에 대한 전환 수행](#global-cluster-switchover)
+ [글로벌 클러스터 전환 또는 장애 조치 차단 해제](#unblocking-gc-so-fo)

글로벌 클러스터를 활용하여 리전 장애와 같은 재해로부터 신속하게 복구할 수 있습니다. 재해 복구는 일반적으로 RTO 및 RPO 값을 사용하여 측정됩니다.
+ **(Recovery Time Objective(RTO)** – 재해 발생 후 시스템이 정상 작동 상태로 돌아가는 데 걸리는 시간입니다. 즉 RTO는 가동 중지 시간을 측정합니다. 글로벌 클러스터의 경우 몇 분 안에 RTO를 수행합니다.
+ **Recovery Point Objective(RPO)** – 손실될 수 있는 데이터의 양입니다(시간으로 측정). 글로벌 클러스터의 경우 일반적으로 RPO는 초 단위로 측정됩니다.
+ 계획되지 않은 중단에서 복구하려면 글로벌 클러스터의 보조 클러스터 중 하나에 대해 리전 간 장애 조치를 수행할 수 있습니다. 글로벌 클러스터에 여러 개의 보조 리전이 있다면 기본으로 승격하려는 모든 보조 리전의 연결을 해제해야 합니다. 그런 다음 보조 영역 중 하나를 새 기본 영역 AWS 리전으로 승격합니다. 마지막으로 다른 보조 영역 각각에 새 클러스터를 생성하고 해당 클러스터를 글로벌 클러스터에 연결합니다.

## Amazon DocumentDB 글로벌 클러스터에 대한 관리형 장애 조치 수행
<a name="managed-failover"></a>

이 접근 방식은 실제 리전별 재해 이벤트 또는 전체 서비스 수준 중단이 발생하는 경우 비즈니스 연속성을 유지하기 위해 개발되었습니다.

관리형 장애 조치 중에, Amazon DocumentDB 글로벌 클러스터의 기존 복제 토폴로지가 유지되는 동안 기본 클러스터는 선택한 보조 리전으로 장애 조치됩니다. 선택한 보조 클러스터에서는 읽기 전용 노드 중 하나가 전체 라이터 상태로 승격됩니다. 이 단계를 통해 클러스터는 기본 클러스터의 역할을 맡게 됩니다. 클러스터가 새 역할을 맡는 동안에는 데이터베이스를 일시적으로 사용할 수 없습니다. 이 보조 클러스터가 새 기본 클러스터가 되면 기존 기본 클러스터에서 선택한 보조 클러스터로 복제되지 않은 데이터는 누락될 수 있습니다. 이전 기본 볼륨은 스냅샷에 복제되지 않은 데이터가 보존되도록 새 기본 볼륨과 동기화하기 전에 스냅샷을 찍으려고 최선의 노력을 기울입니다.

**참고**  
기본 및 모든 보조 클러스터에 있는 엔진 버전이 동일한 경우 Amazon DocumentDB 글로벌 클러스터에서 관리형 리전 간 클러스터 장애 조치만 수행할 수 있습니다. 엔진 버전이 호환되지 않는 경우 [Amazon DocumentDB 글로벌 클러스터에 대한 수동 장애 조치 수행](#manual-failover)에 나온 단계에 따라 수동으로 장애 조치를 수행할 수 있습니다.  
리전의 엔진 버전이 일치하지 않으면 장애 조치가 차단됩니다. 보류 중인 업그레이드가 있는지 확인하고 이를 적용하여 모든 리전의 엔진 버전이 일치하고 글로벌 클러스터 장애 조치가 차단 해제되었는지 확인하세요. 자세한 내용은 [글로벌 클러스터 전환 또는 장애 조치 차단 해제](#unblocking-gc-so-fo) 단원을 참조하십시오.

데이터 손실을 최소화하려면 이 기능을 사용하기 전에 다음을 수행하는 것이 좋습니다.
+ 애플리케이션을 오프라인으로 전환하여 쓰기가 Amazon DocumentDB 글로벌 클러스터의 기본 클러스터로 전송되는 경우를 방지합니다.
+ 모든 Amazon DocumentDB 보조 클러스터의 지연 시간을 확인합니다. 복제 지연이 가장 적게 소요되는 보조 리전을 선택하면 현재 장애가 발생한 기본 리전에서 데이터 손실을 최소화할 수 있습니다. Amazon CloudWatch에서 `GlobalClusterReplicationLag` 지표를 확인하여 글로벌 클러스터의 모든 Amazon DocumentDB 보조 클러스터에 대한 지연 시간을 확인합니다. 이 지표를 통해 보조 클러스터가 기본 DB 클러스터에 비해 얼마나 뒤처져 있는지(밀리초 단위) 알 수 있습니다.

  Amazon DocumentDB용 CloudWatch 지표에 대한 자세한 내용은 [Amazon DocumentDB 지표](cloud_watch.md#cloud_watch-metrics_list) 섹션을 참조하세요.

관리형 장애 조치 중에, 선택한 보조 DB 클러스터가 기본 클러스터처럼 새 역할로 승격됩니다. 하지만 기본 클러스터의 다양한 구성 옵션은 상속되지 않습니다. 구성이 일치하지 않으면 성능 문제, 워크로드 비호환성, 기타 비정상적인 동작이 발생할 수 있습니다. 이러한 문제를 방지하려면, 다음에 대해 Amazon DocumentDB 글로벌 클러스터 간의 차이점을 해결하는 것이 좋습니다.
+ **필요한 경우 새 기본에 대한 Amazon DocumentDB 클러스터 파라미터 그룹 구성** — Amazon DocumentDB 글로벌 클러스터의 각 클러스터에 대해 Amazon DocumentDB 클러스터 파라미터 그룹을 개별적으로 구성할 수 있습니다. 즉, 보조 클러스터가 기본 클러스터 역할을 맡도록 승격되면 보조 클러스터의 파라미터 그룹이 기본 클러스터와 다르게 구성될 수 있습니다. 그런 경우, 승격된 보조 클러스터의 파라미터 그룹을 기본 클러스터의 설정에 맞게 수정합니다. 자세한 방법은 [Amazon DocumentDB 클러스터 파라미터 그룹 수정](cluster_parameter_groups-modify.md)을 참조하세요.
+ **Amazon CloudWatch Events 및 경보 등의 모니터링 도구 및 옵션 구성** — 승격된 클러스터를 글로벌 클러스터에 필요한 것과 동일한 로깅 기능, 경보 등으로 구성합니다. 파라미터 그룹과 마찬가지로, 이러한 기능에 대한 구성은 장애 조치 프로세스 중에 기본 클러스터에서 상속되지 않습니다. 복제 지연과 같은 일부 CloudWatch 지표는 보조 리전에서만 사용할 수 있습니다. 따라서 장애 조치로 인해 해당 지표를 보고 경보를 설정하는 방법이 달라짐에 따라 사전 정의된 대시보드를 변경해야 할 수도 있습니다. Amazon DocumentDB 클러스터 및 모니터링에 대한 자세한 내용은 [Amazon DocumentDB 모니터링](monitoring_docdb.md) 섹션을 참조하세요.

일반적으로 선택한 보조 클러스터는 1분 이내에 기본 역할을 맡게 됩니다. 새 기본 리전의 라이터 노드를 사용할 수 있게 되면 애플리케이션을 노드에 연결하고 워크로드를 재개할 수 있습니다. Amazon DocumentDB에서 새 기본 클러스터가 승격되고 난 후, 모든 추가 보조 리전 클러스터가 자동으로 재구축됩니다.

Amazon DocumentDB 글로벌 클러스터는 비동기식 복제를 사용하므로 보조 리전마다 복제 지연 시간이 다를 수 있습니다. Amazon DocumentDB는 이러한 보조 리전을 재구축하여 새로운 기본 리전 클러스터와 정확히 동일한 시점의 데이터를 확보하도록 지원합니다. 전체 재구축 작업에 소요되는 시간은 스토리지 볼륨의 크기와 리전 간 거리에 따라 몇 분에서 몇 시간이 걸릴 수 있습니다. 보조 리전 클러스터의 재구축이 새 기본 리전에서 완료되면 읽기 권한으로 액세스할 수 있습니다. 새 기본 라이터가 승격되어 사용 가능해지면 새 기본 리전의 클러스터에서 Amazon DocumentDB 글로벌 클러스터의 읽기 및 쓰기 작업을 처리할 수 있습니다.

글로벌 클러스터의 기존 토폴로지를 복원하기 위해 Amazon DocumentDB는 기존 기본 리전의 가용성을 모니터링합니다. 해당 리전이 정상이고 다시 사용 가능한 상태가 되면 Amazon DocumentDB는 자동으로 글로벌 클러스터에 보조 리전으로 다시 추가합니다. Amazon DocumentDB는 장애가 발생하는 시점에 기존 스토리지 볼륨의 스냅샷을 만들고자 시도한 후, 기존 기본 리전에 새 스토리지 볼륨을 생성합니다. 이렇게 하면 누락된 데이터를 복구하는 데 사용할 수 있습니다. 이 작업이 성공하면 Amazon DocumentDB는 AWS Management Console의 스냅샷 섹션에 'rds:docdb-unplanned-global-failover-name-of-old-primary-DB-cluster-timestamp'라는 이름으로 이 스냅샷을 배치합니다. 또한 이 스냅샷은 `DescribeDBClusterSnapshots` API 작업에서 반환된 정보에 나열되어 있으니 해당 위치에서 확인할 수 있습니다.

**참고**  
기존 스토리지 볼륨의 스냅샷은 시스템 스냅샷으로, 기존 기본 클러스터에 구성된 백업 보존 기간이 적용됩니다. 보존 기간 이후에도 이 스냅샷을 보존하려면 스냅샷을 복사하여 수동 스냅샷으로 저장할 수 있습니다. 요금 등 스냅샷 복사에 대해 자세히 알아보려면 [클러스터 스냅샷 복사](backup_restore-copy_cluster_snapshot.md#backup_restore-copy_a_cluster_snapshot) 단원을 참조하세요.

기존 토폴로지가 복원된 후 비즈니스 및 워크로드에 가장 적합한 시점에 전환 작업을 수행하여 글로벌 클러스터를 기존의 기본 리전으로 장애 복구할 수 있습니다. 이렇게 하려면 [Amazon DocumentDB 글로벌 클러스터에 대한 전환 수행](#global-cluster-switchover) 단원의 절차를 따르세요.

 AWS CLI, 또는 Amazon DocumentDB API를 사용하여 Amazon DocumentDB 글로벌 클러스터 AWS Management Console를 장애 조치할 수 있습니다.

------
#### [ Using the AWS Management Console ]

**Amazon DocumentDB 글로벌 클러스터에서 관리형 장애 조치 수행**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 장애 조치하려는 Amazon DocumentDB 글로벌 클러스터를 찾아 선택합니다.  
![\[이미지: 전역 클러스터가 선택된 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/failover-cluster-table.png)

1. **작업** 메뉴에서 **전환 또는 장애 조치**를 선택합니다.

1. 나타나는 대화 상자에서 **장애 조치**를 선택한 다음 **새 기본 클러스터** 필드 드롭다운 목록에서 보조 클러스터를 선택합니다.  
![\[이미지: 글로벌 클러스터 전환 또는 장애 조치 대화 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/switch-fail-confirm.png)

1. 마지막 필드에 ‘확인’을 입력합니다. 그 다음 **확인**을 선택합니다.

   기본 클러스터의 상태가 ‘**장애 조치 중**’으로 변경됩니다. 이 조건은 약 1분이 소요됩니다. 이 시간 동안 새 기본 클러스터의 상태는 ‘**수정 중...**’으로 표시됩니다. 새 기본이 승격되면 ‘**사용 가능**’이 표시되고 읽기 및 쓰기 트랜잭션을 제공할 수 있습니다. 이전 기본을 포함한 보조 리전은 새 기본과 재동기화되는 동안 ‘**재동기화 중...**’을 표시합니다. 새 기본과 마찬가지로 상태가 ‘**사용 가능**’으로 변경된 후에만 트랜잭션을 제공할 수 있습니다.

1. 완료되면 원래 기본 클러스터가 보조 클러스터가 됩니다. 선택한 보조 클러스터가 기본 클러스터가 됩니다.  
![\[이미지: 새 기본 클러스터를 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/failover-complete.png)

------
#### [ Using the AWS CLI ]

**Amazon DocumentDB 글로벌 클러스터에서 관리형 장애 조치 수행**

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/failover-global-cluster.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/failover-global-cluster.html) CLI 명령을 실행하여 Amazon DocumentDB 글로벌 클러스터를 장애 조치합니다. 명령을 사용하여 다음 옵션에 대한 값을 전달합니다.
+ `--region`
+ `--global-cluster-identifier`
+ `--target-db-cluster-identifier`
+ `--allow-data-loss`

다음 예제에서는 각각의 *사용자 입력 자리 표시자*를 자신의 클러스터 정보로 바꿉니다.

Linux, macOS, Unix의 경우:

```
aws docdb failover-global-cluster \
   --region region_of_selected_secondary \
   --global-cluster-identifier global_cluster_id \
   --target-db-cluster-identifier arn_of_secondary_to_promote \
   --allow-data-loss
```

Windows의 경우:

```
aws docdb failover-global-cluster ^
   --region region_of_selected_secondary ^
   --global-cluster-identifier global_cluster_id ^
   --target-db-cluster-identifier arn_of_secondary_to_promote ^
   --allow-data-loss
```

------

## Amazon DocumentDB 글로벌 클러스터에 대한 수동 장애 조치 수행
<a name="manual-failover"></a>

한의 전체 클러스터를 사용할 수 없게 AWS 리전 되면 글로벌 클러스터의 다른 클러스터를 읽기/쓰기 기능으로 승격할 수 있습니다.

다른 AWS 리전 의 클러스터가 기본 클러스터로 더 적합한 경우 글로벌 클러스터 장애 조치 메커니즘을 수동으로 활성화할 수 있습니다. 예를 들어 보조 클러스터 중 하나의 용량을 늘린 후 이 클러스터를 기본 클러스터로 승격할 수 있습니다. 또는 간의 활동 균형이 변경될 AWS 리전 수 있으므로 기본 클러스터를 다른 로 전환하면 쓰기 작업의 지연 시간이 줄어들 AWS 리전 수 있습니다.

다음 절차에서는 Amazon DocumentDB 글로벌 클러스터의 보조 클러스터 중 하나를 승격하기 위해 수행할 작업을 설명합니다.

보조 클러스터를 승격하려면:

1. 중단 AWS 리전 시의 기본 클러스터에 대한 DML 문 및 기타 쓰기 작업 실행을 중지합니다.

1. 새 기본 클러스터로 사용할 보조 클러스터를 식별 AWS 리전 합니다. 글로벌 클러스터 AWS 리전 에 보조 클러스터가 두 개(또는 그 이상) 있는 경우 지연 시간이 가장 짧은 보조 클러스터를 선택합니다.

1. 선택한 보조 클러스터를 글로벌 클러스터에서 분리합니다.

   글로벌 클러스터에서 보조 클러스터를 제거하면 기본 클러스터에서 이 보조 클러스터로의 복제가 즉시 중지되고 전체 읽기/쓰기 기능을 갖춘 독립 실행형 프로비저닝 클러스터로 승격됩니다. 정전이 발생한 리전의 주 클러스터와 관련된 다른 보조 클러스터는 여전히 사용할 수 있으며 애플리케이션의 호출을 수락할 수 있습니다. 클러스터는 리소스도 소비합니다. 글로벌 클러스터를 다시 생성하는 중이므로 분할 브레인 및 기타 문제를 방지하려면 다음 단계에서 새 글로벌 클러스터를 생성하기 전에 다른 보조 클러스터를 제거하십시오.

   분리 단계에 대한 자세한 내용은 [Amazon DocumentDB 글로벌 클러스터에서 클러스터 분리](global-clusters.manage.md#global-clusters.remove) 섹션을 참조하십시오.

1. 이 클러스터는 다음 단계에서 영역을 추가하기 시작하면 새 글로벌 클러스터의 기본 클러스터가 됩니다.

1. 클러스터에 AWS 리전 를 추가합니다. 이렇게 하면 기본 클러스터에서 보조 클러스터로의 복제 프로세스가 시작됩니다.

1. 필요에 AWS 리전 따라를 추가하여 애플리케이션을 지원하는 데 필요한 토폴로지를 다시 생성합니다. 글로벌 클러스터에 있는 클러스터 간의 데이터 불일치(분할 뇌 문제)를 방지하기 위해 이러한 변경 전, 변경 중 및 변경 후에 애플리케이션 쓰기가 올바른 클러스터로 전송되는지 확인합니다.

1. 운영 중단이 해결되고 원본 AWS 리전 을 다시 기본 클러스터로 할당할 준비가 되면 동일한 단계를 반대로 수행합니다.

1. 글로벌 데이터베이스에서 보조 클러스터 중 하나를 제거합니다. 이렇게 하면 읽기/쓰기 트래픽을 처리할 수 있습니다.

1. 모든 쓰기 트래픽을 원래 AWS 리전의 기본 클러스터로 리디렉션합니다.

1.  AWS 리전 를 추가하여 이전 AWS 리전 과 동일한에 하나 이상의 보조 클러스터를 설정합니다.

Amazon DocumentDB 글로벌 클러스터는 AWS SDKs 사용하여 관리할 수 있으므로 재해 복구 및 비즈니스 연속성 계획 사용 사례에 대한 글로벌 클러스터 장애 조치 프로세스를 자동화하는 솔루션을 생성할 수 있습니다. 이러한 솔루션 중 하나는 Apache 2.0 라이센스에 따라 고객이 사용할 수 있도록 제공되며 [여기](https://github.com/awslabs/amazon-documentdb-tools/tree/master/global-clusters-automation)에 있는 툴 저장소에서 액세스할 수 있습니다. 이 솔루션은 엔드포인트 관리를 위해 Amazon Route 53를 활용하고 적절한 이벤트를 기반으로 트리거할 수 있는 AWS Lambda 함수를 제공합니다.

## Amazon DocumentDB 글로벌 클러스터에 대한 전환 수행
<a name="global-cluster-switchover"></a>

전환을 사용하면 기본 클러스터의 리전을 정기적으로 변경할 수 있습니다. 이 접근 방식은 운영 유지 관리 및 기타 계획된 운영 절차 등 제어된 시나리오를 대상으로 개발되었습니다.

전환은 일반적으로 3가지의 경우에 사용됩니다.
+ 특정 산업에서 필요로 하는 '리전별 순환' 요구 사항을 살펴봅니다. 예를 들어 금융 서비스 규정에 따라 재해 복구 절차가 정기적으로 실행되도록 보장하려면 Tier-0 시스템을 몇 개월 동안 다른 리전으로 전환해야 할 수 있습니다.
+ 여러 리전의 'follow-the-sun' 애플리케이션을 살펴봅니다. 각기 다른 시간대 전반에서 업무 시간을 기준으로 여러 리전별로 지연 시간이 짧은 쓰기 기능을 제공하고자 하는 기업을 예로 들 수 있습니다.
+ 데이터 손실 제로의 방법이며, 장애 조치 후 기존의 기본 리전으로 페일백하는 데 유용합니다.

**참고**  
전환은 정상 Amazon DocumentDB 글로벌 클러스터에서 사용하도록 설계되었습니다. 예상치 못한 중단이 발생한 상태에서 복구하려면 [Amazon DocumentDB 글로벌 클러스터에 대한 수동 장애 조치 수행](#manual-failover) 단원에 나온 적절한 절차를 따르세요.  
전환을 수행하려면 모든 보조 리전이 기본 리전과 정확히 동일한 엔진 버전을 실행해야 합니다. 리전의 엔진 버전이 일치하지 않으면 전환이 차단됩니다. 보류 중인 업그레이드가 있는지 확인하고 이를 적용하여 모든 리전의 엔진 버전이 일치하고 글로벌 클러스터 전환이 차단 해제되었는지 확인하세요. 자세한 내용은 [글로벌 클러스터 전환 또는 장애 조치 차단 해제](#unblocking-gc-so-fo) 단원을 참조하십시오.

전환 중에, Amazon DocumentDB에서는 글로벌 클러스터의 기존 복제 토폴로지가 유지되는 동안 기본 클러스터를 선택한 보조 리전으로 전환합니다. Amazon DocumentDB는 모든 보조 리전 클러스터가 기본 리전 클러스터와 완전히 동기화될 때까지 기다린 다음, 전환 프로세스를 시작합니다. 그러면 기본 리전의 DB 클러스터가 읽기 전용 상태가 되고, 선택한 보조 클러스터는 읽기 전용 노드 중 하나를 전체 라이터 상태로 승격시킵니다. 이 노드를 라이터로 승격시키면 보조 클러스터가 기본 클러스터의 역할을 맡을 수 있습니다. 프로세스 시작 시 모든 보조 클러스터가 기본 클러스터와 동기화되었으므로, 새로운 기본 클러스터는 데이터 손실 없이 Amazon DocumentDB 글로벌 클러스터에 대한 작업을 계속합니다. 기본 클러스터와 선택한 보조 클러스터가 새 역할을 맡으므로 데이터베이스를 잠시 사용할 수 없습니다.

애플리케이션 가용성을 최적화하려면 이 기능을 사용하기 전에 다음 작업을 수행하는 것이 좋습니다.
+ 사용량이 적은 시간이나 기본 클러스터에 대한 쓰기가 최소인 시간에 이 작업을 수행합니다.
+ 애플리케이션을 오프라인으로 전환하여 쓰기가 Amazon DocumentDB 글로벌 클러스터의 기본 클러스터로 전송되는 경우를 방지합니다.
+ Amazon CloudWatch에서 `GlobalClusterReplicationLag` 지표를 확인하여 글로벌 클러스터의 모든 Amazon DocumentDB 보조 클러스터에 대한 지연 시간을 확인합니다. 이 지표는 보조 DB 클러스터가 기본 DB 클러스터에 비해 얼마나 뒤처져 있는지(밀리초 단위)를 보여 줍니다. 이 값은 Amazon DocumentDB가 전환을 완료하는 데 걸리는 시간에 직접적으로 비례합니다. 따라서 지연 값이 클수록 전환 시간이 더 오래 걸립니다.

  Amazon DocumentDB용 CloudWatch 지표에 대한 자세한 내용은 [Amazon DocumentDB 지표](cloud_watch.md#cloud_watch-metrics_list) 섹션을 참조하세요.

전환 중에, 선택한 보조 DB 클러스터가 기본 DB 클러스터처럼 새 역할로 승격됩니다. 하지만 기본 DB 클러스터의 다양한 구성 옵션은 상속되지 않습니다. 구성이 일치하지 않으면 성능 문제, 워크로드 비호환성, 기타 비정상적인 동작이 발생할 수 있습니다. 이러한 문제를 방지하려면, 다음에 대해 Amazon DocumentDB 글로벌 클러스터 간의 차이점을 해결하는 것이 좋습니다.
+ **필요한 경우 새 기본에 대한 Amazon DocumentDB 클러스터 파라미터 그룹 구성** — Amazon DocumentDB 글로벌 클러스터의 각 클러스터에 대해 Amazon DocumentDB 클러스터 파라미터 그룹을 개별적으로 구성할 수 있습니다. 즉, 보조 DB 클러스터가 기본 클러스터 역할을 맡도록 승격되면 보조 클러스터의 파라미터 그룹이 기본 클러스터와 다르게 구성될 수 있습니다. 그런 경우, 승격된 보조 DB 클러스터의 파라미터 그룹을 기본 클러스터의 설정에 맞게 수정합니다. 자세한 방법은 [Amazon DocumentDB 클러스터 파라미터 그룹 관리](cluster_parameter_groups.md) 단원을 참조하십시오.
+ **Amazon CloudWatch Events 및 경보 등의 모니터링 도구 및 옵션 구성** — 승격된 클러스터를 글로벌 클러스터에 필요한 것과 동일한 로깅 기능, 경보 등으로 구성합니다. 파라미터 그룹과 마찬가지로, 이러한 기능에 대한 구성은 전환 프로세스 중에 기본 클러스터에서 상속되지 않습니다. 복제 지연과 같은 일부 CloudWatch 지표는 기본 리전에서만 사용할 수 있습니다. 따라서 전환으로 인해 해당 지표를 보고 경보를 설정하는 방법이 달라짐에 따라 사전 정의된 대시보드를 변경해야 할 수도 있습니다. 자세한 내용은 [Amazon DocumentDB 모니터링](monitoring_docdb.md) 단원을 참조하십시오.

**참고**  
일반적으로 역할 전환에는 최대 몇 분이 걸릴 수 있습니다.

전환 프로세스가 완료되면 승격된 Amazon DocumentDB 클러스터에서 글로벌 클러스터에 대한 쓰기 작업을 처리할 수 있습니다.

 AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 글로벌 클러스터를 전환할 수 있습니다.

------
#### [ Using the AWS Management Console ]

**Amazon DocumentDB 글로벌 클러스터에서 전환 수행**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 전환하려는 Amazon DocumentDB 글로벌 클러스터를 찾아 선택합니다.  
![\[이미지: 전역 클러스터가 선택된 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/switchover-cluster-table.png)

1. **작업** 메뉴에서 **전환 또는 장애 조치**를 선택합니다.

1. 나타나는 대화 상자에서 **전환**을 선택한 다음 **새 기본 클러스터** 필드 드롭다운 목록에서 보조 클러스터를 선택합니다.  
![\[이미지: 보조 클러스터가 선택된 클러스터 전환 대화 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/switch-fail-confirm-2.png)

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

   기본 클러스터의 상태가 ‘**전환**’으로 변경됩니다. 이 조건은 약 3분이 소요됩니다. 이 시간 동안 모든 리전 클러스터의 상태는 '**수정 중...**'으로 표시됩니다. 리전이 동기화되고 새 프라이머리가 승격되면 모든 상태 필드에 대해 ‘**사용 가능**’이 표시되고 트랜잭션을 제공할 수 있습니다.

1. 완료되면 원래 기본 클러스터가 보조 클러스터가 됩니다. 선택한 보조 클러스터가 기본 클러스터가 됩니다.  
![\[이미지: 새 기본 클러스터를 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/failover-complete.png)

------
#### [ Using the AWS CLI ]

**Amazon DocumentDB 글로벌 클러스터에서 전환 수행**

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/switchover-global-cluster.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/switchover-global-cluster.html) CLI 명령을 실행하여 Amazon DocumentDB 글로벌 클러스터를 전환합니다. 명령을 사용하여 다음 옵션에 대한 값을 전달합니다.
+ `--region`
+ `--global-cluster-identifier`
+ `--target-db-cluster-identifier`

다음 예제에서는 각각의 *사용자 입력 자리 표시자*를 자신의 클러스터 정보로 바꿉니다.

Linux, macOS, Unix의 경우:

```
aws docdb switchover-global-cluster \
   --region region_of_primary \
   --global-cluster-identifier global_cluster_id \
   --target-db-cluster-identifier arn_of_secondary_to_promote
```

Windows의 경우:

```
aws docdb switchover-global-cluster ^
   --region region_of_primary ^
   --global-cluster-identifier global_cluster_id ^
   --target-db-cluster-identifier arn_of_secondary_to_promote
```

------

## 글로벌 클러스터 전환 또는 장애 조치 차단 해제
<a name="unblocking-gc-so-fo"></a>

글로벌 클러스터에 있는 모든 리전 클러스터의 엔진 버전이 동일하지 않은 경우 글로벌 클러스터 전환 및 장애 조치가 차단됩니다. 버전이 일치하지 않으면 전환 또는 장애 조치를 호출할 때 지정된 대상 DB 클러스터가 소스 DB 클러스터와 다른 패치 수준의 엔진 버전을 실행하고 있습니다라는 오류가 응답으로 표시될 수 있습니다. 글로벌 클러스터를 정상 상태로 유지하기 위해 최신 업데이트를 실행하려면 정기적으로 최신 엔진 버전을 적용하는 것이 좋습니다.

이 오류를 해결하려면 먼저 모든 보조 리전을 업데이트한 다음 보류 중인 유지 관리 작업 항목을 적용하여 기본 리전을 동일한 엔진 버전으로 업데이트하세요. 보류 중인 유지 관리 작업 항목을 보고 필요한 변경 사항을 적용하여 문제를 해결하려면 다음 탭 중 하나의 지침을 수행합니다.

------
#### [ Using the AWS Management Console ]

글로벌 클러스터 전환 또는 장애 조치를 차단 해제하려면 클러스터에 대해 보류 중인 유지 관리 작업이 있는지 확인하고 해당 작업을 적용해야 합니다. 다음 단계에 따라 유지 관리 작업을 보고 적용합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터** 테이블의 **클러스터 식별자** 열에서 글로벌 클러스터를 찾습니다. 글로벌 클러스터에서 지정된 글로벌 클러스터의 각 보조 클러스터와 기본 클러스터를 기록하고 각각에 대해 다음 단계를 수행합니다.

1. 각 보조 클러스터의 경우:

   1. 클러스터에 업데이트가 있는 경우 **유지 관리** 열에 **사용 가능**, **필수** 또는 **다음 창**의 단어로 표시됩니다.

   1. 조치를 취하려면 클러스터를 선택하여 세부 정보를 표시한 후 **유지 관리 및 백업**을 선택하십시오. 그러면 **대기 중인 유지 관리** 항목이 표시됩니다.

   1. **설명**에서 ‘새 유지 관리 업데이트를 사용할 수 있음’을 나타내는 경우 해당 업데이트를 선택한 다음 **지금 적용**을 선택합니다.

1. 기본 클러스터의 경우:

   1. 클러스터에 업데이트가 있는 경우 **유지 관리** 열에 **사용 가능**, **필수** 또는 **다음 창**의 단어로 표시됩니다.

   1. 조치를 취하려면 클러스터를 선택하여 세부 정보를 표시한 후 **유지 관리 및 백업**을 선택하십시오. 그러면 **대기 중인 유지 관리** 항목이 표시됩니다.

   1. **설명**에서 ‘새 유지 관리 업데이트를 사용할 수 있음’을 나타내는 경우 해당 업데이트를 선택한 다음 **지금 적용**을 선택합니다.

------
#### [ Using the AWS CLI ]

글로벌 클러스터 전환 또는 장애 조치를 차단 해제하려면 클러스터에 대해 보류 중인 유지 관리 작업이 있는지 확인하고 해당 작업을 적용해야 합니다. 다음 단계에 따라 보조 클러스터에서 먼저 유지 관리 작업을 보고 적용한 다음 글로벌 클러스터의 기본 클러스터에서 유지 관리 작업을 보고 적용합니다.

1. 각 보조 리전의 리전 클러스터에서 먼저 다음을 실행한 다음 기본 리전의 리전 클러스터에서 다음을 실행합니다.

1. `--resource-identifier` 옵션과 함께 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html) CLI 명령을 실행하여 Amazon DocumentDB 리전 클러스터에 사용할 수 있는 유지 관리 작업이 있는지 확인합니다.

   다음 예제에서는 각각의 *사용자 입력 자리 표시자*를 자신의 클러스터 정보로 바꿉니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-pending-maintenance-action \
      --resource-identifier arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15
   ```

   Windows의 경우:

   ```
   aws docdb describe-pending-maintenance-action ^
      --resource-identifier arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15
   ```

   다음과 비슷한 결과가 반환됩니다.

   ```
   {
       "PendingMaintenanceActions": [
           {
               "ResourceIdentifier": "arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15",
               "PendingMaintenanceActionDetails": [
                   {
                       "Action": "system-update",
                       "CurrentApplyDate": "2025-04-11T03:01:00Z",
                       "Description": "db-version-upgrade",
                       "ForcedApplyDate": "2025-06-18T03:01:00Z",
                       "AutoAppliedAfterDate": "2025-05-11T03:01:00Z"
                       "OptInStatus": "pending"
                   }
               ]
           }
       ]
   }
   ```

1. 유지 관리 작업이 필요한 경우 다음 옵션을 사용하여 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/apply-pending-maintenance-action.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/apply-pending-maintenance-action.html) CLI 명령을 실행합니다.
   + `--resource-identifier`
   + `--apply-action`
   + `--opt-in-type`
   + `--region`

   다음 예제에서는 각각의 *사용자 입력 자리 표시자*를 자신의 클러스터 정보로 바꿉니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb apply-pending-maintenance-action \
      --resource-identifier arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15 \
      --apply-action system-update \
      --opt-in-type immediate \
      --region us-east-1
   ```

   Windows의 경우:

   ```
   aws docdb apply-pending-maintenance-action ^
      --resource-identifier arn:aws:rds:us-east-1:001234567890:cluster:docdb-2025-03-27-19-21-15 ^
      --apply-action system-update ^
      --opt-in-type immediate ^
      --region us-east-1
   ```

1. 유지 관리 작업이 완료되면 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-pending-maintenance-actions.html) 명령을 다시 실행하여 클러스터에 보류 중인 다른 작업이 없는지 확인합니다.

   원하는 결과는 다음과 같습니다.

   ```
   {
       "PendingMaintenanceActions": []
   }
   ```

------
#### [ Using the Amazon DocumentDB API ]

글로벌 클러스터 전환 또는 장애 조치를 차단 해제하려면 클러스터에 대해 보류 중인 유지 관리 작업이 있는지 확인하고 해당 작업을 적용해야 합니다. 다음 API를 사용하여 유지 관리 작업을 보고 적용합니다.

1. 각 보조 리전의 리전 클러스터에서 먼저 다음을 실행한 다음 기본 리전의 리전 클러스터에서 다음을 실행합니다.

1. [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_PendingMaintenanceAction.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_PendingMaintenanceAction.html) API를 호출하여 Amazon DocumentDB 글로벌 클러스터에 사용할 수 있는 유지 관리 작업이 있는지 확인합니다.

1. [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ApplyPendingMaintenanceAction.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ApplyPendingMaintenanceAction.html) API를 호출하여 변경 사항을 적용합니다.

------

# Amazon DocumentDB 클러스터 관리
<a name="db-clusters"></a>

Amazon DocumentDB 클러스터를 관리하려면 적절한 Amazon DocumentDB 컨트롤 플레인 권한을 가진 IAM 정책이 있어야 합니다. 이러한 권한은 클러스터와 인스턴스를 생성, 수정 및 삭제하도록 허용합니다. `AmazonDocDBFullAccess` 정책은 Amazon DocumentDB 클러스터를 관리하는 데 필요한 모든 권한을 제공합니다.

다음 주제에서는 Amazon DocumentDB 클러스터로 작업할 때 클러스터 생성, 삭제, 수정, 연결, 보기 등과 같은 다양한 작업을 수행하는 방법을 보여줍니다.

**Topics**
+ [클러스터 이해](db-clusters-understanding.md)
+ [클러스터 설정](db-cluster-parameters.md)
+ [클러스터 스토리지 구성](db-cluster-storage-configs.md)
+ [클러스터 상태 확인](db-cluster-status.md)
+ [클러스터 수명 주기](db-cluster-life-cycle.md)
+ [클러스터 조정](db-cluster-manage-performance.md)
+ [클러스터에 대한 볼륨 복제](db-cluster-cloning.md)
+ [클러스터의 내결함성 이해](db-cluster-fault-tolerance.md)

# 클러스터 이해
<a name="db-clusters-understanding"></a>

Amazon DocumentDB에서는 컴퓨팅과 스토리지를 구분하고, 데이터 복제 및 백업을 클러스터 볼륨으로 오프로드합니다. 클러스터 볼륨은 가용 영역 3곳에 6가지 방식으로 데이터를 복제하는 내구성이 뛰어나고 안정적인 고가용성 스토리지 계층을 제공합니다. 복제본은 높은 데이터 가용성을 확보하고 읽기 확장이 가능합니다. 각 클러스터를 최대 15개의 복제본으로 스케일 업할 수 있습니다.


| 명사 | 설명 | API 작업(동사) | 
| --- | --- | --- | 
|  Cluster  |  하나 이상의 인스턴스와 이 인스턴스의 데이터를 관리하는 클러스터 스토리지 볼륨으로 구성됩니다.  |  `create-db-cluster` `delete-db-cluster` `describe-db-clusters` `modify-db-cluster` | 
| Instance | 클러스터 스토리지 볼륨에 대한 데이터 읽기 및 쓰기는 인스턴스를 통해 수행됩니다. 지정된 클러스터에는 기본 인스턴스와 복제본의 2가지 인스턴스가 있습니다. 클러스터는 항상 기본 인스턴스 하나와 0\$115개의 복제본을 가질 수 있습니다. |  `create-db-instance` `delete-db-instance` `describe-db-instances` `modify-db-instance` `describe-orderable-db-instance-options` `reboot-db-instance` | 
| 클러스터 볼륨 | 3개의 가용 영역을 모두 아우르는 가상 데이터베이스 스토리지 볼륨으로서, 각 가용 영역에는 클러스터 데이터의 사본이 2개 있습니다. | 해당 사항 없음 | 
|  기본 인스턴스  |  읽기 및 쓰기 작업을 모두 지원하고, 클러스터 볼륨의 모든 데이터 수정을 실행합니다. 클러스터마다 기본 인스턴스가 하나씩 있습니다.  | 해당 사항 없음 | 
|  복제본 인스턴스  |  읽기 연산만 지원합니다. 각 Amazon DocumentDB 클러스터는 기본 인스턴스에 더해 최대 15개의 복제 인스턴스를 포함할 수 있습니다. 복제본이 여러 개 있으면 읽기 워크로드가 분산됩니다. 복제본을 별도의 가용 영역에 두어 데이터베이스 가용성을 높일 수도 있습니다.  | 해당 사항 없음 | 
|  클러스터 엔드포인트  |  클러스터의 현재 기본 인스턴스에 연결되는 Amazon DocumentDB 클러스터 엔드포인트입니다. 각 Amazon DocumentDB 클러스터에는 클러스터 엔드포인트 하나와 기본 인스턴스 하나가 있습니다.  | 해당 사항 없음 | 
|  리더 엔드포인트  |  클러스터에서 사용할 수 있는 복제본 중 하나에 연결되는 Amazon DocumentDB 클러스터 엔드포인트입니다. 각 Amazon DocumentDB 클러스터에는 리더 엔드포인트가 1개씩 있습니다. 복제본이 하나 이상이면 리더 엔드포인트는 각 연결 요청을 Amazon DocumentDB 복제본 중 하나로 전달합니다.  | 해당 사항 없음 | 
|  인스턴스 엔드포인트  |  특정 인스턴스에 연결되는 Amazon DocumentDB 클러스터의 인스턴스 엔드포인트입니다. 클러스터의 인스턴스에는 인스턴스 유형에 상관없이 각각 고유한 인스턴스 엔드포인트가 있습니다.  | 해당 사항 없음 | 

# Amazon DocumentDB 클러스터 설정
<a name="db-cluster-parameters"></a>

클러스터를 생성 또는 수정할 때는 생성 후 수정할 수 없는 파라미터와 수정 가능한 파라미터를 이해하는 것이 중요합니다. 다음 표에는 한 클러스터에 적용되는 모든 설정 또는 파라미터가 나와 있습니다. 표에 나와 있듯이 일부 파라미터는 수정할 수 있고 다른 파라미터는 수정할 수 없습니다.

**참고**  
이러한 설정을 Amazon DocumentDB 클러스터 파라미터 그룹 및 해당 파라미터와 혼동해서는 안 됩니다. 클러스터 파라미터 그룹에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 관리](cluster_parameter_groups.md) 섹션을 참조하세요.


| 파라미터 | 수정 가능 | 참고 | 
| --- | --- | --- | 
| DBClusterIdentifier | 예 |  명명 제약 조건: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-parameters.html)  | 
| Engine | 아니요 | docdb여야 합니다. | 
| BackupRetentionPeriod | 예 | 1\$135일 사이여야 합니다. | 
| DBClusterParameterGroupName | 예 |  명명 제약 조건: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-parameters.html)  | 
| DBSubnetGroupName | 아니요 | 클러스터가 생성된 이후에는 클러스터의 서브넷을 수정할 수 없습니다. | 
| EngineVersion | 아니요 | 값은 5.0.0 (기본값)4.0.0, 또는 3.6.0일 수 있습니다. | 
| KmsKeyId | 아니요 | 클러스터를 암호화하기로 선택한 경우 클러스터를 암호화하는 데 사용한 AWS KMS 키를 변경할 수 없습니다. | 
| MasterUsername | 아니요 |  클러스터가 생성된 이후에는 `MasterUsername`을 수정할 수 없습니다. 명명 제약 조건: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-parameters.html)  | 
| MasterUserPassword | 예 |  제약 조건: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-parameters.html)  | 
| Port | 예 | 포트 번호는 클러스터의 모든 인스턴스에 적용됩니다. | 
| PreferredBackupWindow | 예 |  | 
| PreferredMaintenanceWindow | 예 |  | 
| StorageEncrypted | 아니요 | 클러스터를 암호화하도록 선택한 경우 암호를 해제할 수 없습니다. | 
| StorageType | 예 |  DB 클러스터의 스토리지 유형: 표준(`standard`) 또는 I/O 최적화(`iopt1`). 기본값: `standard` 이 파라미터는 `CreateDBCluster` 및 `ModifyDBCluster` 항목을 사용하여 구성할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 스토리지 구성](db-cluster-storage-configs.md) 단원을 참조하십시오.  | 
| Tags | 예 |  | 
| VpcSecurityGroupIds | 아니요 | 클러스터를 만든 후에는 클러스터가 상주하는 VPC를 수정할 수 없습니다. | 

# Amazon DocumentDB 클러스터 스토리지 구성
<a name="db-cluster-storage-configs"></a>

Amazon DocumentDB 5.0부터 인스턴스 기반 클러스터는 다음의 두 가지 스토리지 구성 유형을 지원합니다.
+ **Amazon DocumentDB 표준 스토리지**: I/O 소비가 낮거나 중간 수준인 고객을 위해 설계되었습니다. I/O 비용이 총 Amazon DocumentDB 클러스터의 25% 미만일 것으로 예상되는 경우 이러한 선택이 적합할 수 있습니다. Amazon DocumentDB 표준 스토리지 구성을 사용하면 인스턴스 및 스토리지 요금 외에도 요청당 지불 I/O 기준으로 요금이 청구됩니다. 즉, 사용량에 따라 주기별로 청구가 달라질 수 있습니다. 이 구성은 애플리케이션의 변화하는 I/O 수요에 맞게 조정됩니다.
+ **Amazon DocumentDB I/O 최적화 스토리지**: 가격 예측 가능성을 우선시하거나 I/O 집약적 애플리케이션을 사용하는 고객을 위해 설계되었습니다. I/O 최적화 구성은 I/O 집약적 워크로드를 사용하는 고객에게 향상된 성능, 향상된 처리량 및 감소된 지연 시간을 제공합니다. I/O 비용이 총 Amazon DocumentDB 클러스터 비용의 25%를 초과할 것으로 예상되는 경우 이 옵션은 향상된 가격 성능을 제공합니다. Amazon DocumentDB I/O 최적화 스토리지 구성을 사용하면 I/O 작업에 따른 요금이 부과되지 않으므로 각 결제 주기마다 비용을 예측 가능하도록 보장해 줍니다. 구성은 성능을 개선하면서 비용을 안정화합니다.

30일마다 한 번씩 기존 데이터베이스 클러스터를 Amazon DocumentDB I/O 최적화 스토리지로 전환할 수 있습니다. 언제든지 Amazon DocumentDB 표준 스토리지로 다시 전환할 수 있습니다. 스토리지 구성을 I/O 최적화로 수정하는 다음 날짜는 AWS Management Console 클러스터의 구성 페이지에서 AWS CLI 또는를 통해 `describe-db-clusters` 명령을 사용하여 추적할 수 있습니다.

Amazon DocumentDB I/O 최적화 구성을 포함한 새 데이터베이스 클러스터를 생성하거나 [AWS Management Console](https://console.aws.amazon.com/docdb/)에서 몇 번의 클릭, [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)에서 단일 파라미터 변경 또는 [AWS SDK](https://aws.amazon.com/developer/tools/)를 통해 기존 데이터베이스 클러스터를 변환할 수 있습니다. 스토리지 구성을 수정하는 동안 또는 수정한 후에 필요한 인스턴스의 가동 중지 시간이나 재부팅은 없습니다.

![\[이미지: Amazon DocumentDB 표준과 최적화된 스토리지의 차이점을 설명하는 표입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/io-diagram-1.png)


## I/O 최적화 클러스터 생성
<a name="w2aac33c11c13c15"></a>



------
#### [ Using the AWS Management Console ]

 AWS Management Console을 사용하여 I/O 최적화 클러스터를 생성하거나 수정합니다.

1. Amazon DocumentDB 관리 콘솔의 **클러스터** 에서 클러스터 **생성** 또는 선택을 선택하고 **작업**을 선택한 다음 **수정**을 선택합니다.

1. 새 클러스터를 생성하는 경우 **클러스터 유형** 섹션에서 **인스턴스 기반 클러스터**를 선택해야 합니다(기본 옵션).  
![\[이미지: 클러스터 유형 옵션의 콘솔 화면 캡처입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cc-type.png)

1. **구성** 섹션의 **클러스터 스토리지 구성**에서 **Amazon DocumentDB I/O 최적화**를 선택합니다.  
![\[이미지: 클러스터 스토리지 구성 옵션의 콘솔 화면 캡처입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/storage-config-1.png)

1. 클러스터 생성 또는 수정을 완료하고 **클러스터 생성** 또는 **클러스터 수정**을 선택합니다.

   전체 클러스터 생성 프로세스는 [를 사용하여 클러스터 및 기본 인스턴스 생성 AWS Management Console](db-cluster-create.md#db-cluster-create-con) 항목을 참조하세요.

   전체 클러스터 수정 프로세스는 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 항목을 참조하세요.

------
#### [ Using the AWS CLI ]

 AWS CLI를 사용하여 I/O 최적화 클러스터를 생성합니다.

다음 예에서는 자신의 정보로 각각의 *사용자 입력 자리 표시자*를 바꿉니다.

Linux, macOS, Unix의 경우:

```
aws docdb create-db-cluster \
      --db-cluster-identifier sample-cluster \
      --engine docdb \
      --engine-version 5.0.0 \
      --storage-type iopt1 \
      --deletion-protection \
      --master-username username \
      --master-user-password password
```

Windows의 경우:

```
aws docdb create-db-cluster ^
      --db-cluster-identifier sample-cluster ^
      --engine docdb ^
      --engine-version 5.0.0 ^
      --storage-type iopt1 ^
      --deletion-protection ^
      --master-username username ^
      --master-user-password password
```

------

## 스토리지 구성을 결정하기 위한 비용 분석
<a name="w2aac33c11c13c17"></a>

Amazon DocumentDB를 사용하면 보유한 모든 데이터베이스 클러스터에 대한 스토리지 구성을 유연하게 선택할 수 있습니다. 표준 및 I/O 최적화 간에 클러스터를 올바르게 할당하기 위해 Amazon DocumentDB 비용을 클러스터별로 추적할 수 있습니다. 이렇게 하려면 기존 클러스터에 태그를 추가하고, [AWS 결제 및 비용 관리 대시보드](https://aws.amazon.com/pricing/)에서 비용 할당 태그 지정을 활성화하고, [AWS Cost Explorer Service](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/)에서 지정된 클러스터에 대한 비용을 분석할 수 있습니다. 비용 분석에 대한 자세한 내용은 블로그 [비용 할당 태그 사용](https://aws.amazon.com/blogs/database/using-cost-allocation-tags-with-amazon-documentdb-with-mongodb-compatibility/)을 참조하세요.

# 클러스터 상태 확인
<a name="db-cluster-status"></a>

 AWS Management Console 또는를 사용하여 클러스터의 상태를 확인할 수 있습니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

다음 절차에 따라를 사용하여 Amazon DocumentDB 클러스터의 상태를 확인합니다. AWS Management Console

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터 식별자** 열에서 원하는 클러스터의 이름을 찾습니다. 그런 다음 클러스터의 상태를 찾으려면 아래와 같이 **상태** 열에 대한 해당 행을 읽습니다.  
![\[활성 상태를 보여주는 sample-cluster가 있는 클러스터 페이지의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-status-con.png)

------
#### [ Using the AWS CLI ]

`describe-db-clusters` 작업에 따라 AWS CLI를 사용하여 Amazon DocumentDB 클러스터의 상태를 확인합니다.

다음 코드는 `sample-cluster` 클러스터의 상태를 찾습니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster  \
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

Windows의 경우:

```
aws docdb describe-db-clusters ^
    --db-cluster-identifier sample-cluster  ^
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
[
    [
        "sample-cluster",
        "available"
    ]
]
```

------

# Amazon DocumentDB 클러스터 수명 주기
<a name="db-cluster-life-cycle"></a>

Amazon DocumentDB 클러스터의 수명 주기는 클러스터 생성, 설명, 수정, 삭제로 구성되어 있습니다. 이 섹션에서는 이러한 프로세스를 완료하는 방법에 관해 설명합니다.

**Topics**
+ [클러스터 생성](db-cluster-create.md)
+ [클러스터 설명](db-cluster-view-details.md)
+ [클러스터 수정](db-cluster-modify.md)
+ [대기 중인 유지 관리 확인](db-cluster-determine-pending-maintenance.md)
+ [클러스터 엔진 버전 패치 업데이트](db-cluster-version-upgrade.md)
+ [클러스터 중지 및 시작](db-cluster-stop-start.md)
+ [클러스터 삭제](db-cluster-delete.md)

# Amazon DocumentDB 클러스터 생성
<a name="db-cluster-create"></a>

Amazon DocumentDB 클러스터는 인스턴스와 해당 클러스터의 데이터를 나타내는 클러스터 볼륨으로 구성됩니다. 클러스터 볼륨은 3개의 가용 영역에서 단일 가상 볼륨으로 6개의 방법으로 복제됩니다. 클러스터에는 기본 인스턴스와 옵션으로 최대 15개의 복제 인스턴스가 포함됩니다.

다음 섹션에서는 AWS Management Console 또는를 사용하여 Amazon DocumentDB 클러스터를 생성하는 방법을 보여줍니다 AWS CLI. 그런 다음 해당 클러스터에 대한 복제 인스턴스를 추가할 수 있습니다. 콘솔을 사용하여 Amazon DocumentDB 클러스터를 생성하면 기본 인스턴스가 자동으로 동시에 생성됩니다. AWS CLI 를 사용하여 Amazon DocumentDB 클러스터를 생성하는 경우 클러스터의 상태를 *사용할 수* 있게 되면 해당 클러스터의 기본 인스턴스를 생성해야 합니다.

## 사전 조건
<a name="db-cluster-create-prerequisites"></a>

다음은 Amazon DocumentDB 클러스터를 생성할 때 필요한 사전 조건입니다.

이 없는 경우 다음 단계를 AWS 계정완료하여 생성합니다.

**에 가입하려면 AWS 계정**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   에 가입하면 AWS 계정*AWS 계정 루트 사용자*이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

### VPC 사전 조건
<a name="db-cluster-create-prerequisites-vpc"></a>

Amazon DocumentDB 클러스터는 Amazon Virtual Private Cloud(Amazon VPC)에서만 생성할 수 있습니다. Amazon DocumentDB 클러스터에서 Amazon VPC를 사용하려면 2개 이상의 가용 영역마다 VPC에 서브넷이 1개 이상 있어야 합니다. 가용 영역에 클러스터 인스턴스를 배포하면 어쩌다가 가용 영역에 장애가 발생해도 클러스터에서 인스턴스를 사용할 수 있습니다.

### 서브넷 사전 조건
<a name="db-cluster-create-prerequisites-subnet-groups"></a>

Amazon DocumentDB 클러스터를 생성하는 경우 VPC와 VPC 내 해당 서브넷 그룹을 선택해야 클러스터를 시작할 수 있습니다. 서브넷은 인스턴스를 시작하기 위해 사용할 가용 영역과 해당 가용 영역 내 IP 범위를 결정합니다. 설명을 위해 *서브넷*과 *가용 영역*이라는 용어가 혼용됩니다. 서브넷 그룹은 이름이 지정된 서브넷의 집합(또는 가용 영역)입니다. 서브넷 그룹을 통해 Amazon DocumentDB 인스턴스를 시작하는 데 사용할 가용 영역을 지정할 수 있습니다. 예를 들어, 인스턴스가 3개인 클러스터에서 고가용성을 위해 각 인스턴스를 별도의 가용 영역에 프로비저닝하는 것이 좋습니다. 이렇게 하면 가용 영역 하나가 작동이 안 되는 경우 인스턴스 하나만 영향을 받게 됩니다.

Amazon DocumentDB 인스턴스는 현재 최대 3개의 가용 영역에 프로비저닝할 수 있습니다. 서브넷 그룹에 서브넷이 3개 이상 있는 경우에도 Amazon DocumentDB 클러스터 생성에는 그 중 3개만 사용할 수 있습니다. 따라서 서브넷 그룹을 생성할 때 인스턴스 배포에 사용하려는 서브넷을 3개만 선택하는 것이 좋습니다. 미국 동부(버지니아 북부)에서 서브넷 그룹에는 6개의 서브넷(또는 가용 영역)이 있을 수 있습니다. 그러나 Amazon DocumentDB 클러스터가 프로비저닝되면 Amazon DocumentDB에서는 가용 영역 중 3개를 선택하여 인스턴스 프로비저닝에 사용합니다.

예를 들어, 클러스터를 생성할 때 Amazon DocumentDB에서 가용 영역\$11A, 1B 및 1C\$1를 선택한다고 가정하겠습니다. 가용 영역\$11D\$1에 인스턴스를 생성하려고 하면 API 직접 호출이 실패합니다. 하지만 특정 가용 영역을 지정하지 않고 인스턴스를 생성하기로 선택하면 Amazon DocumentDB가 사용자를 대신하여 가용 영역을 선택합니다. Amazon DocumentDB는 알고리즘을 사용하여 가용 영역 전체에 걸쳐 인스턴스의 부하를 분산하므로 고가용성을 확보할 수 있습니다. 예를 들어, 인스턴스 3개가 프로비저닝되면 이러한 인스턴스가 기본적으로 가용 영역 1개에 모두 프로비저닝되지 않고 가용 영역 3개에 프로비저닝됩니다.

**권장 사항:**
+ 특별한 사유가 없으면 항상 서브넷 그룹 서브넷을 3개 생성합니다. 이렇게 하면 인스턴스가 3개 이상인 클러스터의 경우 인스턴스가 가용 영역 3개에 프로비저닝되므로 더 높은 가용성을 달성할 수 있습니다.
+ 고가용성을 달성하려면 항상 여러 가용 영역에 인스턴스를 분산시킵니다. 가용 영역 1개에 클러스터의 모든 인스턴스를 배치하지 마세요.
+ 장애 조치 이벤트는 언제든지 발생할 수 있으므로 기본 인스턴스나 복제본 인스턴스가 항상 특정 가용 영역에 있다고 가정해서는 안 됩니다.

### 추가 사전 조건
<a name="db-cluster-create-prerequisites-additional"></a>

다음은 Amazon DocumentDB 클러스터를 생성할 때 필요한 기타 사전 요구 사항입니다.
+  AWS Identity and Access Management (IAM) 자격 증명을 AWS 사용하여에 연결하는 경우 IAM 계정에 Amazon DocumentDB 작업을 수행하는 데 필요한 권한을 부여하는 IAM 정책이 있어야 합니다.

  IAM 계정을 사용하여 Amazon DocumentDB 콘솔에 액세스하는 경우 먼저 IAM 계정으로 AWS Management Console 에 로그인해야 합니다. [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔로 이동합니다.
+ 클러스터의 구성 파라미터를 사용자 지정하려면 클러스터 파라미터 그룹과 파라미터 그룹을 필요한 파라미터 설정으로 지정해야 합니다. 클러스터 파라미터 그룹 또는 파라미터 그룹의 생성 또는 수정에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 관리](cluster_parameter_groups.md) 섹션을 참조하세요.
+ 클러스터에 지정할 TCP/IP 포트 번호를 결정해야 합니다. 일부 기업에서는 방화벽이 Amazon DocumentDB에 대한 기본 포트 연결을 차단하는 경우도 있습니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 클러스터에 다른 포트를 선택해야 합니다. 클러스터의 인스턴스는 모두 동일한 포트를 사용합니다.

## 를 사용하여 클러스터 및 기본 인스턴스 생성 AWS Management Console
<a name="db-cluster-create-con"></a>

다음 절차에서는 콘솔을 사용하여 인스턴스가 1개 이상인 Amazon DocumentDB 클러스터를 시작하는 방법을 설명합니다.

### 클러스터 생성: 기본 설정 사용
<a name="db-cluster-create-con-basic"></a>

**를 사용하여 기본 설정을 사용하여 인스턴스가 있는 클러스터를 생성하려면 AWS Management Console**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 미국 동부(버지니아 북부) 리전 AWS 리전 이외의에서 클러스터를 생성하려면 콘솔의 오른쪽 상단 섹션에 있는 목록에서 리전을 선택합니다.

1. 탐색 창에서 **클러스터**를 선택한 다음 **생성**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **Amazon DocumentDB 클러스터 생성 페이지**에서 **구성** 창을 작성합니다.

   1. **클러스터 식별자** - Amazon DocumentDB 제공 이름을 수락하거나 **sample-cluster**와 같은 클러스터 이름을 입력합니다.

      클러스터 명명 제약 조건:
      + 길이는 [1-63]개의 글자, 숫자 또는 하이픈입니다.
      + 첫 번째 문자는 글자이어야 합니다.
      + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.
      + 리전별로 Amazon RDS, Neptune 및 Amazon DocumentDB의 모든 클러스터 AWS 계정에 대해 고유해야 합니다.

   1. **엔진 버전** - 기본 엔진 버전인 5.0.0을 수락하거나 선택적으로 8.0.0, 4.0.0 또는 3.6.0을 선택합니다.

   1. **인스턴스 클래스** - 기본값 `db.r5.large`를 수락하거나 목록에서 원하는 인스턴스 클래스를 선택합니다.

   1. **인스턴스 수** - 목록에서 이 클러스터로 생성하려는 인스턴스 수를 선택합니다. 첫 번째 인스턴스는 기본 인스턴스이며, 그 외 다른 모든 인스턴스는 읽기 전용 복제본 인스턴스입니다. 나중에 필요하면 인스턴트를 추가하거나 삭제할 수 있습니다. 기본적으로 Amazon DocumentDB 클러스터는 세 개의 인스턴트를 시작합니다(기본 한 개, 복제본 두 개).

1. **클러스터 스토리지 구성** 섹션을 완료합니다.

   **Amazon DocumentDB Standard**(기본값) 또는 **Amazon DocumentDB I/O 최적화**를 선택합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 스토리지 구성](db-cluster-storage-configs.md) 단원을 참조하십시오.

1. **인증** 창을 작성합니다.

   1. **사용자 이름** - 기본 사용자의 이름을 입력합니다. 클러스터에 로그인하려면 기본 사용자 이름을 사용해야 합니다.

      기본 사용자 이름 지정 시 제약 조건:
      + 길이는 [1-63]자의 영숫자 문자입니다.
      + 첫 번째 문자는 글자이어야 합니다.
      + 데이터베이스 엔진에 포함된 단어는 사용할 수 없습니다.

   1. 다음 암호 옵션 중 하나를 선택합니다.
      + **관리형 AWS Secrets Manager**- 기본 사용자 암호를 자동으로 관리 AWS Secrets Manager 하려면이 옵션을 선택합니다.

        이 옵션을 선택하는 경우 자체 키를 생성하거나 Secrets Manager가 생성하는 키를 사용하여 KMS 키를 구성합니다.
      + **자체 관리** - 기본 사용자 암호를 자체 관리하려면 이 옵션을 선택합니다. 이 옵션을 선택하는 경우 기본 사용자의 암호를 입력한 다음 확인합니다. 클러스터에 로그인하려면 기본 사용자의 암호를 사용해야 합니다.

        암호 제약:
        + 길이는 [8-100]자의 인쇄 가능한 ASCII 문자입니다.
        + 다음을 제외한 인쇄 가능한 ASCII 문자를 사용할 수 있습니다.
          + **/**(슬래시)
          + **"**(큰 따옴표)
          + **@**(at 기호)

1. 화면 하단에서 다음 중 하나를 선택합니다.
   + 지금 클러스터를 생성하려면 **클러스터 생성**을 선택합니다.
   + 클러스터를 생성하지 않으려면 않으려면 **취소**를 선택합니다.
   + 생성 전 클러스터를 추가로 구성하려면 **추가 구성 표시**를 선택한 후 [클러스터 생성: 추가 구성](#db-cluster-create-con-additional-configs)에서 계속 진행합니다.

     **추가 구성** 섹션에 포함된 구성은 다음과 같습니다.
     + **네트워크 설정** - 기본값은 `default` VPC 보안 그룹의 사용입니다.
     + **클러스터 옵션** - 기본값은 포트 27017과 기본 파라미터 그룹을 사용하는 것입니다.
     + **암호화** - 기본값은 `(default) aws/rds` 키를 사용한 암호화 활성화입니다.
**중요**  
클러스터가 암호화되면 암호화를 해제할 수 없습니다.
     + **백업** - 기본값은 백업을 1일 동안 유지하며 Amazon DocumentDB에서 백업 기간을 선택하는 것입니다.
     + **로그 내보내기** - 기본값은 감사 로그를 CloudWatch 로그로 내보내지 않는 것입니다.
     + **유지 관리** - 기본값은 Amazon DocumentDB에서 유지 관리 기간을 선택하는 것입니다.
     + **삭제 방지** - 실수로 인한 삭제로부터 클러스터를 보호합니다. 콘솔을 사용해 생성된 클러스터의 기본값이 *활성화*됩니다.

     지금 기본 설정을 수락해도 나중에 클러스터를 수정하여 대부분을 변경할 수 있습니다.

1. 클러스터의 보안 그룹에 대해 인바운드 연결을 활성화합니다.

   클러스터의 기본 설정을 변경하지 않은 경우, 특정 리전의 기본 VPC에 대해 기본 보안 그룹을 사용하는 클러스터를 생성합니다. Amazon DocumentDB에 연결하려면 클러스터의 보안 그룹에 대해 포트 27017(또는 사용자가 선택한 포트)에서 인바운드 연결을 활성화해야 합니다.

   **클러스터의 보안 그룹에 대해 인바운드 연결을 추가하려면**

   1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

   1. 기본 창의 **리소스** 섹션에서 **보안 그룹**을 선택합니다.  
![\[이미지: 보안 그룹 링크 옵션을 강조 표시하는 리소스 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-ec2-security-groups.png)

   1. 보안 그룹 목록에서 클러스터 생성 시 사용한 보안 그룹을 찾고(*기본값* 보안 그룹일 확률이 높음) 보안 그룹 이름 왼쪽의 상자를 선택합니다.  
![\[이미지: 상자가 선택된 하나의 보안 그룹을 강조 표시하는 보안 그룹 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-ec2-default-sg.png)

   1. **작업** 메뉴에서 **인바운드 규칙 편집**을 선택한 다음 규칙 제약을 선택 또는 입력합니다.

      1. **유형** - 목록에서 네트워크 트래픽에 개방할 프로토콜을 선택합니다.

      1. **프로토콜** - 목록에서 프로토콜 유형을 선택합니다.

      1. **포트 범위** - 사용자 지정 규칙에 대해 포트 번호나 포트 범위를 입력합니다. 포트 번호 또는 범위에는 클러스터를 생성할 때 지정한 포트가 포함됩니다(기본값: 27017).

      1. **소스** - 인스턴스에 도달 가능한 트래픽을 지정합니다. 목록에서 트래픽 소스를 선택합니다. **사용자 지정**을 선택하는 경우, 단일 IP 주소나 IP 주소 범위를 CIDR 표기법으로 지정합니다(예: 203.0.113.5/32).

      1. **설명** - 이 규칙에 대한 설명을 입력합니다.

      1. 규칙 만들기가 끝나면 **저장**을 선택합니다.

### 클러스터 생성: 추가 구성
<a name="db-cluster-create-con-additional-configs"></a>

클러스터에 대한 기본 설정을 수락하면 다음 단계를 건너뛰고 **클러스터 생성**을 선택할 수 있습니다.

1. **네트워크 설정** 창을 작성합니다.  
![\[네트워크 설정 창 및 네트워크 설정 구성 단계를 보여주는 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-network-settings.png)

   1. **가상 프라이빗 클라우드(VPC)** - 목록에서 이 클러스터를 시작할 Amazon VPC를 선택합니다.

   1. **서브넷 그룹** - 목록에서 이 클러스터에 사용할 서브넷 그룹을 선택합니다.

   1. **VPC 보안 그룹** - 목록에서 이 클러스터에 사용할 VPC 보안 그룹을 선택합니다.

1. **클러스터 옵션** 창을 작성합니다.  
![\[클러스터 설정을 구성하는 단계가 포함된 클러스터 옵션 창을 보여주는 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-cluster-options.png)

   1. **데이터베이스 포트** - 위, 아래 화살표를 사용해 애플리케이션과 인스턴스 연결에 사용할 TCP/IP 포트를 설정합니다.

   1. **클러스터 파라미터 그룹** - 파라미터 그룹 목록에서 이 클러스터에 사용할 클러스터 파라미터 그룹을 선택합니다.

1. **암호화** 창을 작성합니다.  
![\[클러스터에 대한 암호화를 구성하는 단계를 보여주는 암호화 창의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/encrypt-at-rest.png)

   1. **유휴 암호화** - 다음 중 하나를 선택합니다.
      + **암호화 활성** - 기본 설정입니다. 모든 저장 데이터는 암호화됩니다. 데이터 암호화를 선택하면 해당 작업을 실행 취소할 수 없습니다.
      + **암호화 비활성** - 데이터가 암호화되지 않습니다.

   1. **AWS KMS 키** - 데이터를 암호화하는 경우에만 사용할 수 있습니다. 목록에서 이 클러스터에 있는 데이터 암호화에 사용할 키를 선택합니다. 기본값은 `(default) aws/rds`입니다.

      **키 ARN 입력**을 선택하면 해당 키의 Amazon 리소스 이름(ARN)을 입력해야 합니다.

1. **백업** 창을 작성합니다.  
![\[클러스터 백업 기간을 구성하는 단계를 보여주는 백업 창의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-backup.png)

   1. **백업 보존 기간** - 목록에서 이 클러스터의 자동 백업을 삭제하지 않고 유지하는 일 수를 선택합니다.

   1. **백업 기간** - Amazon DocumentDB에서 이 클러스터를 백업하는 일별 시간과 기간을 설정합니다.

      1. **시작 시간** - 첫 번째 목록에서 자동 백업 시작 시간(UTC)을 선택합니다. 두 번째 목록에서 자동 백업 시작 시간의 분을 선택합니다.

      1. **기간** - 목록에서 자동 백업 생성에 할당된 시간 수를 선택합니다.

1. CloudWatch Logs로 내보내려는 로그 유형을 선택하여 **로그 내보내기** 창을 완성하세요.  
![\[클러스터의 DML 로깅을 구성하는 단계를 보여주는 로그 내보내기 창의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-log-exports.png)
   + **감사 로그** - Amazon CloudWatch Logs에 감사 로그 내보내기를 활성화하려면 이 옵션을 선택합니다. **감사 로그**를 선택하는 경우 클러스터의 사용자 지정 파라미터 그룹에서 `audit_logs`를 활성화해야 합니다. 자세한 내용은 [Amazon DocumentDB 이벤트 감사](event-auditing.md) 섹션을 참조하십시오.
   + **프로파일러 로그** - 작업 프로파일러 로그를 Amazon CloudWatch Logs로 내보내려면 이 옵션을 선택합니다. **프로파일러 로그**를 선택하는 경우 클러스터의 사용자 지정 파라미터 그룹에서 다음 파라미터도 수정해야 합니다.
     + `profiler` - `enabled`로 설정합니다.
     + `profiler_threshold_ms` - 작업 프로파일링에 대한 임계값을 설정하려면 값 `[0-INT_MAX]`로 설정합니다.
     + `profiler_sampling_rate` - 프로파일링할 느린 작업 비율을 설정하려면 값 `[0.0-1.0]`으로 설정합니다.

     자세한 내용은 [Amazon DocumentDB 작업 프로파일링](profiling.md) 섹션을 참조하십시오.

1. **유지 관리** 창을 작성합니다.  
![\[클러스터의 유지 관리 기간을 구성하는 단계를 보여주는 유지 관리 창의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-maintenance.png)

   1. 다음 중 하나를 선택합니다.
     + **선택 창** - 클러스터에 대한 유지 관리를 수행할 Amazon DocumentDB에 대한 요일, UTC 시작 시간 및 기간을 지정할 수 있습니다.

       1. **시작일** - 목록에서 클러스터 유지 관리를 시작할 요일을 선택합니다.

       1. **시작 시간** - 목록에서 유지 관리를 시작할 시간과 분(UTC)을 선택합니다.

       1. **기간** - 목록에서 클러스터 유지 관리에 할당할 시간의 양을 선택합니다. 유지 관리 작업을 특정 시간에 끝내지 못하면 특정 시간이 지나도 완료될 때까지 유지 관리 프로세스가 계속 진행됩니다.
     + **기본 설정 없음** - Amazon DocumentDB에서 유지 관리를 수행할 요일, 시작 시간 및 기간을 선택합니다.

1. 이 클러스터에 하나 이상의 태그를 추가하려면 **태그** 창을 작성합니다.  
![\[선택한 삭제 방지 활성화 확인란의 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-tags.png)

   클러스터에 추가하려는 각 태그에 대해 다음 단계를 반복합니다. 클러스터 하나에 최대 10개까지 추가할 수 있습니다.

   1. **태그 추가**를 선택합니다.

   1. 태그의 **키**를 입력합니다.

   1. 선택적으로 태그의 **값**을 입력합니다.

   태그를 제거하려면 **태그 제거**를 선택합니다.

1. 콘솔을 사용하여 클러스터를 생성할 때 기본적으로 **삭제 방지**가 활성화됩니다. 삭제 방지를 비활성화하려면 **삭제 방지 활성화**를 선택 취소합니다. 삭제 방지를 활성화하면 클러스터가 삭제되지 않도록 방지합니다. 삭제 방지된 클러스터를 삭제하려면 먼저 클러스터를 수정하여 삭제 방지를 비활성화해야 합니다.  
![\[선택한 삭제 방지 활성화 확인란의 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-db-cluster-console-deletion-protection.png)

   삭제 방지에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md) 섹션을 참조하세요.

1. 클러스터를 생성하려면 **클러스터 생성**을 선택합니다. 그렇지 않은 경우 **취소**를 선택합니다.

## 를 사용하여 클러스터 생성 AWS CLI
<a name="db-cluster-create-cli"></a>

다음 절차에서는를 사용하여 Amazon DocumentDB 클러스터를 AWS CLI 시작하고 Amazon DocumentDB 복제본을 생성하는 방법을 설명합니다.

**파라미터**
+ **--db-cluster-identifier** - 필수입니다. 이 클러스터를 식별하는 소문자 문자열입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-create.html)
+ **--engine** - 필수입니다. **docdb**여야 합니다.
+ **--deletion-protection \$1 --no-deletion-protection** - 선택 사항. 삭제 방지를 활성화하면 클러스터가 삭제되지 않도록 방지합니다. 를 사용할 때 기본 설정은 삭제 방지 AWS CLI기능을 비활성화하는 것입니다.

  삭제 방지에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md) 섹션을 참조하세요.
+ **--storage-type standard \$1 iopt1** - 선택 사항. 기본값: **standard**. 클러스터 스토리지 구성입니다. 유효한 값은 `standard` (표준) 또는 `iopt1` (I/O 최적화)입니다.
+ **--master-username** - 필수입니다. 사용자 인증에 사용되는 사용자 이름입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-create.html)
+ **--master-user-password** - 선택 사항. 사용자 인증에 사용되는 사용자 암호입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-cluster-create.html)
+ **--manage-master-user-password** - 선택 사항. Amazon DocumentDB가 Secrets Manager에서 마스터 사용자 암호를 생성하고 해당 수명 주기 동안 이를 관리합니다.

추가 파라미터는 [CreateDBCluster](API_CreateDBCluster.md) 섹션을 참조하세요.

**를 사용하여 Amazon DocumentDB 클러스터를 시작하려면 AWS CLI**

Amazon DocumentDB 클러스터를 생성하려면를 호출합니다`create-db-cluster` AWS CLI. 다음 AWS CLI 명령은 삭제 방지가 활성화된 라는 Amazon DocumentDB 클러스터`sample-cluster`를 생성합니다. 삭제 방지에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md)을(를) 참조하세요.

또한 `--engine-version`은 기본적으로 최신 주요 엔진 버전으로 설정되는 선택적 매개변수입니다. 현재 기본 엔진 버전은 5.0.0입니다(참고: Amazon DocumentDB 8.0을 사용할 수 있지만 명시적으로 지정해야 함). 새 주요 엔진 버전이 출시되면 최신 주요 엔진 버전을 반영하도록 `--engine-version`의 주요 엔진 버전이 업데이트됩니다. 따라서 프로덕션 워크로드, 특히 스크립팅, 자동화 또는 CloudFormation 템플릿에 의존하는 워크로드의 경우를 의도한 메이저 버전`--engine-version`에 명시적으로 지정하는 것이 좋습니다.

**참고**  
`db-subnet-group-name` 또는 `vpc-security-group-id`이(가) 지정되지 않은 경우 Amazon DocumentDB는 해당 리전에 대해 기본 서브넷 그룹과 Amazon VPC 보안 그룹을 사용합니다.

Linux, macOS, Unix의 경우:

```
aws docdb create-db-cluster \
      --db-cluster-identifier sample-cluster \
      --engine docdb \
      --engine-version 5.0.0 \
      --deletion-protection \
      --master-username masteruser \
      --master-user-password password
```

Windows의 경우:

```
aws docdb create-db-cluster ^
      --db-cluster-identifier sample-cluster ^
      --engine docdb ^
      --engine-version 5.0.0 ^
      --deletion-protection ^
      --master-username masteruser ^
      --master-user-password password
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
    "DBCluster": {
        "StorageEncrypted": false,
        "DBClusterMembers": [],
        "Engine": "docdb",
        "DeletionProtection" : "enabled",
        "ClusterCreateTime": "2018-11-26T17:15:19.885Z",
        "DBSubnetGroup": "default",
        "EngineVersion": "5.0.0",
        "MasterUsername": "masteruser",
        "BackupRetentionPeriod": 1,
        "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
        "DBClusterIdentifier": "sample-cluster",
        "MultiAZ": false,
        "DBClusterParameterGroup": "default.docdb5.0",
        "PreferredBackupWindow": "09:12-09:42",
        "DbClusterResourceId": "cluster-KQSGI4MHU4NTDDRVNLNTU7XVAY",
        "PreferredMaintenanceWindow": "tue:04:17-tue:04:47",
        "Port": 27017,
        "Status": "creating",
        "ReaderEndpoint": "sample-cluster.cluster-ro-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com",
        "AssociatedRoles": [],
        "HostedZoneId": "ZNKXTT8WH85VW",
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-77186e0d",
                "Status": "active"
            }
        ],
        "AvailabilityZones": [
            "us-east-1a",
            "us-east-1c",
            "us-east-1e"
        ],
        "Endpoint": "sample-cluster.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com"
    }
}
```

클러스터를 생성하는 데 몇 분 정도 걸립니다. AWS Management Console 또는를 사용하여 클러스터의 상태를 AWS CLI 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 단원을 참조하십시오.

**중요**  
 AWS CLI 를 사용하여 Amazon DocumentDB 클러스터를 생성하면 인스턴스가 생성되지 않습니다. 따라서 기본 인스턴스와 필요한 복제 인스턴스를 명시적으로 생성해야 합니다. 콘솔 또는를 사용하여 인스턴스 AWS CLI 를 생성할 수 있습니다. 자세한 내용은 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 단원을 참조하십시오.

자세한 내용은 *Amazon DocumentDB API 참조*의 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBCluster.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBCluster.html) 섹션을 참조하세요.

# Amazon DocumentDB 클러스터에 대한 설명
<a name="db-cluster-view-details"></a>

Amazon DocumentDB Management Console 또는 AWS CLI 를 사용하여 Amazon DocumentDB 클러스터와 관련된 연결 엔드포인트, 보안 그룹, VPCs 및 파라미터 그룹과 같은 세부 정보를 볼 수 있습니다.

자세한 내용은 다음을 참조하세요.
+ [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md)
+ [클러스터 엔드포인트 찾기](db-cluster-endpoints-find.md)

------
#### [ Using the AWS Management Console ]

다음 절차에 따라 콘솔을 사용하여 지정된 Amazon DocumentDB 클러스터의 세부 정보를 확인합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 목록에서 세부 정보를 보려는 클러스터의 이름을 선택합니다. 클러스터에 대한 정보는 다음과 같은 그룹으로 구성됩니다.
   + **요약** - 엔진 버전, 클러스터 상태, 보류 중인 유지 관리 및 파라미터 그룹의 상태를 포함하여 클러스터에 대한 일반 정보입니다.
   + **연결 및 보안** - **연결** 섹션에는 mongo 쉘 또는 애플리케이션을 사용하여 이 클러스터에 연결할 연결 엔드포인트가 나열됩니다. **보안 그룹** 섹션에는 이 클러스터와 연결된 보안 그룹과 해당 VPC ID 및 설명이 나열됩니다.
   + **구성** - **클러스터 세부 정보** 섹션에는 클러스터의 Amazon 리소스 이름(ARN), 엔드포인트 및 파라미터 그룹을 포함하여 클러스터에 대한 세부 정보가 나열됩니다. 또한 클러스터의 백업 정보, 유지 관리 세부 정보, 보안 및 네트워크 설정이 나열됩니다. **클러스터 인스턴스** 섹션에는 각 인스턴스의 역할 및 클러스터 파라미터 그룹 상태와 함께 이 클러스터에 속하는 인스턴스가 나열됩니다.
   + **모니터링** - 이 클러스터의 Amazon CloudWatch Logs 측정치. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하십시오.
   + **이벤트 및 태그** - **최근 이벤트** 섹션에는 이 클러스터의 최근 이벤트가 나열됩니다. Amazon DocumentDB에서는 클러스터, 인스턴스, 스냅샷, 보안 그룹 및 클러스터 파라미터 그룹과 관련된 이벤트 레코드를 유지합니다. 이 정보에는 각 이벤트와 연결된 날짜, 시간 및 메시지가 포함됩니다. **태그** 섹션에는 이 클러스터에 연결된 태그가 나열됩니다.

------
#### [ Using the AWS CLI ]

를 사용하여 Amazon DocumentDB 클러스터의 세부 정보를 보려면 아래 예제와 같이 `describe-db-clusters` 명령을 AWS CLI사용합니다. 자세한 내용은 *Amazon DocumentDB 리소스 관리 API 참조*에서 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DescribeDBClusters.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DescribeDBClusters.html) 섹션을 참조하세요.

**참고**  
클러스터 및 인스턴스 수명주기 관리와 같은 특정 관리 기능의 경우 Amazon DocumentDB는 Amazon RDS와 공유하는 운영 기술을 활용합니다. `filterName=engine,Values=docdb` 필터 파라미터는 Amazon DocumentDB 클러스터만 반환합니다.

**Example**  
**예 1: 모든 Amazon DocumentDB 클러스터를 나열합니다.**  
다음 AWS CLI 코드는 리전의 모든 Amazon DocumentDB 클러스터에 대한 세부 정보를 나열합니다.  

```
aws docdb describe-db-clusters --filter Name=engine,Values=docdb
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBClusters": [
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-1",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        },
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-2",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        },
        {
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1b",
                "us-east-1a"
            ],
            "BackupRetentionPeriod": 1,
            "DBClusterIdentifier": "sample-cluster-3",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            ...
        }
    ]
}
```

**Example**  
**예 2: 지정된 Amazon DocumentDB 클러스터에 대한 모든 세부 정보 나열**  
다음 AWS CLI 코드는 클러스터에 대한 세부 정보를 나열합니다`sample-cluster`.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-clusters \
   --filter Name=engine,Values=docdb \
   --db-cluster-identifier sample-cluster
```
Windows의 경우:  

```
aws docdb describe-db-clusters ^
   --filter Name=engine,Values=docdb ^
   --db-cluster-identifier sample-cluster
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBClusters": [
        {
            "AllocatedStorage": 1,
            "AvailabilityZones": [
                "us-east-1c",
                "us-east-1a",
                "us-east-1d"
            ],
            "BackupRetentionPeriod": 2,
            "DBClusterIdentifier": "sample-cluster",
            "DBClusterParameterGroup": "sample-parameter-group",
            "DBSubnetGroup": "default",
            "Status": "available",
            "EarliestRestorableTime": "2023-11-07T22:34:08.148000+00:00",
            "Endpoint": "sample-cluster.node.us-east-1.amazon.com",
            "ReaderEndpoint": "sample-cluster.node.us-east-1.amazon.com",
            "MultiAZ": false,
            "Engine": "docdb",
            "EngineVersion": "5.0.0",
            "LatestRestorableTime": "2023-11-10T07:21:16.772000+00:00",
            "Port": 27017,
            "MasterUsername": "chimeraAdmin",
            "PreferredBackupWindow": "22:22-22:52",
            "PreferredMaintenanceWindow": "sun:03:01-sun:03:31",
            "ReadReplicaIdentifiers": [],
            "DBClusterMembers": [
                {
                    "DBInstanceIdentifier": "sample-instance-1",
                    "IsClusterWriter": true,
                    "DBClusterParameterGroupStatus": "in-sync",
                    "PromotionTier": 1
                },
                {
                    "DBInstanceIdentifier": "sample-instance-2",
                    "IsClusterWriter": true,
                    "DBClusterParameterGroupStatus": "in-sync",
                    "PromotionTier": 1
                },
                
            ],
            "VpcSecurityGroups": [
                {
                    "VpcSecurityGroupId": "sg-9084c2ec",
                    "Status": "active"
                }
            ],
            "HostedZoneId": "Z06853723JYKYBXTJ49RB",
            "StorageEncrypted": false,
            "DbClusterResourceId": "cluster-T4LGLANHVAPGQYYULWUDKLVQL4",
            "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
            "AssociatedRoles": [],
            "IAMDatabaseAuthenticationEnabled": false,
            "ClusterCreateTime": "2023-11-06T18:05:41.568000+00:00",
            "EngineMode": "provisioned",
            "DeletionProtection": false,
            "HttpEndpointEnabled": false,
            "CopyTagsToSnapshot": false,
            "CrossAccountClone": false,
            "DomainMemberships": [],
            "TagList": [],
            "StorageType": "iopt1",
            "AutoMinorVersionUpgrade": false,
            "NetworkType": "IPV4",
            "IOOptimizedNextAllowedModificationTime": "2023-12-07T18:05:41.580000+00:00"
        }
    ]
}
```

**Example**  
**예 3: Amazon DocumentDB 클러스터에 대한 특정 세부 정보 나열**  
를 사용하여 클러스터 세부 정보의 하위 집합을 나열하려면 `describe-db-clusters` 작업을 나열할 클러스터 멤버를 `--query` 지정하는를 AWS CLI추가합니다. `--db-cluster-identifier` 파라미터는 세부 정보를 표시할 특정 클러스터의 식별자입니다. 쿼리에 대한 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [`--query` 옵션을 사용하여 출력을 필터링하는 방법](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#controlling-output-filter)을 참조하세요.  
다음 예제에서는 Amazon DocumentDB 클러스터의 인스턴스를 나열합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-clusters \
    --filter Name=engine,Values=docdb \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].[DBClusterMembers]'
```
Windows의 경우:  

```
aws docdb describe-db-clusters ^
    --filter Name=engine,Values=docdb ^
    --db-cluster-identifier sample-cluster ^
    --query 'DBClusters[*].[DBClusterMembers]'
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
[
    [
        [
            {
                "DBInstanceIdentifier": "sample-instance-1",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            },
            {
                "DBInstanceIdentifier": "sample-instance-2",
                "IsClusterWriter": false,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            }
        ]
    ]
]
```

------

# Amazon DocumentDB 클러스터 수정
<a name="db-cluster-modify"></a>

클러스터를 수정하려면 클러스터가 *사용 가능* 상태에 있어야 합니다. 중지된 클러스터는 수정할 수 없습니다. 클러스터가 중지된 경우, 먼저 클러스터를 시작하고 클러스터가 *사용 가능*하게 될 때까지 기다린 다음 원하는 대로 수정합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 중지 및 시작](db-cluster-stop-start.md) 섹션을 참조하십시오.

------
#### [ Using the AWS Management Console ]

다음 절차에 따라 콘솔을 사용하여 특정 Amazon DocumentDB 클러스터를 수정합니다.

**Amazon DocumentDB 클러스터를 수정하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 이름 왼쪽에 있는 버튼을 선택하여 수정할 클러스터를 지정합니다.

1. **작업**을 선택한 후 **수정**을 선택합니다.

1. **클러스터 수정: <cluster-name>** 창에서 원하는 항목을 변경합니다. 다음 영역에서 변경할 수 있습니다.
   + **클러스터 사양** - 클러스터의 이름, 보안 그룹 및 자격 증명 관리입니다.
   + **클러스터 스토리지 구성** - 클러스터의 데이터 스토리지 모드입니다. 표준 구성과 I/O 최적화 구성 중에서 선택합니다.
   + **클러스터 옵션** - 클러스터의 포트 및 파라미터 그룹.
   + **백업** - 클러스터의 백업 보존 기간 및 백업 기간.
   + **로그 내보내기** - 감사 또는 프로파일러 로그 내보내기 활성화 또는 비활성화.
   + **유지 관리** - 클러스터의 유지 관리 기간 설정.
   + **삭제 방지** - 클러스터에서 삭제 방지 활성화 또는 비활성화. 삭제 방지 기능은 기본적으로 활성화됩니다.

1. 작업을 마쳤으면 **계속**을 선택하여 변경 사항의 요약을 확인합니다.

1. 변경 사항이 만족스러우면 **클러스터 수정**을 선택하여 클러스터를 수정할 수 있습니다. 또는 **뒤로** 또는 **취소**를 선택하여 각각 변경 사항을 편집하거나 취소할 수 있습니다.

변경 사항을 적용하는 데 몇 분 정도 걸립니다. *사용 가능* 상태인 경우에만 클러스터를 사용할 수 있습니다. 콘솔 또는 AWS CLI를 사용하여 클러스터의 상태를 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 단원을 참조하십시오.

------
#### [ Using the AWS CLI ]

`modify-db-cluster` 작업에 따라 AWS CLI를 사용하여 지정된 클러스터를 수정합니다. 자세한 내용은 *Amazon DocumentDB API 참조*의 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ModifyDBCluster.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ModifyDBCluster.html) 섹션을 참조하세요.

**파라미터**
+ **--db-cluster-identifier** - 필수입니다. 수정하려는 Amazon DocumentDB 클러스터의 식별자입니다.
+ **--backup-retention-period** - 선택 사항. 자동 백업이 보존되는 일수입니다. 유효한 값은 1–35입니다.
+ **--storage-type** - 선택 사항. 클러스터 스토리지 구성입니다. 유효한 값은 `standard` (표준) 또는 `iopt1` (I/O 최적화)입니다.
+ **--db-cluster-parameter-group-name** - 선택 사항. 클러스터에 사용할 클러스터 파라미터 그룹의 이름입니다.
+ **--manage-master-user-password** - 선택 사항. Amazon DocumentDB가 Secrets Manager에서 마스터 사용자 암호를 생성하고 해당 수명 주기 동안 이를 관리합니다.
+ **--rotate-master-user-password** - 선택 사항. Secrets Manager는 기존 보안 암호에 대한 새 보안 암호 버전을 생성합니다. 새 버전의 보안 암호에는 새 기본 사용자 암호가 포함됩니다. Amazon RDSAurora는 새 보안 암호 버전의 암호와 일치하도록 클러스터의 기본 사용자 암호를 변경합니다.

  기본 암호를 교체할 때 **--apply-immediately** 옵션을 지정해야 합니다.
+ **--master-user-password** - 선택 사항. 기본 데이터베이스 사용자의 새 암호입니다.

  암호 제약:
  + 길이는 [8-100]자의 인쇄 가능한 ASCII 문자입니다.
  + 다음을 제외한 인쇄 가능한 ASCII 문자를 사용할 수 있습니다.
    + **/**(슬래시)
    + **"**(큰 따옴표)
    + **@**(at 기호)
+ **--new-db-cluster-identifier** - 선택 사항. 클러스터의 이름을 변경할 때 클러스터의 새 클러스터 식별자입니다. 이 값은 소문자 문자열로 저장됩니다.

  명명 제약 조건:
  + 길이는 [1\$163] 글자, 숫자 또는 하이픈입니다.
  + 첫 번째 문자는 글자이어야 합니다.
  + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.
  + 리전별로 Amazon RDS, Amazon Neptune 및 Amazon DocumentDB의 모든 클러스터 AWS 계정에 대해 고유해야 합니다.
+ **--preferred-backup-window** - 선택 사항. 자동 백업이 생성되는 일별 시간 범위를 UTC(협정 세계시)로 표시합니다.
  + 형식: `hh24:mm-hh24:mm`
+ **--preferred-maintenance-window** - 선택 사항. 시스템 유지 관리를 실행할 수 있는 주 단위 시간 범위(UTC)입니다.
  + 형식: `ddd:hh24:mm-ddd:hh24:mm`
  + 유효한 요일: `Sun`, `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` 
+ **--deletion-protection** 또는 **--no-deletion-protection** - 선택 사항. 이 클러스터에서 삭제 방지를 활성화해야 하는지 여부. 삭제 방지는 삭제 방지를 비활성화하도록 클러스터를 수정할 때까지 실수로 클러스터가 삭제되는 것을 방지합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md) 섹션을 참조하십시오.
+ **--apply-immediately** 또는 **--no-apply-immediately** - `--apply-immediately`를 사용하여 즉시 변경합니다. `--no-apply-immediately`를 사용하여 클러스터의 다음 유지 관리 기간에 변경합니다.

**Example**  
다음 코드는 클러스터 `sample-cluster`에 대한 백업 보존 기간을 변경합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb modify-db-cluster \
       --db-cluster-identifier sample-cluster \
       --apply-immediately \
       --backup-retention-period 7
```
Windows의 경우:  

```
aws docdb modify-db-cluster ^
       --db-cluster-identifier sample-cluster ^
       --apply-immediately ^
       --backup-retention-period 7
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBCluster": {
        "BackupRetentionPeriod": 7,
        "DbClusterResourceId": "cluster-VDP53QEWST7YHM36TTXOPJT5YE",
        "Status": "available",
        "DBClusterMembers": [
            {
                "PromotionTier": 1,
                "DBClusterParameterGroupStatus": "in-sync",
                "DBInstanceIdentifier": "sample-cluster-instance",
                "IsClusterWriter": true
            }
        ],
        "ReadReplicaIdentifiers": [],
        "AvailabilityZones": [
            "us-east-1b",
            "us-east-1c",
            "us-east-1a"
        ],
        "ReaderEndpoint": "sample-cluster.cluster-ro-ctevjxdlur57.us-east-1.rds.amazonaws.com",
        "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
        "PreferredMaintenanceWindow": "sat:09:51-sat:10:21",
        "EarliestRestorableTime": "2018-06-17T00:06:19.374Z",
        "StorageEncrypted": false,
        "MultiAZ": false,
        "AssociatedRoles": [],
        "MasterUsername": "<your-master-user-name>",
        "DBClusterIdentifier": "sample-cluster",
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "sg-77186e0d"
            }
        ],
        "HostedZoneId": "Z2SUY0A1719RZT",
        "LatestRestorableTime": "2018-06-18T21:17:05.737Z",
        "AllocatedStorage": 1,
        "Port": 27017,
        "Engine": "docdb",
        "DBClusterParameterGroup": "default.docdb3.4",
        "Endpoint": "sample-cluster.cluster-ctevjxdlur57.us-east-1.rds.amazonaws.com",
        "DBSubnetGroup": "default",
        "PreferredBackupWindow": "00:00-00:30",
        "EngineVersion": "3.4",
        "ClusterCreateTime": "2018-06-06T19:25:47.991Z",
        "IAMDatabaseAuthenticationEnabled": false
    }
}
```

변경 사항을 적용하는 데 몇 분 정도 걸립니다. *사용 가능* 상태인 경우에만 클러스터를 사용할 수 있습니다. 콘솔 또는 AWS CLI를 사용하여 클러스터의 상태를 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 단원을 참조하십시오.

------

# 대기 중인 유지 관리 확인
<a name="db-cluster-determine-pending-maintenance"></a>

대기 중인 클러스터 유지 관리가 있는지 확인하여 최신 Amazon DocumentDB 엔진 버전을 사용 중인지 확인할 수 있습니다.

------
#### [ Using the AWS Management Console ]

 AWS Management Console 를 사용하여 클러스터에 보류 중인 유지 관리가 있는지 확인할 수 있습니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **유지 관리** 열을 찾아 클러스터에 대기 중인 유지 관리가 있는지 확인합니다.  
![\[Amazon DocumentDB 클러스터 유지 관리 필드가 표시된 콘솔 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-cluster-pending-maintenance.png)

   **없음**은 클러스터가 최신 엔진 버전을 실행 중임을 나타냅니다. **사용 가능**은 클러스터에 대기 중인 유지 관리가 있음을 나타냅니다. 즉, 엔진 업그레이드가 필요할 수도 있습니다.

1. 클러스터에 대기 중인 유지 관리가 있을 경우 [클러스터의 엔진 버전에 대한 패치 업데이트 수행](db-cluster-version-upgrade.md)의 단계를 진행합니다.

------
#### [ Using the AWS CLI ]

 AWS CLI 를 사용하여 다음 파라미터와 함께 `describe-pending-maintenance-actions` 작업을 사용하여 클러스터에 최신 엔진 버전이 있는지 확인할 수 있습니다.

**파라미터**
+ **--resource-identifier** - 선택 사항. 리소스(클러스터)의 ARN입니다. 이 파라미터를 생략하면 모든 클러스터의 대기 중인 유지 관리 작업이 나열됩니다.
+ **--region** - 선택 사항. 이 작업을 실행하려는 AWS 리전입니다. 예: `us-east-1`.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-pending-maintenance-actions \
   --resource-identifier arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster \
   --region us-east-1
```
Windows의 경우:  

```
aws docdb describe-pending-maintenance-actions ^
   --resource-identifier arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster ^
   --region us-east-1
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
            "PendingMaintenanceActionDetails": [
                {
                    "Description": "New feature",
                    "Action": "db-upgrade",
                    "ForcedApplyDate": "2019-02-25T21:46:00Z",
                    "AutoAppliedAfterDate": "2019-02-25T07:41:00Z",
                    "CurrentApplyDate": "2019-02-25T07:41:00Z"
                }
            ]
        }
    ]
}
```

클러스터에 대기 중인 유지 관리가 있을 경우 [클러스터의 엔진 버전에 대한 패치 업데이트 수행](db-cluster-version-upgrade.md)의 단계를 진행합니다.

------

# 클러스터의 엔진 버전에 대한 패치 업데이트 수행
<a name="db-cluster-version-upgrade"></a>

이 섹션에서는 AWS Management Console 또는를 사용하여 패치 업데이트를 배포하는 방법을 설명합니다 AWS CLI. 패치 업데이트는 동일한 엔진 버전 내의 업데이트입니다(예: 3.6 엔진 버전을 최신 3.6 엔진 버전으로 업데이트). 즉시 업데이트하거나 클러스터의 다음 유지 관리 기간에 업그레이드할 수 있습니다. 엔진 업데이트가 필요한지 확인하려면 [대기 중인 유지 관리 확인](db-cluster-determine-pending-maintenance.md) 섹션을 참조하세요. 업데이트를 적용할 때 클러스터에 약간의 가동 중지 시간이 발생할 수 있다는 점에 유의하세요.

**참고**  
메이저 엔진 버전에서 다른 버전으로 업그레이드(예: 3.6에서 5.0으로)하려는 경우 [Amazon DocumentDB 인플레이스 주요 버전 업그레이드](docdb-mvu.md) 또는 [를 사용하여 Amazon DocumentDB 클러스터 업그레이드 AWS Database Migration Service](docdb-migration.versions.md)을(를) 참조하세요. 전체 메이저 버전 업그레이드는 docdb 5.0만 대상 엔진 버전으로 지원합니다.

클러스터의 엔진 버전에 대한 최신 패치 업데이트를 받으려면 다음과 같은 두 가지 구성 요구 사항이 있습니다.
+ 클러스터의 상태가 *사용 가능*이어야 합니다.
+ 클러스터가 이전 엔진 버전을 실행하고 있어야 합니다.

------
#### [ Using the AWS Management Console ]

다음 절차는 콘솔을 사용하여 클러스터의 엔진 버전에 패치 업데이트를 적용하는 것입니다. 즉시 업데이트하거나 클러스터의 다음 유지 관리 기간 중 업그레이드할 수 있습니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다. 클러스터 목록에서 업그레이드할 클러스터 왼쪽에 있는 버튼을 선택합니다. 클러스터의 상태가 *사용 가능*이어야 합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **작업** 메뉴에서 다음 옵션 중 하나를 선택합니다. 이러한 메뉴 옵션은 선택한 클러스터가 최신 엔진 버전을 실행하고 있지 않은 경우에만 선택할 수 있습니다.  
![\[이미지: Amazon DocumentDB 업그레이드 조치\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-upgrade-action.png)
   + **지금 업그레이드** - 업그레이드 프로세스를 즉시 시작합니다. 클러스터가 최신 엔진 버전으로 업그레이드하는 동안에는 클러스터가 잠시 오프라인 상태가 됩니다.
   + **다음에 업그레이드** - 클러스터의 다음 유지 관리 기간 중에 업그레이드 프로세스를 시작합니다. 클러스터가 최신 엔진 버전으로 업그레이드되는 동안에는 클러스터가 잠시 오프라인 상태가 됩니다.

1. 확인 창이 열리면 다음 중 하나를 선택합니다.
   + **업그레이드** - 이전 단계에서 선택한 일정에 따라 클러스터를 최신 엔진 버전으로 업그레이드하려면 선택합니다.
   + **취소** - 클러스터의 엔진 업그레이드를 취소하고 클러스터의 현재 엔진 버전으로 계속하려면 선택합니다.

------
#### [ Using the AWS CLI ]

다음 파라미터와 함께 AWS CLI 및 `apply-pending-maintenance-action` 작업을 사용하여 클러스터에 패치 업데이트를 적용할 수 있습니다.

**파라미터**
+ **--resource-identifier** - 필수입니다. 업그레이드할 Amazon DocumentDB 클러스터의 ARN입니다.
+ **--apply-action** - 필수입니다. 다음과 같은 값이 허용됩니다. 클러스터 엔진 버전을 업그레이드하려면 `db-upgrade`를 사용합니다.
  + **db-upgrade**
  + **system-update**
+ **--opt-in-type** - 필수입니다. 다음과 같은 값이 허용됩니다.
  + `immediate` - 유지 관리 작업을 즉시 적용합니다.
  + `next-maintenance` - 다음 유지 관리 기간 중에 유지 관리 작업을 적용합니다.
  + `undo-opt-in` - 기존 `next-maintenance` 옵트인 요청을 취소합니다.

**Example**  
다음은 `sample-cluster`의 엔진 버전을 버전 4.0.0으로 패치 업데이트하는 예입니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb apply-pending-maintenance-action \
   --resource-identifier arn:aws:rds:us-east-1:123456789012\:cluster:sample-cluster \
   --apply-action db-upgrade \
   --opt-in-type immediate
```
Windows의 경우:  

```
aws docdb apply-pending-maintenance-action ^
   --resource-identifier arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster ^
   --apply-action db-upgrade ^
   --opt-in-type immediate
```
이 작업의 출력은 다음과 같습니다.  

```
{
    "ResourcePendingMaintenanceActions": {
        "ResourceIdentifier": "arn:aws:rds:us-east-1:444455556666:cluster:docdb-2019-01-09-23-55-38",
        "PendingMaintenanceActionDetails": [
            {
                "CurrentApplyDate": "2019-02-20T20:57:06.904Z",
                "Description": "Bug fixes",
                "ForcedApplyDate": "2019-02-25T21:46:00Z",
                "OptInStatus": "immediate",
                "Action": "db-upgrade",
                "AutoAppliedAfterDate": "2019-02-25T07:41:00Z"
            }
        ]
    }
}
```

------

# Amazon DocumentDB 클러스터 중지 및 시작
<a name="db-cluster-stop-start"></a>

Amazon DocumentDB 클러스터를 중지하고 시작하면 개발 및 테스트 환경 비용을 관리하는 데 도움이 됩니다. 필요하지 않을 경우 Amazon DocumentDB를 사용할 때마다 클러스터 및 인스턴스를 생성하고 삭제하는 대신 클러스터의 모든 인스턴스를 일시적으로 중지할 수 있습니다. 그런 다음 테스트를 재개할 때 다시 시작할 수 있습니다.

**Topics**
+ [클러스터의 중지 및 시작 개요](#db-cluster-stop-start-overview)
+ [중지된 클러스터에서 수행할 수 있는 작업](#db-cluster-stopped-operations)

## 클러스터의 중지 및 시작 개요
<a name="db-cluster-stop-start-overview"></a>

Amazon DocumentDB 클러스터가 필요하지 않은 기간에는 이 클러스터의 모든 인스턴스를 한번에 중지할 수 있습니다. 그런 다음 사용해야 할 때는 언제든지 클러스터를 다시 시작할 수 있습니다. 시작 및 중지를 사용하면 개발, 테스트 또는 연속 가용성을 필요로 하지 않는 유사한 활동에 사용되는 클러스터의 설정 및 해제 프로세스가 간소화됩니다. 클러스터에 있는 인스턴스 수에 관계없이 단일 작업 AWS CLI 으로 AWS Management Console 또는를 사용하여 클러스터를 중지하고 시작할 수 있습니다.

클러스터가 중지되는 동안 클러스터 스토리지 볼륨은 변경되지 않습니다. 지정된 보존 기간 내에는 스토리지, 수동 스냅샷 및 자동 백업 스토리지에 대한 비용만 청구됩니다. 인스턴스 시간에 대해서는 요금이 부과되지 않습니다 Amazon DocumentDB는 필요한 유지 관리 업데이트에 뒤처지지 않도록 7일 후에 클러스터를 자동으로 시작합니다. 7일 후에 클러스터가 시작되면 클러스터의 인스턴스 비용이 다시 청구됩니다. 클러스터가 중지된 동안에는 쿼리하려면 인스턴스가 사용 가능한 상태여야 하므로 스토리지 볼륨을 쿼리할 수 없습니다.

Amazon DocumentDB 클러스터가 중지되면 클러스터도 인스턴스도 어떤 식으로든 수정할 수 없습니다. 여기에는 인스턴스 추가 또는 제거, 클러스터 삭제도 포함됩니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는 사용 가능한 상태인 하나 이상의 인스턴스가 있는 클러스터를 중지하거나, 중지된 클러스터를 시작하는 방법을 보여 줍니다.

**Amazon DocumentDB 클러스터 중지 및 시작 방법**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 목록에서 중지하거나 시작하려는 클러스터 이름의 왼쪽에 있는 버튼을 선택합니다.

1. **작업**을 선택한 다음 클러스터에서 수행하려는 작업을 선택합니다.
   + 클러스터를 중지하고 다음 작업을 수행합니다.

     1. **중지**를 선택합니다.  
![\[이미지: 클러스터 중지\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-stop.png)

        중지 작업은 장애 조치 메커니즘 활성화를 피하기 위해 복제본 인스턴스를 먼저 중지한 후 기본 인스턴스를 중지합니다.

     1. 확인 대화 상자에서 **클러스터 중지**를 선택하여 클러스터 중지를 확인하거나, 클러스터를 계속 실행하려면 **취소**를 선택합니다.  
![\[이미지: 클러스터 시작\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-stop-confirm.png)
   + 클러스터를 시작하려면 클러스터가 중지된 상태에서 **시작**을 선택합니다.  
![\[이미지: 클러스터 시작\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-start.png)

1. 클러스터 및 인스턴스 상태를 모니터링합니다. 클러스터를 시작한 경우 클러스터 및 해당 인스턴스를 *사용 가능*할 때 클러스터 사용을 다시 시작할 수 있습니다. 자세한 내용은 [클러스터 상태 확인](db-cluster-status.md) 섹션을 참조하십시오.  
![\[이미지: 클러스터 중지 및 시작 상태\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-stop-start-status.png)

------
#### [ Using the AWS CLI ]

다음 코드 예제에서는 사용 가능한 상태인 하나 이상의 인스턴스가 있는 클러스터를 중지하거나, 중지된 클러스터를 시작하는 방법을 보여 줍니다.

를 사용하여 사용 가능한 인스턴스가 하나 이상인 클러스터를 중지하려면 `stop-db-cluster` 작업을 AWS CLI사용합니다. 중지된 클러스터를 시작하려면 `start-db-cluster` 작업을 사용합니다. 두 작업은 `--db-cluster-identifier` 파라미터를 사용합니다.

**파라미터:**
+ **--db-cluster-identifier** - 필수입니다. 중지하거나 시작할 클러스터의 이름.

**Example -를 사용하여 클러스터를 중지하려면 AWS CLI**  
다음 코드는 클러스터 `sample-cluster`를 중지합니다. 클러스터에는 사용 가능한 상태인 인스턴스가 하나 이상 있어야 합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb stop-db-cluster \
   --db-cluster-identifier sample-cluster
```
Windows의 경우:  

```
aws docdb stop-db-cluster ^
   --db-cluster-identifier sample-cluster
```

**Example -를 사용하여 클러스터를 시작하려면 AWS CLI**  
다음 코드는 클러스터 `sample-cluster`를 시작합니다. 클러스터는 현재 중지된 상태여야 합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb start-db-cluster \
   --db-cluster-identifier sample-cluster
```
Windows의 경우:  

```
aws docdb start-db-cluster ^
   --db-cluster-identifier sample-cluster
```

------

## 중지된 클러스터에서 수행할 수 있는 작업
<a name="db-cluster-stopped-operations"></a>

Amazon DocumentDB 클러스터가 중지되어 있는 동안, 지정된 자동 백업 보존 기간 내에서 원하는 시점으로 특정 시점 복원을 수행할 수 있습니다. 특정 시점으로 복원에 대한 세부 정보는 [특정 시점으로 복원](backup_restore-point_in_time_recovery.md) 섹션을 참조하세요.

클러스터가 중지되는 동안 Amazon DocumentDB 클러스터의 구성 또는 해당 인스턴스를 수정할 수 없습니다. 또한 클러스터에서 인스턴스를 추가 또는 제거할 수 없으며, 연결된 인스턴스가 있는 경우에도 클러스터를 삭제할 수 없습니다. 이러한 관리 작업을 수행하기 전에 클러스터를 시작해야 합니다.

Amazon DocumentDB는 다시 시작한 후에만 중지된 클러스터에 예약 유지 관리를 적용합니다. 7일 후에 Amazon DocumentDB는 중지된 클러스터를 자동으로 시작하므로 유지 관리 상태에서 너무 늦어지지 않습니다. 클러스터가 다시 시작되면 클러스터의 인스턴스 비용이 다시 청구됩니다.

클러스터가 중지되는 동안 Amazon DocumentDB는 자동화된 백업을 수행하지 않으며 백업 보존 기간도 연장하지 않습니다.

# Amazon DocumentDB 클러스터 삭제
<a name="db-cluster-delete"></a>

 AWS Management Console 또는를 사용하여 Amazon DocumentDB 클러스터를 삭제할 수 있습니다 AWS CLI. 클러스터를 삭제하려면 클러스터가 *사용 가능한* 상태여야 하며 클러스터와 연결된 인스턴스가 없어야 합니다. 클러스터가 중지된 경우, 먼저 클러스터를 시작하고 클러스터가 *사용 가능*하게 될 때까지 기다린 다음 클러스터를 삭제합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 중지 및 시작](db-cluster-stop-start.md) 섹션을 참조하십시오.

## 삭제 방지
<a name="db-cluster-deletion-protection"></a>

실수로 인한 삭제로부터 클러스터를 보호하려면 *삭제 방지*를 활성화할 수 있습니다. 콘솔을 사용하여 클러스터를 생성할 때 기본적으로 삭제 방지가 활성화됩니다. 하지만 AWS CLI를 사용하여 클러스터를 생성하는 경우 삭제 방지가 기본적으로 비활성화됩니다.

Amazon DocumentDB는 콘솔 또는 AWS CLI중 어느 곳에서 삭제 작업을 수행하든 간에 클러스터에 대한 삭제 방지를 강제 시행합니다. 삭제 방지가 활성화되어 있으면 클러스터를 삭제할 수 없습니다. 삭제 방지가 활성화된 클러스터를 삭제하려면 먼저 클러스터를 수정하고 삭제 방지를 비활성화해야 합니다.

삭제 방지가 활성화된 클러스터가 있는 콘솔을 사용할 경우 클러스터의 마지막 인스턴스를 삭제하면 클러스터도 삭제되므로 해당 인스턴스를 삭제할 수 없습니다. AWS CLI를 사용하여 삭제 방지된 클러스터의 마지막 인스턴스를 삭제할 수 있습니다. 하지만 클러스터 자체는 여전히 존재하고 데이터는 보존됩니다. 클러스터의 새 인스턴스를 생성하여 데이터에 액세스할 수 있습니다. 삭제 방지 활성화 및 비활성화에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon DocumentDB 클러스터 생성](db-cluster-create.md)
+ [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md)

------
#### [ Using the AWS Management Console ]

를 사용하여 클러스터를 삭제하려면 AWS Management Console삭제 방지 기능을 비활성화해야 합니다.

**클러스터에 대해 삭제 방지를 활성화했는지 여부를 확인하려면 다음과 같이 하세요.**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 참고로 클러스터 탐색 상자의 **클러스터 식별자** 열에는 클러스터와 인스턴스가 모두 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[이미지: 기존 클러스터 링크 및 해당 인스턴스 링크의 목록을 보여주는 클러스터 탐색 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/clusters.png)

1. 클러스터의 이름을 선택하고 **구성** 탭을 선택합니다. **클러스터 세부 정보** 섹션에서 **삭제 보호**를 찾습니다. 삭제 방지가 활성화된 경우 클러스터를 수정하여 삭제 방지를 비활성화합니다. 클러스터 수정에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 섹션을 참조하세요.

   **삭제 방지**가 비활성화된 후에는 클러스터를 삭제할 수 있습니다.

**클러스터를 삭제하려면 다음과 같이 하세요.**

1. 탐색 창에서 **클러스터**를 선택합니다.

1. **클러스터 식별자** 열 아래에 나열된 인스턴스를 확인하여 클러스터에 인스턴스가 있는지 확인합니다. 클러스터를 삭제하려면 모든 인스턴스를 삭제해야 합니다. 자세한 내용은 [Amazon DocumentDB 인스턴스 삭제](db-instance-delete.md) 섹션을 참조하십시오.

1. 클러스터에 인스턴스가 있는지 여부에 따라 다음 단계 중 하나를 수행합니다.
   + 클러스터에 인스턴스가 없는 경우 클러스터 이름 왼쪽에 있는 단추를 선택하고 **작업**을 선택합니다. 드롭다운 메뉴에서 **삭제**를 선택합니다. **<cluster-name> 삭제** 대화 상자를 완료한 다음 **삭제**를 선택합니다.
   + 클러스터에 인스턴스가 하나 이상 있는 경우 다음을 수행합니다.

     1. 탐색 창에서 **클러스터**를 선택합니다.

     1. 클러스터 이름 왼쪽에 있는 확인란을 선택하여 클러스터의 각 인스턴스를 삭제합니다. **작업**을 선택한 후 **삭제**를 선택합니다. **<cluster-name> 삭제** 대화 상자를 완료한 다음 **삭제**를 선택합니다.

        마지막 인스턴스를 삭제할 경우 클러스터도 삭제됩니다. 인스턴스 삭제에 대한 자세한 내용은 [Amazon DocumentDB 인스턴스 삭제](db-instance-delete.md) 섹션을 참조하세요.

클러스터를 삭제하는 데 몇 분 정도 걸립니다. 클러스터 상태를 모니터링하려면 [Amazon DocumentDB 클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 섹션을 참조하세요.

------
#### [ Using the AWS CLI ]

인스턴스가 연결되어 있는 클러스터를 삭제할 수 없습니다. 클러스터와 연결된 인스턴스를 확인하려면 `describe-db-clusters` 명령을 실행하고 클러스터의 모든 인스턴스를 삭제합니다. 그런 다음 필요한 경우 클러스터에서 삭제 방지를 비활성화하고 마지막으로 클러스터를 삭제합니다.

1. **먼저 클러스터의 모든 인스턴스를 삭제합니다.**

   삭제해야 할 인스턴스를 결정하려면 다음 명령을 실행합니다.

   ```
   aws docdb describe-db-clusters \
       --db-cluster-identifier sample-cluster \
       --query 'DBClusters[*].[DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]'
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   [
       [
           "sample-cluster",
           [
               "sample-instance-1",
               "sample-instance-2"
           ]
       ]
   ]
   ```

   삭제하려는 클러스터에 인스턴스가 있는 경우 아래와 같이 인스턴스를 삭제합니다.

   ```
   aws docdb delete-db-instance \
       --db-instance-identifier sample-instance
   ```

1. **다음으로 삭제 방지를 비활성화합니다.**

    AWS CLI 를 사용하여 클러스터의 모든 인스턴스를 삭제해도 클러스터는 삭제되지 않습니다. 클러스터를 삭제해야 하더라도 삭제 방지가 비활성화된 경우에만 삭제할 수 있습니다.

   클러스터에 삭제 방지가 활성화되었는지 확인하려면 다음 명령을 실행합니다.
**작은 정보**  
모든 Amazon DocumentDB 클러스터의 삭제 방지 상태를 보려면 `--db-cluster-identifier` 파라미터를 생략합니다.

   ```
   aws docdb describe-db-clusters \
       --db-cluster-identifier sample-cluster \
       --query 'DBClusters[*].[DBClusterIdentifier,DeletionProtection]'
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   [
       [
           "sample-cluster",
           "true"
       ]
   ]
   ```

   클러스터에 삭제 방지가 활성화된 경우 클러스터를 수정하여 삭제 방지를 비활성화합니다. 클러스터에서 삭제 방지를 비활성화하려면 다음 명령을 실행합니다.

   ```
   aws docdb modify-db-cluster \
       --db-cluster-identifier sample-cluster \
       --no-deletion-protection \
       --apply-immediately
   ```

1. **마지막으로 클러스터를 삭제합니다.**

   삭제 방지가 비활성화된 후에는 클러스터를 삭제할 수 있습니다. 클러스터를 삭제하려면 다음 파라미터와 함께 `delete-db-cluster` 작업을 사용합니다.
   + **--db-cluster-identifier** - 필수입니다. 삭제하려는 클러스터의 식별자입니다.
   + **--final-db-snapshot-identifier** - 선택 사항. 최종 스냅샷을 원하는 경우 최종 스냅샷의 이름과 함께 이 파라미터를 포함해야 합니다. `--final-db-snapshot-identifier` 또는 `--skip-final-snapshot`를 포함시켜야 합니다.

     명명 제약 조건:
     + 길이는 [1\$163] 글자, 숫자 또는 하이픈입니다.
     + 첫 번째 문자는 글자이어야 합니다.
     + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.
     + 리전별로 Amazon RDS, Amazon Neptune 및 Amazon DocumentDB의 모든 클러스터 AWS 계정에 대해 고유해야 합니다.
   + **--skip-final-snapshot** - 선택 사항. 클러스터를 삭제하기 전에 최종 스냅샷을 생성하지 않으려는 경우에만 이 파라미터를 사용하세요. 기본 설정은 최종 스냅샷을 생성하는 것입니다. `--final-db-snapshot-identifier` 또는 `--skip-final-snapshot`를 포함시켜야 합니다.

   다음 AWS CLI 코드는 최종 스냅샷이 `sample-cluster` 있는 클러스터를 삭제합니다. 클러스터와 연결된 인스턴스가 있거나 삭제 방지가 활성화된 경우 작업이 실패합니다.  
**Example**  

   Linux, macOS, Unix의 경우:

   ```
   aws docdb delete-db-cluster \
       --db-cluster-identifier sample-cluster \
       --final-db-snapshot-identifier sample-cluster-final-snapshot
   ```

   Windows의 경우:

   ```
   aws docdb delete-db-cluster ^
       --db-cluster-identifier sample-cluster ^
       --final-db-snapshot-identifier sample-cluster-final-snapshot
   ```  
**Example**  

   다음 AWS CLI 코드는 최종 스냅샷을 생성`sample-cluster`하지 않고 클러스터를 삭제합니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb delete-db-cluster \
       --db-cluster-identifier sample-cluster \
       --skip-final-snapshot
   ```

   Windows의 경우:

   ```
   aws docdb delete-db-cluster ^
       --db-cluster-identifier sample-cluster ^
       --skip-final-snapshot
   ```

   `delete-db-cluster` 연산은 삭제하려는 클러스터를 출력합니다.

   클러스터를 삭제하는 데 몇 분 정도 걸립니다. 클러스터 상태를 모니터링하려면 [클러스터 상태 모니터링](monitoring_docdb-cluster_status.md) 섹션을 참조하세요.

------

# Amazon DocumentDB 클러스터 규모 조정
<a name="db-cluster-manage-performance"></a>

Amazon DocumentDB를 사용하면 필요에 따라 클러스터의 스토리지와 컴퓨팅을 조정할 수 있습니다. 이 섹션에서는 스토리지 조정, 인스턴스 조정 및 읽기 조정을 사용하여 Amazon DocumentDB 클러스터 및 인스턴스의 성능 및 확장을 관리하는 방법을 설명합니다.

**Topics**
+ [스토리지 조정](#db-cluster-manage-scaling-storage)
+ [인스턴스 조정](#db-cluster-manage-scaling-instance)
+ [읽기 확장](#db-cluster-manage-scaling-reads)
+ [쓰기 조정](#db-cluster-manage-scaling-writes)

## 스토리지 조정
<a name="db-cluster-manage-scaling-storage"></a>

Amazon DocumentDB 스토리지는 클러스터 볼륨에 저장된 데이터에 따라 자동 조정됩니다. 데이터가 증가하면 클러스터 볼륨 스토리지도 최대 128TiB까지 10GiB씩 확장됩니다.

## 인스턴스 조정
<a name="db-cluster-manage-scaling-instance"></a>

필요에 따라 클러스터의 인스턴스마다 인스턴스 클래스를 수정하여 Amazon DocumentDB 클러스터의 크기를 조정할 수 있습니다. Amazon DocumentDB는 Amazon DocumentDB에 최적화된 여러 인스턴스 클래스를 지원합니다.

자세한 내용은 [Amazon DocumentDB 인스턴스 수정](db-instance-modify.md) 섹션을 참조하십시오.

## 읽기 확장
<a name="db-cluster-manage-scaling-reads"></a>

클러스터에서 Amazon DocumentDB 복제본을 최대 15개까지 생성하여 Amazon DocumentDB 클러스터에 대한 읽기 확장이 가능합니다. 각 Amazon DocumentDB 복제본은 복제본 지연을 최소화하여 클러스터 볼륨에서 동일한 데이터를 반환합니다. 일반적으로 이 지연 시간은 기본 인스턴스가 업데이트를 적용한 후 100밀리초 미만입니다. 읽기 트래픽이 증가하면 Amazon DocumentDB 복제본을 추가 생성하여 직접 연결함으로써 클러스터의 읽기 부하를 분산시키는 것도 가능합니다. Amazon DocumentDB 복제본의 인스턴스 클래스가 기본 인스턴스의 DB 인스턴스 클래스와 같을 필요는 없습니다.

자세한 내용은 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 섹션을 참조하십시오.

Amazon DocumentDB로 스케일을 읽으려면 드라이버의 내장된 읽기 기본 설정 기능을 사용하여 복제본 세트로 클러스터에 연결하고 읽기를 복제본 인스턴스에 배포하는 것이 좋습니다. 자세한 내용은 [Amazon DocumentDB에 복제본 세트로 연결](connect-to-replica-set.md) 섹션을 참조하세요.

## 쓰기 조정
<a name="db-cluster-manage-scaling-writes"></a>

클러스터의 기본 인스턴스 크기를 늘려 Amazon DocumentDB 클러스터의 쓰기 용량을 확장할 수 있습니다. 이 섹션에서는 필요에 따라 클러스터의 기본 인스턴스를 확장하는 두 가지 방법을 설명합니다. 첫 번째 옵션은 애플리케이션에 미치는 영향을 최소화하도록 노력하지만 더 많은 단계를 완료해야 합니다. 두 번째 옵션은 단계가 적어 더 간단하지만 애플리케이션에 더 많은 잠재적 영향을 미칠 수 있다는 단점이 있습니다.

애플리케이션에 따라 둘 중에서 더 적합한 방법을 선택할 수 있습니다. 사용 가능한 인스턴스 크기 및 비용에 대한 자세한 내용은 [Amazon DocumentDB 요금](https://aws.amazon.com/documentdb/pricing/) 페이지를 참조하세요.

1. **고가용성 및 성능 최적화** - [복제본 집합 모드](connect-to-replica-set.md)로 클러스터에 연결하는 경우(권장) 기본 인스턴스를 확장할 때 다음 프로세스를 사용하여 애플리케이션에 미치는 영향을 최소화할 수 있습니다. 이 방법을 사용하면 클러스터가 필요한 고가용성 수준 이상으로 유지되며 읽기 조정 대상이 현재 위치에서 업데이트되지 않고 인스턴스로 클러스터에 추가되므로 영향이 최소화됩니다.

   1. 클러스터에 더 큰 인스턴스 유형의 복제본을 하나 이상 추가합니다([클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 참조). 모든 복제본은 기본 인스턴스와 동일하거나 더 큰 인스턴스 유형인 것이 좋습니다. 이렇게 하면 더 작은 인스턴스 유형으로 장애 조치되어 쓰기 성능이 의도치 않게 저하되는 것을 방지할 수 있습니다. 대부분의 고객의 경우 클러스터의 인스턴스 수를 일시적으로 두 배로 늘린 다음 확장이 완료된 후 더 작은 복제본을 제거해야 합니다.

   1. 모든 새 복제본의 장애 조치 계층을 우선 순위 0으로 설정하여 더 작은 인스턴스 유형의 복제본이 가장 높은 장애 조치 우선 순위를 갖도록 합니다. 자세한 내용은 [장애 조치 대상 제어](failover.md#failover-target_control) 섹션을 참조하십시오.

   1. 수동 장애 조치를 시작합니다. 그러면 새 복제본 중 하나가 기본 인스턴스로 승격됩니다. 자세한 내용은 [장애 조치 테스트](failover.md#failover-testing) 섹션을 참조하십시오.
**참고**  
이렇게 하면 클러스터에 약 30초의 가동 중지 시간이 발생합니다. 이에 맞춰 계획을 세우세요.

   1. 새 기본 인스턴스보다 작은 인스턴스 유형의 모든 복제본을 클러스터에서 제거합니다.

   1. 모든 인스턴스의 장애 조치 계층을 동일한 우선 순위로 다시 설정합니다(일반적으로 다시 1로 설정됨).

   예를 들어 현재 3개의 `r5.large` 인스턴스(하나의 기본 인스턴스와 두 개의 복제본)가 포함된 클러스터가 있고 `r5.xlarge` 인스턴스 유형으로 확장하려는 경우, 먼저 클러스터에 `r5.xlarge` 복제본 인스턴스 3개를 추가하고 새 `r5.xlarge` 복제본의 장애 조치 계층을 0으로 설정한 다음 수동 장애 조치를 시작합니다(애플리케이션에 30초 정도의 가동 중지 시간이 발생함). 장애 조치가 완료된 후 클러스터에서 3개의 `r5.large` 인스턴스를 모두 제거하면 클러스터가 `r5.xlarge` 인스턴스로 확장됩니다.

   비용을 최적화할 수 있도록 Amazon DocumentDB 인스턴스 요금은 인스턴스 생성, 수정 또는 삭제 같은 청구 가능한 상태 변경에 따라 1초 단위로 청구되며 최소 10분의 요금이 부과됩니다. 자세한 내용은 모범 사례 설명서의 [비용 최적화](best_practices.md#best_practices-cost_optimization) 섹션을 참조하세요.

1. **단순성을 위한 최적화** - 이 접근 방식은 단순성을 위해 최적화됩니다. 클러스터를 확장하거나 축소하지는 않지만 일시적으로 읽기 용량을 줄일 수 있습니다.

   복제본의 인스턴스 클래스를 변경하면 해당 인스턴스가 몇 초에서 30초 미만으로 짧은 기간 동안 요청을 처리하지 못할 수 있습니다. [복제본 세트 모드](connect-to-replica-set.md)(권장)로 클러스터에 연결하는 경우 조정 작업 중에 읽기 용량이 복제본 1개만큼 줄어듭니다(예: 3노드 클러스터의 경우 66%, 4노드 클러스터의 경우 75% 용량 등).

   1. 클러스터의 복제본 인스턴스 중 하나를 확장합니다. 자세한 내용은 [인스턴스 클래스 관리](db-instance-classes.md) 섹션을 참조하십시오.

   1. 인스턴스를 사용할 수 있을 때까지 기다리세요([Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 참조).
**참고**  
이렇게 하면 클러스터에 약 30초의 가동 중지 시간이 발생합니다. 이에 맞춰 계획을 세우세요.

   1. 모든 복제본 인스턴스가 하나씩 확장될 때까지 1단계와 2단계를 계속 실행합니다.

   1. 수동 장애 조치 시작. 이렇게 하면 복제본 중 한 개가 기본 인스턴스로 승격됩니다. 자세한 내용은 [Amazon DocumentDB 장애 조치](failover.md) 섹션을 참조하십시오.
**참고**  
이로 인해 클러스터에 최대 30초의 가동 중지 시간이 발생하지만 대개 그보다 시간이 덜 걸립니다. 이에 맞춰 계획을 세우세요.

   1. 이전의 기본(지금은 복제본) 인스턴스를 확장하세요.

# Amazon DocumentDB 클러스터에 대한 볼륨 복제
<a name="db-cluster-cloning"></a><a name="cloning"></a>

Amazon DocumentDB 복제를 사용하면 동일한 Amazon DocumentDB 클러스터 볼륨을 사용하고 원본과 동일한 데이터를 갖는 새 클러스터를 생성할 수 있습니다. 이 프로세스는 빠르고 비용 효율적으로 진행되도록 설계되었습니다. 연결된 데이터 볼륨이 있는 새 클러스터를 *복제본*이라고 합니다. 복제본 생성은 스냅샷 복원과 같은 다른 기술을 사용하여 데이터를 물리적으로 복사하는 것보다 빠르고 공간 효율적입니다.

Amazon DocumentDB는 프로비저닝된 Amazon DocumentDB 클러스터에서 Amazon DocumentDB 프로비저닝된 복제본을 생성할 수 있도록 지원합니다. 소스와 다른 배포 구성을 사용하여 복제를 생성하면 소스 Amazon DocumentDB 엔진의 최신 버전을 사용하여 복제본이 생성됩니다.

Amazon DocumentDB 클러스터에서 복제본을 생성하면 소스 Amazon DocumentDB 클러스터를 소유한 것과 동일한 계정인 AWS 계정에 복제본이 생성됩니다.

**Topics**
+ [Amazon DocumentDB 복제 개요](#db-cloning-overview)
+ [Amazon DocumentDB 복제의 제한](#db-cloning-limitations)
+ [Amazon DocumentDB 복제의 작동 방식](#db-how-db-cloning-works)
+ [Amazon DocumentDB 복제본 생성](#db-creating-db-clone)

## Amazon DocumentDB 복제 개요
<a name="db-cloning-overview"></a>

Amazon DocumentDB는 *기록 중 복사(Copy-on-Write) 프로토콜*을 사용하여 복제본을 생성합니다. 이 메커니즘은 최소한의 추가 공간을 사용하여 초기 복제를 만듭니다. 복제가 처음 생성되면 Amazon DocumentDB는 소스 DB 클러스터와 새로운(복제된) Amazon DocumentDB 클러스터에서 사용하는 데이터의 단일 복사본을 유지합니다. 소스 Amazon DocumentDB 클러스터 또는 Amazon DocumentDB 클러스터 복제가 Amazon DocumentDB 스토리지 볼륨의 데이터를 변경한 경우에만 추가 스토리지가 할당됩니다. 기록 중 복사(Copy-on-Write) 프로토콜에 대한 자세한 내용은 [Amazon DocumentDB 복제의 작동 방식](#db-how-db-cloning-works) 섹션을 참조하세요.

Amazon DocumentDB 복제 작업은 데이터 손상 위험 없이 프로덕션 데이터를 사용하여 테스트 환경을 신속하게 설정하는 데 특히 유용합니다. 다음과 같은 여러 유형의 애플리케이션에 복제본을 사용할 수 있습니다.
+ 잠재적 변경 사항(예: 스키마 변경 및 파라미터 그룹 변경)을 실험하여 모든 영향을 평가합니다.
+ 데이터 내보내기 또는 복제본에서 분석 쿼리 실행과 같은 워크로드 집약적인 작업을 수행하는 경우 
+ 개발, 테스트 또는 기타 용도로 프로덕션 DB 클러스터의 복사본을 생성합니다.

동일한 Amazon DocumentDB 클러스터에서 둘 이상의 복제본을 생성할 수 있습니다. 다른 복제본에서 여러 복제본을 생성할 수도 있습니다.

Amazon DocumentDB 복제본을 생성한 후 Amazon DocumentDB 인스턴스를 원본 Amazon DocumentDB 클러스터와 다르게 구성할 수 있습니다. 예를 들어 소스 프로덕션 Amazon DocumentDB 클러스터와 동일한 고가용성 요구 사항을 충족하기 위해 개발 목적으로 복제본이 필요하지 않을 수 있습니다. 이 경우 Amazon DocumentDB 클러스터에서 사용하는 여러 DB 인스턴스가 아닌 단일 Amazon DocumentDB 인스턴스로 복제본을 구성할 수 있습니다.

복제본을 테스트, 개발 또는 다른 용도로 사용한 후 삭제할 수 있습니다.

## Amazon DocumentDB 복제의 제한
<a name="db-cloning-limitations"></a>

Amazon DocumentDB 복제는 다음과 같은 제한 사항이 있습니다.
+  AWS 리전에서 허용하는 최대 DB 클러스터 개수까지 원하는 만큼 복제본을 생성할 수 있습니다. 그러나 15개의 복제본을 생성한 후에는 다음 복제가 전체 복제본이 됩니다. 시점 복구와 같은 복제 작업이 수행됩니다.
+ 소스 Amazon DocumentDB 클러스터와 다른 AWS 리전에서는 복제본을 생성할 수 없습니다.
+ DB 인스턴스가 없는 Amazon DocumentDB 클러스터에서 복제본을 생성할 수 없습니다. 하나 이상의 DB 인스턴스가 있는 Amazon DocumentDB 클러스터만 복제할 수 있습니다.
+ 복제본을 Amazon DocumentDB 클러스터의 가상 프라이빗 클라우드(VPC)와 다른 가상 프라이빗 클라우드(VPC)에 생성할 수 있습니다. 이렇게 하면 VPC의 서브넷을 동일한 가용 영역에 매핑해야 합니다.

## Amazon DocumentDB 복제의 작동 방식
<a name="db-how-db-cloning-works"></a>

Amazon DocumentDB 복제는 Amazon DocumentDB 클러스터의 스토리지 계층에서 작동합니다. 이는 Amazon DocumentDB 스토리지 볼륨을 지원하는 기본 내구 미디어 측면에서 빠르고 공간 효율적인 *기록 중 복사(copy-on-write)* 프로토콜을 사용합니다. Amazon DocumentDB 클러스터 볼륨에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 관리](db-clusters.md)에서 확인할 수 있습니다.

**Topics**
+ [기록 중 복사(copy-on-write) 이해](#db-copy-on-write-protocol)
+ [원본 클러스터 볼륨 삭제](#db-deleting-source-cluster-volume)

### 기록 중 복사(copy-on-write) 이해
<a name="db-copy-on-write-protocol"></a>

Amazon DocumentDB 클러스터는 기본 Amazon DocumentDB 스토리지 볼륨의 페이지에 데이터를 저장합니다.

예를 들어, 다음 다이어그램에서 데이터 페이지(1, 2, 3, 4)가 네 개인 Amazon DocumentDB 클러스터(A)를 찾을 수 있습니다. 복제본 B가 Amazon DocumentDB 클러스터에서 생성된다고 가정해 보겠습니다. 복제본이 생성되면 데이터가 복사되지 않습니다. 대신 복제본은 소스 Amazon DocumentDB 클러스터와 동일한 페이지 집합을 가리킵니다.

![\[소스 클러스터 A 및 복제본 B에 대해 4개의 페이지가 포함된 Amazon DocumentDB 클러스터 볼륨\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-1.png)


복제본이 생성되면 일반적으로 추가 스토리지가 필요하지 않습니다. 기록 중 복사(copy-on-write) 프로토콜은 물리적 스토리지 미디어에서 소스 세그먼트와 동일한 세그먼트를 사용합니다. 소스 세그먼트의 용량이 전체 복제본 세그먼트에 충분하지 않은 경우에만 추가 스토리지가 필요합니다. 이 경우 소스 세그먼트는 다른 물리적 디바이스로 복사됩니다.

다음 다이어그램에서는 앞에서와 같이 동일한 클러스터 A와 해당 복제본 B를 사용하여 작동하는 기록 중 복사(copy-on-write) 프로토콜의 예를 찾을 수 있습니다. Amazon DocumentDB 클러스터(A)를 변경하여 페이지 1에 보관된 데이터가 변경된다고 가정해 보겠습니다. Amazon DocumentDB는 원본 페이지 1에 기록하는 대신 새 페이지 1[A]을 생성합니다. 클러스터(A)에 대한 Amazon DocumentDB 클러스터 볼륨은 이제 페이지 1[A], 2, 3, 4를 가리키고 복제본(B)은 여전히 원본 페이지를 참조합니다.

![\[Amazon DocumentDB 소스 DB 클러스터 볼륨과 해당 복제본 모두 변경 사항이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-2.png)


복제본에서 스토리지 볼륨의 페이지 4가 변경됩니다. Amazon DocumentDB는 원본 페이지 4에 기록하는 대신 새 페이지 4[B]를 생성합니다. 이제 복제본은 페이지 1, 2, 3 및 페이지 4[B]를 가리키고 클러스터(A)는 계속해서 1[A], 2, 3 및 4를 가리킵니다.

![\[Amazon DocumentDB 소스 DB 클러스터 볼륨과 해당 복제본 모두 변경 사항이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-3.png)


시간이 경과하여 소스 Amazon DocumentDB 클러스터 볼륨과 복제본 모두가 변경될 경우 변경 사항을 캡처하고 저장하기 위해 점점 더 많은 스토리지가 필요합니다.

### 원본 클러스터 볼륨 삭제
<a name="db-deleting-source-cluster-volume"></a>

하나 이상의 복제본이 연결된 소스 클러스터 볼륨을 삭제해도 복제본은 영향을 받지 않습니다. 복제본은 이전에 원본 클러스터 볼륨이 소유하던 페이지를 계속 가리킵니다.

## Amazon DocumentDB 복제본 생성
<a name="db-creating-db-clone"></a>

소스 Amazon DocumentDB 클러스터와 동일한 AWS 계정에 복제본을 생성할 수 있습니다. 이렇게 하려면 AWS Management Console 또는 AWS CLI 및 다음 절차를 사용할 수 있습니다.

Amazon DocumentDB 복제를 사용하면 프로비저닝된 Amazon DocumentDB 클러스터에서 프로비저닝된 Amazon DocumentDB 클러스터 복제본을 생성할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는 AWS Management Console을 사용하여 Amazon DocumentDB 클러스터를 복제하는 방법에 대해 설명합니다.

Amazon DocumentDB 인스턴스 하나가 있는 Amazon DocumentDB 클러스터에서 AWS Management Console 결과를 사용하여 복제본을 생성합니다.

 이 지침은 복제본을 생성하는 계정과 동일한 AWS 계정이 소유한 DB 클러스터에 적용됩니다. DB 클러스터는 Amazon DocumentDB에서 교차 AWS 계정 복제가 지원되지 않으므로 동일한 계정이 소유해야 합니다.

**를 사용하여 AWS 계정이 소유한 DB 클러스터의 복제본을 생성하려면 AWS Management Console**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 목록에서 Amazon DocumentDB 클러스터를 선택하고 **작업**에서 **복제본 생성**을 선택합니다.  
![\[Amazon DocumentDB 클러스터를 선택하여 복제본 생성을 시작합니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-create-clone-1.png)

   **클러스터 식별자**, **인스턴스 클래스**, 그리고 Amazon DocumentDB 클러스터 복제본에 대한 기타 옵션을 구성할 수 있는 복제본 생성 페이지가 열립니다.

1. **설정** 섹션에서 다음을 수행합니다.

   1. **클러스터 식별자**에 복제된 Amazon DocumentDB 클러스터에 부여할 이름을 입력합니다.

   1. **인스턴스 구성**의 경우 복제된 Amazon DocumentDB 클러스터에 적합한 **인스턴스 클래스**를 선택합니다.  
![\[복제본 생성은 Amazon DocumentDB 클러스터를 선택하고 DB 인스턴스 크기를 지정하는 것으로 시작됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-create-clone-2.png)

   1.  **네트워크 설정**에서 사용 사례에 맞는 **서브넷 그룹**과 관련 VPC 보안 그룹을 선택합니다.

   1.  **저장 시 암호화**의 경우 소스 클러스터(복제 중인 클러스터) 에 암호화가 활성화되어 있는 경우 복제된 클러스터에도 암호화가 활성화되어 있어야 합니다. 이 시나리오가 사실인 경우 **암호화 사용** 옵션은 회색으로 표시(사용 안 함)되지만 **암호화 사용** 옵션은 선택됩니다. 반대로 소스 클러스터에 암호화가 활성화되어 있지 않은 경우 **암호화 활성화** 옵션을 사용할 수 있으며 암호화를 활성화하거나 비활성화하도록 선택할 수 있습니다.  
![\[Amazon DocumentDB 클러스터 복제본에 대한 네트워크 및 암호화 설정을 지정합니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-create-clone-3-nw-encryption.png)

   1. 내보낼 로그 유형(선택 사항)을 선택하고, 클러스터에 연결하는 데 사용되는 특정 포트를 입력하고, 클러스터를 실수로 삭제하지 않도록 보호(기본적으로 활성화됨)하여 새 클러스터 복제본 구성을 완료합니다.  
![\[내보낼 로그 유형, 클러스터에 연결하는 데 사용되는 특정 포트, 실수로 클러스터를 삭제하는 경우 보호 양식 등을 선택적으로 선택하여 새 복제 구성을 완료합니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cloning-create-clone-4-log-options-del-prot-b.png)

   1. Amazon DocumentDB 클러스터 복제본에 대한 모든 설정을 입력합니다. Amazon DocumentDB 클러스터 및 인스턴스 설정에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 관리](db-clusters.md) 섹션에서 참조하세요.

1. **복제본 생성**을 선택하여 선택한 Amazon DocumentDB 클러스터의 Amazon DocumentDB 복제본을 시작합니다.

복제본이 생성되면 복제본은 콘솔의 **데이터베이스** 섹션에 다른 Amazon DocumentDB 클러스터와 함께 나열되고 현재 상태가 표시됩니다. 상태가 **사용 가능**이면 복제본을 사용할 준비가 된 것입니다.

------
#### [ Using the AWS CLI ]

 AWS CLI 를 사용하여 Amazon DocumentDB 클러스터를 복제하려면 몇 가지 단계가 필요합니다.

사용하는 `restore-db-cluster-to-point-in-time` AWS CLI 명령은 Amazon DocumentDB 인스턴스가 0개인 빈 Amazon DocumentDB 클러스터를 생성합니다. 즉, 명령은 Amazon DocumentDB 클러스터만 복원하고, 해당 클러스터의 DB 인스턴스는 복원하지 않습니다. 복제본이 사용 가능한 후에 별도로 이 작업을 수행합니다. 프로세스의 두 단계는 다음과 같습니다.

1. [restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) CLI 명령을 사용하여 복제본을 생성합니다. 이 명령과 함께 사용하는 파라미터는 생성 중인 빈 Amazon DocumentDB 클러스터(복제본)의 용량 유형 및 기타 세부 정보를 제어합니다.

1. [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI 명령을 사용하여 복제본에 대한 Amazon DocumentDB 인스턴스를 생성하여 복원된 Amazon DocumentDB 클러스터에서 Amazon DocumentDB 인스턴스를 다시 생성합니다.

다음 명령은 AWS CLI 가 AWS 리전을 기본값으로 설정한다고 가정합니다. 이 방식을 사용하면 각 명령에서 `--region` 이름을 전달하지 않아도 됩니다. 자세한 내용은 [AWS CLI구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 섹션을 참조하세요. 다음 각 CLI 명령에서 `--region`을 지정할 수도 있습니다.

**Topics**

**복제본 생성**

`[restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html)` CLI 명령으로 전달하는 특정 파라미터는 다양합니다. 전달하는 항목은 생성하려는 복제본 유형에 따라 다릅니다.

다음 절차를 사용하여 프로비저닝된 Amazon DocumentDB 클러스터에서 프로비저닝된 Amazon DocumentDB 복제본을 생성할 수 있습니다.

**소스 Amazon DocumentDB 클러스터와 동일한 엔진 모드의 복제본을 생성하려면**
+ `[restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html)` CLI 명령을 사용하여 다음 파라미터에 대한 값을 지정합니다.
  + `--db-cluster-identifier` - 복제본에 대해 의미 있는 이름을 선택합니다. 복제본의 이름을 지정할 때 [restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) CLI 명령을 사용합니다.
  + `--restore-type` – `copy-on-write`을(를) 사용하여 소스 DB 클러스터의 복제본을 생성합니다. 이 파라미터가 없으면 `restore-db-cluster-to-point-in-time`은 복제본을 생성하는 대신 Amazon DocumentDB 클러스터를 복원합니다. `restore-type` 기본값은 `full-copy`입니다.
  + `--source-db-cluster-identifier` - 복제할 소스 Amazon DocumentDB 클러스터의 이름을 사용합니다.
  + `--use-latest-restorable-time` - 이 값은 복제본에 대해 복원 가능한 최신 볼륨 데이터를 가리킵니다. 이 매개변수는 필수 `restore-type copy-on-write` 매개변수이지만 `restore-to-time parameter`를 함께 사용할 수는 없습니다.

다음 예제에서는 `my-source-cluster`라는 이름의 클러스터에서 `my-clone`라는 이름의 복제본을 생성합니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb restore-db-cluster-to-point-in-time \
    --source-db-cluster-identifier my-source-cluster \
    --db-cluster-identifier my-clone \
    --restore-type copy-on-write \
    --use-latest-restorable-time
```

Windows의 경우:

```
aws docdb restore-db-cluster-to-point-in-time ^
    --source-db-cluster-identifier my-source-cluster ^
    --db-cluster-identifier my-clone ^
    --restore-type copy-on-write ^
    --use-latest-restorable-time
```

이 명령은 복제본의 세부 사항을 포함하는 JSON 객체를 반환합니다. 복제본에 대한 DB 인스턴스를 생성하기 전에 복제된 DB 클러스터를 사용할 수 있는지 확인합니다. 자세한 내용은 아래의 상태 확인 및 복제본 세부 정보 가져오기를 참조하세요.

**상태 확인 및 복제본 세부 정보 가져오기**

다음 명령을 사용하여 새로 생성된 빈 DB 클러스터의 상태를 확인할 수 있습니다.

```
$ aws docdb describe-db-clusters --db-cluster-identifier my-clone --query '*[].[Status]' --output text
```

또는 다음 AWS CLI 쿼리를 사용하여 복제본의 DB 인스턴스를 생성하는 데 필요한 상태 및 기타 값을 얻을 수 있습니다.

Linux, macOS, Unix의 경우:

```
aws docdb describe-db-clusters --db-cluster-identifier my-clone \
  --query '*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion}'
```

Windows의 경우:

```
aws docdb describe-db-clusters --db-cluster-identifier my-clone ^
  --query "*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion}"
```

이 쿼리는 다음과 비슷한 출력을 반환합니다.

```
[
  {
        "Status": "available",
        "Engine": "docdb",
        "EngineVersion": "4.0.0",
    }
]
```

**복제본을 위한 Amazon DocumentDB 인스턴스 생성**

[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI 명령을 사용하여 복제본에 대한 DB 인스턴스를 생성하세요.

`--db-instance-class` 파라미터는 프로비저닝된 Amazon DocumentDB 클러스터에만 사용됩니다.

Linux, macOS, Unix의 경우:

```
aws docdb create-db-instance \
    --db-instance-identifier my-new-db \
    --db-cluster-identifier my-clone \
    --db-instance-class  db.r5.4xlarge \
    --engine docdb
```

Windows의 경우:

```
aws docdb create-db-instance ^
    --db-instance-identifier my-new-db ^
    --db-cluster-identifier my-clone ^
    --db-instance-class  db.r5.4xlarge ^
    --engine docdb
```

**복제본에 사용할 파라미터**

다음 표에는 `restore-db-cluster-to-point-in-time`에서 Amazon DocumentDB 클러스터를 복제하는 데 사용되는 다양한 파라미터가 요약되어 있습니다.


| 파라미터 | 설명 | 
| --- | --- | 
|  ---source-db-cluster-identifier | 복제할 소스 Amazon DocumentDB 클러스터의 이름을 사용합니다. | 
|  --db-cluster-identifier | 복제본에 대해 의미 있는 이름을 선택합니다. ` restore-db-cluster-to-point-in-time` 명령으로 복제본의 이름을 지정합니다. 그런 다음 이 이름을 `create-db-instance` 명령으로 전달합니다. | 
|  --restore-type | `copy-on-write`를 `--restore-type`로 지정하여 소스 Amazon DocumentDB 클러스터를 복원하는 대신 소스 DB 클러스터의 복제본을 생성합니다. | 
|  --use-latest-restorable-time | 이 값은 복제본에 대해 복원 가능한 최신 볼륨 데이터를 가리킵니다. | 

------

# Amazon DocumentDB 클러스터 내결함성에 대한 이해
<a name="db-cluster-fault-tolerance"></a>

Amazon DocumentDB 클러스터는 내결함성을 고려하여 설계되었습니다. 각 클러스터의 볼륨은 단일의 여러 가용 영역에 걸쳐 있으며 AWS 리전각 가용 영역에는 클러스터의 볼륨 데이터 사본이 포함됩니다. 이 기능은 가용 영역 한 곳에서 결함이 발생하더라도 클러스터가 잠시 서비스가 중단될 뿐 전혀 데이터 손실 없이 결함을 견딜 수 있음을 의미합니다.

클러스터의 기본 인스턴스에 결함이 발생하면 Amazon DocumentDB가 다음 두 가지 방법 중 하나를 사용하여 자동으로 새 기본 인스턴스로 장애 조치를 수행합니다.
+ 기존 Amazon DocumentDB 복제본을 각 복제본의 프로모션 티어 설정에 따라 선택된 새 기본 인스턴스로 승격한 다음 이전 기본 인스턴스의 대체 인스턴스를 생성합니다. 복제본 인스턴스로의 페일오버는 보통 30초도 걸리지 않습니다. 이 기간 동안에는 읽기 및 쓰기 작업이 잠시 중단될 수 있습니다. 클러스터의 가용성을 높이려면 최소 하나 이상의 Amazon DocumentDB 복제본을 둘 이상의 서로 다른 가용 영역에서 생성하는 것이 좋습니다.
+ 새로운 기본 인스턴스를 생성합니다. 이는 클러스터에 복제 인스턴스가 없는 경우에만 발생하며 완료하는 데 몇 분 정도 걸릴 수 있습니다.

클러스터에 Amazon DocumentDB 복제본이 하나 이상인 경우에는 장애가 발생하더라도 Amazon DocumentDB 복제본이 기본 인스턴스로 승격됩니다. 이 실패 이벤트로 인해 예외적으로 실패하는 읽기 및 쓰기 작업 동안 짧은 중단이 발생합니다. 하지만, 일반적인 서비스 복구 시간은 120초 미만이지만 대부분 60초 미만에 복원됩니다. 클러스터의 가용성을 높이려면 최소 하나 이상의 Amazon DocumentDB 복제본을 둘 이상의 서로 다른 가용 영역에서 생성하는 것이 좋습니다.

각 복제본에 우선 순위를 지정하여 장애 이후 기본 인스턴스로 승격할 Amazon DocumentDB 복제본 순서를 사용자 지정할 수 있습니다. 우선 순위 범위는 가장 높은 값인 0부터 가장 낮은 값인 15까지입니다. 기본 인스턴스에 결함이 발생하면 우선 순위가 가장 높은 Amazon DocumentDB 복제본을 새로운 기본 인스턴스로 승격시킵니다. Amazon DocumentDB 복제본의 우선 순위는 언제든지 수정할 수 있습니다. 우선 순위 수정으로 인해 장애 조치가 트리거되지는 않습니다. `modify-db-instance` 연산을 `--promotion-tier` 파라미터와 함께 사용할 수 있습니다. 인스턴스의 장애 조치 우선 순위를 사용자 지정하는 방법에 대한 자세한 내용은 [Amazon DocumentDB 장애 조치](failover.md) 섹션을 참조하세요.

둘 이상의 Amazon DocumentDB 복제본이 동일한 우선 순위를 공유하여 승격 계층을 만들 수도 있습니다. 둘 이상의 Amazon DocumentDB 복제본이 동일한 우선 순위를 공유하면 크기가 가장 큰 복제본이 기본 복제본으로 승격됩니다. 둘 이상의 Amazon DocumentDB 복제본이 동일한 우선 순위와 크기를 공유하면 동일한 승격 티어에서 임의의 복제본이 승격됩니다.

클러스터에 Amazon DocumentDB 복제본이 포함되어 있지 않으면 기본 인스턴스가 실패 이벤트 중에 다시 생성됩니다. 이 실패 이벤트로 인해 예외적으로 실패하는 읽기 및 쓰기 작업 동안 중단이 발생합니다. 새로운 기본 인스턴스가 생성도면 서비스도 복구되지만 보통 10분 미만의 시간이 걸립니다. Amazon DocumentDB 복제본을 기본 인스턴스로 승격시키는 것이 기본 인스턴스를 새로 생성하는 것보다 훨씬 빠릅니다.

# Amazon DocumentDB 인스턴스 관리
<a name="db-instances"></a>

다음 항목에서는 Amazon DocumentDB 인스턴스를 관리하는 데 도움이 되는 정보를 제공합니다. 인스턴스 클래스 및 상태, 인스턴스를 생성, 삭제, 수정하는 방법에 대한 세부 정보가 포함됩니다.

**Topics**
+ [인스턴스 상태 확인](#db-instance-status)
+ [인스턴스 수명 주기](db-instance-life-cycle.md)
+ [인스턴스 클래스 관리](db-instance-classes.md)
+ [NVMe 지원 인스턴스](db-instance-nvme.md)

## 인스턴스 상태 확인
<a name="db-instance-status"></a>

유효한 인스턴스 상태, 해당 의미, 인스턴스 상태 확인 방법을 알아보려면 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 섹션을 참조하세요.

# Amazon DocumentDB 인스턴스 수명 주기
<a name="db-instance-life-cycle"></a>

Amazon DocumentDB 인스턴스의 수명 주기에는 인스턴스 생성, 수정, 유지 및 업그레이드, 백업 및 복원 수행, 재부팅 및 삭제가 포함됩니다. 이 섹션에서는 이러한 프로세스를 완료하는 방법에 관해 설명합니다.

**Topics**
+ [인스턴스 추가](db-instance-add.md)
+ [인스턴스 설명](db-instance-view-details.md)
+ [인스턴스 수정](db-instance-modify.md)
+ [인스턴스 재부팅](db-instance-reboot.md)
+ [인스턴스 삭제](db-instance-delete.md)

 AWS Management Console 또는를 사용하여 새 Amazon DocumentDB 인스턴스를 생성할 수 있습니다 AWS CLI. 인스턴스를 클러스터에 추가하려면 클러스터가 *사용 가능* 상태에 있어야 합니다. 중지된 클러스터에는 인스턴스를 추가할 수 없습니다. 클러스터가 중지된 경우, 먼저 클러스터를 시작하고 클러스터가 *사용 가능*하게 될 때까지 기다린 다음 인스턴스를 추가합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 중지 및 시작](db-cluster-stop-start.md) 섹션을 참조하십시오.

**참고**  
콘솔을 사용하여 Amazon DocumentDB 클러스터를 작성하면 인스턴스가 동시에 자동으로 생성됩니다. 추가 인스턴스를 생성하려면 다음 절차 중 하나를 사용하세요.

# 클러스터에 Amazon DocumentDB 인스턴스 추가
<a name="db-instance-add"></a>

------
#### [ Using the AWS Management Console ]

다음 절차에 따라 콘솔을 사용하여 클러스터에 대한 Amazon DocumentDB 인스턴스를 생성할 수 있습니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 인스턴스를 추가할 클러스터를 선택하려면 클러스터의 이름 왼쪽에 있는 버튼을 선택합니다.

1. **작업**을 선택한 다음 **인스턴스 추가**를 선택합니다.

1. **다음 항목에 인스턴스 추가: <cluster-name>** 페이지에서 클러스터에 추가하려는 각 인스턴스에 대해 다음 단계를 반복 실행합니다. 최대 15개까지 가능합니다.

   1. **인스턴스 식별자** - 이 인스턴스의 고유 식별자를 입력하거나 Amazon DocumentDB가 클러스터 식별자를 기반으로 인스턴스 식별자를 제공하도록 허용할 수 있습니다.

      인스턴스 명명 제약 조건:
      + 길이는 [1-63] 문자, 숫자 또는 하이픈입니다.
      + 첫 번째 문자는 글자이어야 합니다.
      + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.
      + 리전별로 Amazon RDS, Neptune 및 Amazon DocumentDB의 모든 인스턴스 AWS 계정에 대해 고유해야 합니다.

   1. **인스턴스 클래스** - 드롭다운 목록에서 이 인스턴스에 대해 원하는 인스턴스 유형을 선택합니다.

   1. **승격 계층** - 드롭다운 목록에서 인스턴스의 승격 계층을 선택하거나 *선호 없음*을 선택하여 Amazon DocumentDB가 인스턴스의 승격 계층을 설정할 수 있도록 합니다. 번호가 낮을수록 우선 순위가 높습니다. 자세한 내용은 [장애 조치 대상 제어](failover.md#failover-target_control) 섹션을 참조하십시오.

   1. 더 많은 인스턴스를 추가하려면 **추가 인스턴스 추가**를 선택하고 a, b, c 단계를 반복합니다.

1. 작업을 완료합니다.
   + 클러스터에 인스턴스를 추가하려면 **생성**을 선택합니다.
   + 작업을 취소하려면 **취소**를 선택합니다.

인스턴스를 생성하는 데 몇 분 정도 걸립니다. 콘솔 또는 AWS CLI 를 사용하여 인스턴스의 상태를 볼 수 있습니다. 자세한 내용은 [인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------
#### [ Using the AWS CLI ]

다음 파라미터와 함께 `create-db-instance` AWS CLI 작업을 사용하여 클러스터의 기본 인스턴스를 생성합니다.
+ **--db-instance-class** - 필수입니다. 인스턴스의 컴퓨팅 및 메모리 용량(예: `db.m4.large`)입니다. 모든 AWS 리전에서 모든 인스턴스 클래스를 사용할 수 있는 것은 아닙니다.
+ **--db-instance-identifier** - 필수입니다. 인스턴스를 식별하는 문자열입니다.

  인스턴스 명명 제약:
  + 길이는 [1-63] 문자, 숫자 또는 하이픈입니다.
  + 첫 번째 문자는 글자이어야 합니다.
  + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.
  + 리전별로 Amazon RDS, Neptune 및 Amazon DocumentDB의 모든 인스턴스 AWS 계정에 대해 고유해야 합니다.
+ **--engine** — 필수입니다. `docdb`여야 합니다.
+ **--availability-zone** - 선택 사항. 이 인스턴스를 생성할 가용 영역입니다. 다른 가용 영역에서 인스턴스를 찾아서 내결함성을 높이려면 이 파라미터를 사용합니다. 자세한 내용은 [Amazon DocumentDB 고가용성 및 복제](replication.md) 섹션을 참조하십시오.
+ **--promotion-tier** - 선택 사항. 이 인스턴스의 장애 조치 우선 순위 계층입니다. 0\$115 사이여야 하며, 숫자가 작을수록 우선 순위가 높습니다. 자세한 내용은 [장애 조치 대상 제어](failover.md#failover-target_control) 섹션을 참조하십시오.

1. **먼저 인스턴스를 생성할 수 있는 가용 영역을 결정합니다.**

   인스턴스를 생성하기 전에 사용 가능 영역을 지정하려면 다음 명령을 실행하여 Amazon DocumentDB 클러스터에 사용할 수 있는 가능 영역을 결정합니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-db-clusters \
          --query 'DBClusters[*].[DBClusterIdentifier,AvailabilityZones[*]]'
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-clusters ^
          --query 'DBClusters[*].[DBClusterIdentifier,AvailabilityZones[*]]'
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   [
       [
           "sample-cluster",
           [
               "us-east-1c",
               "us-east-1b",
               "us-east-1a"
           ]
       ]
   ]
   ```

1. **둘째, 리전에서 생성할 수 있는 인스턴스 클래스를 확인합니다.**

   리전에서 사용 가능한 인스턴스 클래스를 확인하려면 다음 명령을 실행합니다. 출력에서 Amazon DocumentDB 클러스터에 추가할 인스턴스의 인스턴스 클래스를 선택합니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-orderable-db-instance-options \
           --engine docdb \
           --query 'OrderableDBInstanceOptions[*].DBInstanceClass'
   ```

   Windows의 경우:

   ```
   aws docdb describe-orderable-db-instance-options ^
           --engine docdb ^
           --query 'OrderableDBInstanceOptions[*].DBInstanceClass'
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   [
       "db.r5.16xlarge",
       "db.r5.2xlarge",
       "db.r5.4xlarge",
       "db.r5.8xlarge",
       "db.r5.large",
       "db.r5.xlarge"
   ]
   ```

1. **마지막으로, Amazon DocumentDB 클러스터에 인스턴스를 추가합니다.**

   인스턴스를 Amazon DocumentDB 클러스터에 추가하려면 다음 명령을 실행합니다..

   Linux, macOS, Unix의 경우:

   ```
   aws docdb create-db-instance \
          --db-cluster-identifier sample-cluster \
          --db-instance-identifier sample-instance-2 \
          --availability-zone us-east-1b \
          --promotion-tier 2 \
          --db-instance-class db.r5.xlarge \
          --engine docdb
   ```

   Windows의 경우:

   ```
   aws docdb create-db-instance ^
          --db-cluster-identifier sample-cluster ^
          --db-instance-identifier sample-instance-2 ^
          --availability-zone us-east-1b ^
          --promotion-tier 2 ^
          --db-instance-class db.r5.xlarge ^
          --engine docdb
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   {
       "DBInstance": {
           "DBInstanceIdentifier": "sample-instance-2",
           "DBInstanceClass": "db.r5.xlarge",
           "Engine": "docdb",
           "DBInstanceStatus": "creating",
           "PreferredBackupWindow": "02:00-02:30",
           "BackupRetentionPeriod": 1,
           "VpcSecurityGroups": [
               {
                   "VpcSecurityGroupId": "sg-abcd0123",
                   "Status": "active"
               }
           ],
           "AvailabilityZone": "us-east-1b",
           "DBSubnetGroup": {
               "DBSubnetGroupName": "default",
               "DBSubnetGroupDescription": "default",
               "VpcId": "vpc-6242c31a",
               "SubnetGroupStatus": "Complete",
               "Subnets": [
                   {
                       "SubnetIdentifier": "subnet-abcd0123",
                       "SubnetAvailabilityZone": {
                           "Name": "us-west-2a"
                       },
                       "SubnetStatus": "Active"
                   },
                   {
                       "SubnetIdentifier": "subnet-wxyz0123",
                       "SubnetAvailabilityZone": {
                           "Name": "us-west-2b"
                       },
                       "SubnetStatus": "Active"
                   }
               ]
           },
           "PreferredMaintenanceWindow": "sun:11:35-sun:12:05",
           "PendingModifiedValues": {},
           "EngineVersion": "3.6.0",
           "AutoMinorVersionUpgrade": true,
           "PubliclyAccessible": false,
           "DBClusterIdentifier": "sample-cluster",
           "StorageEncrypted": true,
           "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
           "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
           "CACertificateIdentifier": "rds-ca-2019",
           "PromotionTier": 2,
           "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-instance-2"
       }
   }
   ```

인스턴스를 생성하는 데 몇 분 정도 걸립니다. 콘솔 또는 AWS CLI 를 사용하여 인스턴스의 상태를 볼 수 있습니다. 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------

# Amazon DocumentDB 인스턴스 설명
<a name="db-instance-view-details"></a>

Amazon DocumentDB Management Console 또는 AWS CLI 을 사용하여 연결 엔드포인트, 보안 그룹 VPC, 인증 기관 및 Amazon DocumentDB 인스턴스와 관련된 매개 변수 그룹과 같은 세부 정보를 볼 수 있습니다.

------
#### [ Using the AWS Management Console ]

 AWS Management Console를 사용하여 인스턴스의 세부 정보를 보려면 아래 단계를 따르세요.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[클러스터 식별자 열 아래에 인스턴스가 클러스터 내에 중첩된 클러스터 목록을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 인스턴스 목록에서 세부 정보를 볼 인스턴스의 이름을 선택합니다. 인스턴스에 대한 정보는 다음과 같은 그룹으로 구성됩니다.
   + **요약** - 엔진 버전, 클래스, 상태 및 보류 중인 유지 보수를 포함한 인스턴스에 대한 일반 정보입니다.
   + **연결 및 보안** - **연결** 섹션에는 mongo 쉘 또는 애플리케이션을 사용하여 이 인스턴스에 연결할 연결 엔드포인트가 나열됩니다. **보안 그룹** 섹션에는 이 인스턴스와 연결된 보안 그룹과 해당 VPC ID 및 설명이 나열됩니다.
   + **구성** - **세부 정보** 섹션에는 인스턴스의 Amazon 리소스 이름(ARN), 엔드포인트, 역할, 클래스 및 인증 기관을 포함하여 인스턴스의 구성 및 상태가 나열됩니다. 또한 인스턴스의 보안 및 네트워크 설정과 백업 정보가 나열됩니다. **클러스터 세부 정보** 섹션에는 이 인스턴스가 속한 클러스터의 세부 정보가 나열됩니다. **클러스터 인스턴스** 섹션에는 클러스터에 속한 모든 인스턴스가 각 인스턴스의 역할 및 클러스터 파라미터 그룹 상태와 함께 나열됩니다.
**참고**  
**클러스터 디테일** 헤더 옆에 있는 **수정**을 선택하여 인스턴스와 연결된 클러스터를 수정할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 섹션을 참조하십시오.
   + **모니터링** - 이 인스턴스에 대한 CloudWatch Logs 지표. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하십시오.
   + **이벤트 및 태그** — **최근 이벤트** 섹션에는 이 인스턴스의 최근 이벤트가 나열됩니다. Amazon DocumentDB는 클러스터, 인스턴스, 스냅샷, 보안 그룹 및 클러스터 매개 변수 그룹과 관련된 이벤트를 기록합니다. 이 정보에는 각 이벤트와 연결된 날짜, 시간 및 메시지가 포함됩니다. **태그** 섹션에는 이 클러스터에 연결된 태그가 나열됩니다. 자세한 내용은 [Amazon DocumentDB 리소스 태그 지정](tagging.md) 단원을 참조하십시오.

------
#### [ Using the AWS CLI ]

를 사용하여 Amazon DocumentDB 인스턴스의 세부 정보를 보려면 아래 예제와 같이 `describe-db-clusters` 명령을 AWS CLI사용합니다. 자세한 내용은 *Amazon DocumentDB 리소스 관리 API 참조*에서 [https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DescribeDBInstances.html](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DescribeDBInstances.html) 섹션을 참조하세요.

**참고**  
클러스터 및 인스턴스 수명주기 관리와 같은 특정 관리 기능의 경우 Amazon DocumentDB는 Amazon RDS와 공유하는 운영 기술을 활용합니다. `filterName=engine,Values=docdb` 필터 파라미터는 Amazon DocumentDB 클러스터만 반환합니다.

1. **모든 Amazon DocumentDB 인스턴스를 나열합니다.**

   다음 AWS CLI 코드는 리전의 모든 Amazon DocumentDB 인스턴스에 대한 세부 정보를 나열합니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-db-instances \
       --filter Name=engine,Values=docdb
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-instances \
       --filter Name=engine,Values=docdb
   ```

1. **지정된 Amazon DocumentDB 인스턴스에 대한 모든 세부 정보 나열**

   다음 코드는 `sample-cluster-instance`의 세부 정보를 나열합니다. 인스턴스 이름과 함께 `--db-instance-identifier` 파라미터를 포함하면 해당 특정 인스턴스에 대한 정보로 출력이 제한됩니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-db-instances \
       --db-instance-identifier sample-cluster-instance
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-instances \
       --db-instance-identifier sample-cluster-instance
   ```

   이 작업의 출력은 다음과 같습니다.

   ```
   {
       "DBInstances": [
           {
               "DbiResourceId": "db-BJKKB54PIDV5QFKGVRX5T3S6GM",
               "DBInstanceArn": "arn:aws:rds:us-east-1:012345678901:db:sample-cluster-instance-00",
               "VpcSecurityGroups": [
                   {
                       "VpcSecurityGroupId": "sg-77186e0d",
                       "Status": "active"
                   }
               ],
               "DBInstanceClass": "db.r5.large",
               "DBInstanceStatus": "creating",
               "AutoMinorVersionUpgrade": true,
               "PreferredMaintenanceWindow": "fri:09:32-fri:10:02",
               "BackupRetentionPeriod": 1,
               "StorageEncrypted": true,
               "DBClusterIdentifier": "sample-cluster",
               "EngineVersion": "3.6.0",
               "AvailabilityZone": "us-east-1a",
               "Engine": "docdb",
               "PromotionTier": 2,
               "DBInstanceIdentifier": "sample-cluster-instance",
               "PreferredBackupWindow": "00:00-00:30",
               "PubliclyAccessible": false,
               "DBSubnetGroup": {
                   "DBSubnetGroupName": "default",
                   "Subnets": [
                       {
                           "SubnetIdentifier": "subnet-4e26d263",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1a"
                           },
                           "SubnetStatus": "Active"
                       },
                       {
                           "SubnetIdentifier": "subnet-afc329f4",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1c"
                           },
                           "SubnetStatus": "Active"
                       },
                       {
                           "SubnetIdentifier": "subnet-b3806e8f",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1e"
                           },
                           "SubnetStatus": "Active"
                       },
                       {
                           "SubnetIdentifier": "subnet-53ab3636",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1d"
                           },
                           "SubnetStatus": "Active"
                       },
                       {
                           "SubnetIdentifier": "subnet-991cb8d0",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1b"
                           },
                           "SubnetStatus": "Active"
                       },
                       {
                           "SubnetIdentifier": "subnet-29ab1025",
                           "SubnetAvailabilityZone": {
                               "Name": "us-east-1f"
                           },
                           "SubnetStatus": "Active"
                       }
                   ],
                   "VpcId": "vpc-91280df6",
                   "DBSubnetGroupDescription": "default",
                   "SubnetGroupStatus": "Complete"
               },
               "PendingModifiedValues": {},
               "KmsKeyId": "arn:aws:kms:us-east-1:012345678901:key/0961325d-a50b-44d4-b6a0-a177d5ff730b"
           }
       ]
   }
   ```

------

# Amazon DocumentDB 인스턴스 수정
<a name="db-instance-modify"></a>

 AWS Management Console 또는를 사용하여 Amazon DocumentDB 인스턴스를 수정할 수 있습니다 AWS CLI. 인스턴스를 수정하려면 인스턴스가 *사용 가능* 상태에 있어야 합니다. 중지된 인스턴스는 수정할 수 없습니다. 클러스터가 중지된 경우, 먼저 클러스터를 시작하고 인스턴스가 *사용 가능*하게 될 때까지 기다린 다음 원하는 대로 수정합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 중지 및 시작](db-cluster-stop-start.md) 섹션을 참조하십시오.

------
#### [ Using the AWS Management Console ]

콘솔을 사용하여 특정 Amazon DocumentDB 인스턴스를 수정하려면 다음 단계를 완료합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[클러스터 식별자 열 아래에 인스턴스가 클러스터 내에 중첩된 클러스터 목록을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 수정할 인스턴스의 왼쪽에 있는 상자를 선택합니다.

1. **작업**을 선택한 후 **수정**을 선택합니다.

1. **인스턴스 수정: <instance-name>** 창에서 원하는 항목을 변경합니다. 다음과 같이 변경할 수 있습니다:
   + **인스턴스 규격** - 인스턴스 식별자 및 클래스. 인스턴스 식별자 명명 제약 조건:
     + **인스턴스 식별자** - 현재 리전 AWS 계정 에서가 소유한 모든 인스턴스에 대해 고유한 이름을 입력합니다. 인스턴스 식별자는 [1-63]개의 영숫자 또는 하이픈을 포함해야 하며 첫 번째 문자로 문자가 있어야 하며 하이픈으로 끝나거나 연속적으로 두 개의 하이픈을 포함할 수 없습니다.
     + **인스턴스 클래스** — 드롭다운 메뉴에서 Amazon DocumentDB 인스턴스의 인스턴스 클래스를 선택합니다. 자세한 내용은 [인스턴스 클래스 관리](db-instance-classes.md) 섹션을 참조하십시오.
   + **인증서 권한** - 인스턴스의 서버 인증서입니다. 자세한 내용은 [Amazon DocumentDB TLS 인증서 업데이트](ca_cert_rotation.md) 섹션을 참조하십시오.
   + **장애 조치** - 장애 조치 중에 가장 높은 승격 계층을 가진 인스턴스가 기본으로 승격됩니다. 자세한 내용은 [Amazon DocumentDB 장애 조치](failover.md) 섹션을 참조하십시오.
   + **관리** - 보류 중인 수정 또는 패치가 클러스터의 인스턴스에 적용되는 유지 관리 창입니다.

1. 작업을 마쳤으면 **계속**을 선택하여 변경 사항의 요약을 확인합니다.

1. 변경 사항을 확인한 후 즉시 적용하거나 **수정 일정** 아래의 다음 유지 관리 기간 중에 적용할 수 있습니다. **인스턴스 수정**를 선택하여 변경 사항을 저장합니다. 또는 **취소**를 선택하여 변경 사항을 취소할 수 있습니다.

변경 사항을 적용하는 데 몇 분 정도 걸립니다. *사용 가능* 상태인 경우에만 인스턴스를 사용할 수 있습니다. 콘솔 또는 AWS CLI를 사용하여 인스턴스의 상태를 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------
#### [ Using the AWS CLI ]

를 사용하여 특정 Amazon DocumentDB 인스턴스를 수정하려면 다음 파라미터`modify-db-instance`와 함께를 AWS CLI사용합니다. 자세한 내용은 [ModifyDBInstance](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_ModifyDBInstance.html)을 참조하세요. 다음 코드는 `sample-instance` 인스턴스에 대한 인스턴스 클래스를 `db.r5.large`로 수정합니다.

**파라미터**
+ **--db-instance-identifier** - 필수입니다. 수정할 인스턴스의 식별자입니다.
+ **--db-instance-class** - 선택 사항. 인스턴스의 새 컴퓨팅 및 메모리 용량입니다(예: `db.r5.large`). 모든 AWS 리전에서 모든 인스턴스 클래스를 사용할 수 있는 것은 아닙니다. 인스턴스 클래스를 수정하면 변경 중에 중단이 발생합니다. 이 요청에 대해 `ApplyImmediately`이 true로 지정되지 않은 경우 다음 유지 관리 기간 동안 변경 사항이 적용됩니다.
+ **--apply-immediately** 또는 **--no-apply-immediately** - 선택 사항. 이 수정을 즉시 적용할지 다음 유지 관리 기간까지 대기할지 여부를 지정합니다. 이 파라미터를 생략하면 다음 유지 관리 기간 중에 수정이 수행됩니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb modify-db-instance \
       --db-instance-identifier sample-instance \
       --db-instance-class db.r5.large \
       --apply-immediately
```
Windows의 경우:  

```
aws docdb modify-db-instance ^
       --db-instance-identifier sample-instance ^
       --db-instance-class db.r5.large ^
       --apply-immediately
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBInstances": [
        {
            "DBInstanceIdentifier": "sample-instance-1",
            "DBInstanceClass": "db.r5.large",
            "Engine": "docdb",
            "DBInstanceStatus": "modifying",
            "Endpoint": {                     
                "Address": "sample-instance-1.node.us-east-1.docdb.amazonaws.com",
                "Port": 27017,   
                "HostedZoneId": "ABCDEFGHIJKLM"
            },
            "InstanceCreateTime": "2020-01-10T22:18:55.921Z",
            "PreferredBackupWindow": "02:00-02:30",
            "BackupRetentionPeriod": 1,
            "VpcSecurityGroups": [
                {                             
                    "VpcSecurityGroupId": "sg-abcd0123",
                    "Status": "active"
                }
            ],
            "AvailabilityZone": "us-east-1a",
            "DBSubnetGroup": {
                "DBSubnetGroupName": "default",
                "DBSubnetGroupDescription": "default",
                "VpcId": "vpc-abcd0123",
                "SubnetGroupStatus": "Complete",
                "Subnets": [
                    {
                        "SubnetIdentifier": "subnet-abcd0123",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1a"
                        },
                        "SubnetStatus": "Active"
                    },
                    {
                        "SubnetIdentifier": "subnet-abcd0123",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1b"
                        },
                        "SubnetStatus": "Active"
                    }
                ]
            },
            "PreferredMaintenanceWindow": "sun:10:57-sun:11:27",
            "PendingModifiedValues": {
                "DBInstanceClass": "db.r5.large"
            },
            "EngineVersion": "3.6.0",
            "AutoMinorVersionUpgrade": true,
            "PubliclyAccessible": false,
            "DBClusterIdentifier": "sample-cluster",
            "StorageEncrypted": true,
            "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
            "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
            "CACertificateIdentifier": "rds-ca-2019",
            "PromotionTier": 1,                     
            "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:sample-instance-1",
            "EnabledCloudwatchLogsExports": [
                "profiler"
            ]
        }
    ]
}
```

수정 사항을 적용하는 데 몇 분 정도 걸립니다. *사용 가능* 상태인 경우에만 인스턴스를 사용할 수 있습니다. AWS Management Console 또는를 사용하여 인스턴스의 상태를 모니터링할 수 있습니다 AWS CLI. 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------

# Amazon DocumentDB 인스턴스 재부팅
<a name="db-instance-reboot"></a>

보통 유지보수의 이유로 Amazon DocumentDB 인스턴스를 재부팅해야 하는 경우가 있습니다. 특정 항목을 변경한 경우(예: 클러스터와 연결된 클러스터 파라미터 그룹 변경) 클러스터의 인스턴스를 재부팅해야 변경 내용이 적용됩니다. AWS Management Console 또는를 사용하여 지정된 인스턴스를 재부팅할 수 있습니다 AWS CLI.

인스턴스를 재부팅하면 데이터베이스 엔진 서비스가 재시작됩니다. 재부팅하면 DB 인스턴스 상태가 `rebooting`으로 설정되면서 잠시 중단됩니다. 재부팅이 완료되면 Amazon DocumentDB 이벤트가 생성됩니다.

인스턴스를 재부팅해도 장애 조치가 발생하지 않습니다. Amazon DocumentDB 클러스터를 장애 조치하려면 AWS Management Console 또는 AWS CLI 작업을 사용합니다`failover-db-cluster`. 자세한 내용은 [Amazon DocumentDB 장애 조치](failover.md) 단원을 참조하십시오.

*사용 가능* 상태가 아닌 경우 인스턴스를 재부팅할 수 없습니다. 이전에 수정을 요청했거나 유지 관리 기간 작업 등 여러 가지 이유로 데이터베이스를 사용할 수 없는 경우가 있습니다. 인스턴스 상태에 대한 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 섹션을 참조하세요.

------
#### [ Using the AWS Management Console ]

다음 절차는 콘솔을 사용하여 지정한 인스턴스를 재부팅합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[클러스터 식별자 열 아래에 인스턴스가 클러스터 내에 중첩된 클러스터 목록을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 재부팅할 인스턴스의 왼쪽에 있는 확인란을 선택합니다.

1. **작업**을 선택하고 **재부팅**을 선택한 다음 **재부팅**을 선택하여 재부팅을 확인합니다.

인스턴스가 재부팅되는 데 몇 분 정도 걸릴 수 있습니다. *사용 가능* 상태인 경우에만 인스턴스를 사용할 수 있습니다. 콘솔 또는 AWS CLI를 사용하여 인스턴스의 상태를 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------
#### [ Using the AWS CLI ]

Amazon DocumentDB 인스턴스를 재부팅하려면 `--db-instance-identifier` 파라미터와 함께 `reboot-db-instance` 작업을 사용합니다. 이 파라미터는 재부팅할 인스턴스의 식별자를 지정합니다.

다음 코드는 `sample-instance` 인스턴스를 재부팅합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb reboot-db-instance \
       --db-instance-identifier sample-instance
```
Windows의 경우:  

```
aws docdb reboot-db-instance ^
       --db-instance-identifier sample-instance
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBInstance": {
        "DBInstanceIdentifier": "sample-instance",
        "DBInstanceClass": "db.r5.large",
        "Engine": "docdb",
        "DBInstanceStatus": "rebooting",
        "Endpoint": {
            "Address": "sample-instance.node.us-east-1.docdb.amazonaws.com",
            "Port": 27017,   
            "HostedZoneId": "ABCDEFGHIJKLM"
        },
        "InstanceCreateTime": "2020-03-27T08:05:56.314Z",
        "PreferredBackupWindow": "02:00-02:30",
        "BackupRetentionPeriod": 1,
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-abcd0123",
                "Status": "active"
            }
        ],
        "AvailabilityZone": "us-east-1c",
        "DBSubnetGroup": {
            "DBSubnetGroupName": "default",
            "DBSubnetGroupDescription": "default",
            "VpcId": "vpc-abcd0123",
            "SubnetGroupStatus": "Complete",
            "Subnets": [
                {
                    "SubnetIdentifier": "subnet-abcd0123",
                    "SubnetAvailabilityZone": {
                        "Name": "us-east-1a"
                    },
                    "SubnetStatus": "Active"
                },
                {
                    "SubnetIdentifier": "subnet-wxyz0123",
                    "SubnetAvailabilityZone": {
                        "Name": "us-east-1b"
                    },
                    "SubnetStatus": "Active"
                }
            ]
        },
        "PreferredMaintenanceWindow": "sun:06:53-sun:07:23",
        "PendingModifiedValues": {},
        "EngineVersion": "3.6.0",
        "AutoMinorVersionUpgrade": true,
        "PubliclyAccessible": false,
        "DBClusterIdentifier": "sample-cluster",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
        "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "CACertificateIdentifier": "rds-ca-2019",
        "PromotionTier": 1,
        "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-instance",
        "EnabledCloudwatchLogsExports": [
            "profiler"
        ]
    }
}
```

인스턴스가 재부팅되는 데 몇 분 정도 걸릴 수 있습니다. *사용 가능* 상태인 경우에만 인스턴스를 사용할 수 있습니다. 콘솔 또는 AWS CLI를 사용하여 인스턴스의 상태를 모니터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 단원을 참조하십시오.

------

# Amazon DocumentDB 인스턴스 삭제
<a name="db-instance-delete"></a>

 AWS Management Console 또는를 사용하여 Amazon DocumentDB 인스턴스를 삭제할 수 있습니다 AWS CLI. 인스턴스를 삭제하려면 인스턴스가 *사용 가능* 상태에 있어야 합니다. 중지된 인스턴스는 삭제할 수 없습니다. 인스턴스가 포함된 Amazon DocumentDB 클러스터가 중지된 경우 먼저 클러스터를 시작하고 인스턴스가 *사용 가능*해질 때까지 기다렸다가 인스턴스를 삭제합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 중지 및 시작](db-cluster-stop-start.md) 섹션을 참조하십시오.

**참고**  
Amazon DocumentDB에서는 모든 데이터를 클러스터 볼륨에 저장합니다. 모든 인스턴스를 클러스터에서 제거하는 경우에도 데이터가 클러스터 볼륨에 유지됩니다. 데이터에 다시 액세스해야 하는 경우 언제든지 클러스터에 인스턴스를 추가하고 중단한 지점을 선택할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는 콘솔을 사용하여 지정된 Amazon DocumentDB 인스턴스를 삭제합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[클러스터 식별자 열 아래에 인스턴스가 클러스터 내에 중첩된 클러스터 목록을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 삭제할 인스턴스의 왼쪽에 있는 확인란을 선택합니다.

1. **작업**을 선택한 후 **삭제**를 선택합니다.

   1. 클러스터의 마지막 인스턴스를 삭제하는 경우:
      + **최종 클러스터 스냅샷을 생성하시겠습니까?** — 클러스터를 삭제하기 전에 최종 스냅샷을 생성하려면 **예**를 선택합니다. 그렇지 않은 경우 **아니요**를 선택합니다.
      + **최종 스냅샷 이름** - 최종 스냅샷을 생성하도록 선택한 경우 생성된 새 클러스터 스냅샷의 클러스터 스냅샷 식별자를 입력합니다.
      + **<instance-name> 인스턴스를 삭제하시겠습니까?** — 삭제 확인을 위해 **전체 클러스터 삭제**라는 문구를 필드에 입력합니다.

   1. 클러스터의 마지막 인스턴스를 삭제하지 않는 경우:
      + **<instance-name> 인스턴스를 삭제하시겠습니까?** — **삭제** 라는 문구를 필드에 입력하여 삭제를 확인합니다.

1. **삭제**를 선택하여 인스턴스를 삭제합니다.

인스턴스를 삭제하는 데 몇 분 정도 걸립니다. 인스턴스 상태를 모니터링하려면 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 섹션을 참조하십시오.

------
#### [ Using the AWS CLI ]

다음 절차는 AWS CLI을 사용하여 Amazon DocumentDB 인스턴스를 삭제합니다.

1. **먼저 Amazon DocumentDB 클러스터에 몇 개의 인스턴스가 있는지 확인합니다:** 

   클러스터에 있는 인스턴스 수를 확인하려면 다음과 같이 `describe-db-clusters` 명령을 실행합니다.

   ```
   aws docdb describe-db-clusters \
       --db-cluster-identifier sample-cluster \
       --query 'DBClusters[*].[DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]'
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   [
       [
           "sample-cluster",
           [
               "sample-instance-1",
               "sample-instance-2"
           ]
       ]
   ]
   ```

1. **Amazon DocumentDB 클러스터에 인스턴스가 두 개 이상 있는 경우:**

   지정된 Amazon DocumentDB 인스턴스를 삭제하려면 아래와 같이 `delete-db-instance` 명령을 `--db-instance-identifier` 파라미터와 함께 사용합니다. 인스턴스를 삭제하는 데 몇 분 정도 걸립니다. 인스턴스 상태를 모니터링하려면 [Amazon DocumentDB 인스턴스 상태 모니터링](monitoring_docdb-instance_status.md) 섹션을 참조하십시오.

   ```
   aws docdb delete-db-instance \
          --db-instance-identifier sample-instance-2
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   {
       "DBInstance": {
           "DBInstanceIdentifier": "sample-instance-2",
           "DBInstanceClass": "db.r5.large",
           "Engine": "docdb",
           "DBInstanceStatus": "deleting",
           "Endpoint": {
               "Address": "sample-instance-2.node.us-east-1.docdb.amazonaws.com",
               "Port": 27017,
               "HostedZoneId": "ABCDEFGHIJKLM"
           },
           "InstanceCreateTime": "2020-03-27T08:05:56.314Z",
           "PreferredBackupWindow": "02:00-02:30",
           "BackupRetentionPeriod": 1,
           "VpcSecurityGroups": [
               {
                   "VpcSecurityGroupId": "sg-abcd0123",
                   "Status": "active"
               }
           ],
           "AvailabilityZone": "us-east-1c",
           "DBSubnetGroup": {
               "DBSubnetGroupName": "default",
               "DBSubnetGroupDescription": "default",
               "VpcId": "vpc-6242c31a",
               "SubnetGroupStatus": "Complete",
               "Subnets": [
                   {
                       "SubnetIdentifier": "subnet-abcd0123",
                       "SubnetAvailabilityZone": {
                           "Name": "us-east-1a"
                       },
                       "SubnetStatus": "Active"
                   },
                   {
                       "SubnetIdentifier": "subnet-wxyz0123",
                       "SubnetAvailabilityZone": {
                           "Name": "us-east-1b"
                       },
                       "SubnetStatus": "Active"
                   }
               ]
           },
           "PreferredMaintenanceWindow": "sun:06:53-sun:07:23",
           "PendingModifiedValues": {},
           "EngineVersion": "3.6.0",
           "AutoMinorVersionUpgrade": true,
           "PubliclyAccessible": false,
           "DBClusterIdentifier": "sample-cluster",
           "StorageEncrypted": true,
           "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
           "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
           "CACertificateIdentifier": "rds-ca-2019",
           "PromotionTier": 1,
           "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-instance-2",
           "EnabledCloudwatchLogsExports": [
               "profiler"
           ]
       }
   }
   ```

1. **삭제할 인스턴스가 Amazon DocumentDB 클러스터의 마지막 인스턴스인 경우:**

   Amazon DocumentDB 클러스터의 마지막 인스턴스를 삭제하는 경우 해당 클러스터와 해당 클러스터에 연결된 자동 스냅샷 및 연속 백업도 삭제합니다.

   클러스터의 마지막 인스턴스를 삭제하려면 클러스터를 삭제하고 선택적으로 최종 스냅샷을 생성할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md) 섹션을 참조하십시오.

------

## 삭제 방지
<a name="db-instance-delete-deletion-protection"></a>

또한 Amazon DocumentDB 클러스터의 마지막 인스턴스를 삭제하면 해당 클러스터와 관련된 자동 스냅샷 및 연속 백업뿐만 아니라 클러스터도 삭제됩니다. Amazon DocumentDB는 AWS Management Console 또는를 사용하여 삭제 작업을 수행하든 관계없이 클러스터에 대한 삭제 보호를 적용합니다 AWS CLI. 삭제 방지가 활성화되어 있으면 클러스터를 삭제할 수 없습니다.

삭제 방지가 활성화된 클러스터를 삭제하려면 먼저 클러스터를 수정하고 삭제 방지를 비활성화해야 합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md) 섹션을 참조하십시오.

# 인스턴스 클래스 관리
<a name="db-instance-classes"></a>

인스턴스 클래스는 Amazon DocumentDB(MongoDB 호환) 인스턴스의 컴퓨팅 및 메모리 용량을 결정합니다. 필요한 인스턴스 클래스는 DB 인스턴스의 처리력 및 메모리 요구 사항에 따라 다릅니다.

Amazon DocumentDB는 R4, R5, R6G, R8G, T3 및 T4G 인스턴스 클래스 제품군을 지원합니다. 이들 클래스는 메모리 집약적 애플리케이션에 최적화된 최신 세대 인스턴스 클래스입니다. 이들 클래스의 사양은 [인스턴스 클래스 사양](#db-instance-class-specs) 섹션을 참조하세요.

**Topics**
+ [인스턴스 클래스 결정](#db-instance-class-determining)
+ [인스턴스의 클래스 변경](#db-instance-class-changing)
+ [리전별 지원되는 인스턴스 클래스](#db-instance-classes-by-region)
+ [인스턴스 클래스 사양](#db-instance-class-specs)

## 인스턴스 클래스 결정
<a name="db-instance-class-determining"></a>

인스턴스의 클래스를 확인하려면 AWS Management Console 또는 `describe-db-instances` AWS CLI 작업을 사용할 수 있습니다.

------
#### [ Using the AWS Management Console ]

클러스터 인스턴스의 인스턴스 클래스를 결정하려면 콘솔에서 다음 단계를 완료하세요.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택하여 관심 있는 인스턴스를 찾습니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[인스턴스가 클러스터 아래에 중첩되는 방법을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 인스턴스 목록에서 클러스터를 확장하여 원하는 인스턴스를 찾으세요. 원하는 인스턴스를 찾습니다. 그런 다음 인스턴스 행의 **크기** 열을 확인하여 인스턴스 클래스를 확인합니다.

   다음 이미지에서는 인스턴스 `robo3t`의 인스턴스 클래스가 `db.r5.4xlarge`입니다.  
![\[인스턴스 유형을 보여주는 크기 열이 있는 클러스터 테이블의 인스턴스 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/instance-class.png)

------
#### [ Using the AWS CLI ]

를 사용하여 인스턴스의 클래스를 확인하려면 다음 파라미터와 함께 `describe-db-instances` 작업을 AWS CLI사용합니다.
+ **--db-instance-identifier** - 선택 사항입니다. 인스턴스 클래스를 찾을 인스턴스를 지정합니다. 이 매개 변수를 생략한 경우 `describe-db-instances`는 최대 100개의 인스턴스에 대한 설명을 반환합니다.
+ **--query** – 선택 사항. 결과에 포함할 인스턴스 멤버를 지정합니다. 이 매개 변수를 생략하면 모든 인스턴스 멤버가 반환됩니다.

**Example**  
다음 예에서는 모든 인스턴스에 대한 인스턴스 `sample-instance-1` 이름과 클래스를 찾습니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-instances \
    --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceClass]' \
    --db-instance-identifier sample-instance-1
```
Windows의 경우:  

```
aws docdb describe-db-instances ^
    --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceClass]' ^
    --db-instance-identifier sample-instance-1
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
[
    [
        "sample-instance-1",
        "db.r5.large"
    ]
```

**Example**  
다음 예에서는 최대 100개의 Amazon DocumentDB 인스턴스에 대한 인스턴스 이름과 클래스를 찾습니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-instances \
    --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceClass]' \
    --filter Name=engine,Values=docdb
```
Windows의 경우:  

```
aws docdb describe-db-instances ^
    --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceClass]' ^
    --filter Name=engine,Values=docdb
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
[
    [
        "sample-instance-1",
        "db.r5.large"
    ],
    [
        "sample-instance-2",
        "db.r5.large"
    ],
    [
        "sample-instance-3",
        "db.r5.4xlarge"
    ],
    [
        "sample-instance-4",
        "db.r5.4xlarge"
    ]
]
```

자세한 내용은 [Amazon DocumentDB 인스턴스 설명](db-instance-view-details.md) 단원을 참조하십시오.

------

## 인스턴스의 클래스 변경
<a name="db-instance-class-changing"></a>

 AWS Management Console 또는를 사용하여 인스턴스의 인스턴스 클래스를 변경할 수 있습니다 AWS CLI. 자세한 내용은 [Amazon DocumentDB 인스턴스 수정](db-instance-modify.md) 단원을 참조하십시오.

## 리전별 지원되는 인스턴스 클래스
<a name="db-instance-classes-by-region"></a>

Amazon DocumentDB는 다음 인스턴스 클래스를 지원합니다.
+ `R8G`- R6G 인스턴스에 비해 최대 30% 더 나은 성능을 제공하는 Arm-based AWS Graviton4 프로세서로 구동되는 메모리 최적화 인스턴스의 최신 세대입니다.
+ `R6G`- Arm-based AWS Graviton2 프로세서로 구동되는 메모리 최적화 인스턴스는 5% 더 저렴한 비용으로 R5 인스턴스보다 최대 30% 더 나은 성능을 제공합니다.
+ `R6GD` - 임시 데이터를 위한 로컬 비휘발성 메모리 익스프레스(NVMe) 기반 솔리드 스테이트 드라이브(SSD) 스토리지가 있는 메모리 최적화 R6G 인스턴스입니다.
+ `R5` - 동일한 인스턴스 비용으로 R4 인스턴스보다 최대 100% 더 나은 성능을 제공하는 메모리 최적화 인스턴스입니다.
+ `R4` - 이전 세대의 메모리 최적화 인스턴스입니다.
+ `T4G`- 기준 수준의 CPU 성능을 제공하는 Arm-based AWS Graviton2 프로세서로 구동되는 최신 세대 저비용 버스트 가능 범용 인스턴스 유형으로, T3 인스턴스보다 최대 35% 더 나은 가격 성능을 제공하며 일시적인 사용량 급증이 발생하는 중간 정도의 CPU 사용량이 있는 애플리케이션을 실행하는 데 적합합니다.
+ `T3` - 필요한 기간 동안 언제든지 CPU 사용량을 버스트할 수 있는 기능과 함께 기본 수준의 CPU 성능을 제공하는 저비용 버스터블 범용 인스턴스 유형입니다.

각 인스턴스 클래스의 세부 사양은 [인스턴스 클래스 사양](#db-instance-class-specs) 섹션을 참조하세요.

**참고**  
I/O 최적화 스토리지는 엔진 버전 5.0 및 8.0(인스턴스 기반 클러스터)에서만 사용할 수 있습니다.

특정 인스턴스 클래스가 특정 리전에서 지원되거나 지원되지 않을 수 있습니다. 다음 표에는 각 리전에서 Amazon DocumentDB가 지원하는 인스턴스 클래스가 나와 있습니다.


**리전별 지원되는 인스턴스 클래스**  

|  | 인스턴스 클래스 | 리전 | R8G | R6GD | R6G | R5 | R4 | T4G | T3 | 서버리스 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| 미국 동부(오하이오) | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 
| 미국 동부(버지니아 북부) | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 
| 미국 서부(오리건) | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 
| 아프리카(케이프타운) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 남아메리카(상파울루) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(홍콩) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(하이데라바드) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(말레이시아) |  |  | 지원됨 |  |  | 지원됨 | 지원됨 |  | 
| 아시아 태평양(뭄바이) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(오사카) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 |  | 
| 아시아 태평양(서울) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(시드니) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(자카르타) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 |  | 
| 아시아 태평양(멜버른) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 |  | 
| 아시아 태평양(싱가포르) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 아시아 태평양(태국) |  |  | 지원됨 |  |  | 지원됨 | 지원됨 |  | 
| 아시아 태평양(도쿄) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 캐나다(중부) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(프랑크푸르트) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(취리히) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 |  | 
| 유럽(아일랜드) | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(런던) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(밀라노) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(파리) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(스페인) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 유럽(스톡홀름) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 |  | 
| 멕시코(중부) |  |  | 지원됨 |  |  | 지원됨 | 지원됨 |  | 
| 중동(UAE) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 중국(베이징) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 중국(닝샤) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| 이스라엘(텔아비브) |  |  | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| AWS GovCloud(미국 서부) | 지원됨 | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 
| AWS GovCloud(미국 동부) |  | 지원됨 | 지원됨 | 지원됨 |  | 지원됨 | 지원됨 | 지원됨 | 

## 인스턴스 클래스 사양
<a name="db-instance-class-specs"></a>

다음 표에는 각 클래스에서 지원되는 인스턴스 유형을 포함하여 Amazon DocumentDB 인스턴스 클래스에 대한 세부 정보가 나와 있습니다. 테이블 아래에서 각 테이블 열에 대한 설명을 찾아볼 수 있습니다.


| 인스턴스 클래스 | vCPU1 | 메모리(GiB)2 | NVMe SSD 계층형 캐시(GiB)3 | 최대 온도 스토리지(GiB)4 | 기준/버스트 대역폭(Gbps)5 | 지원 엔진6 | 
| --- | --- | --- | --- | --- | --- | --- | 
| R8G - Graviton4 기반 현재 세대 메모리 최적화 인스턴스 클래스 R8G는 엔진 버전 5.0 및 8.0에서만 사용할 수 있는 최신 인스턴스 패밀리(Graviton4)입니다. db.r8g.24xlarge 및 db.r8g.48xlarge 크기는 아직 사용할 수 없습니다. | 
| db.r8g.large | 2 | 16 | - | 30 | 0.937/12.5 | 5.0.0 및 8.0.0 | 
| db.r8g.xlarge | 4 | 32 | - | 60 | 1.875/12.5 | 5.0.0 및 8.0.0 | 
| db.r8g.2xlarge | 8 | 64 | - | 121 | 3.75/15.0 | 5.0.0 및 8.0.0 | 
| db.r8g.4xlarge | 16 | 128 | - | 243 | 7.5/15.0 | 5.0.0 및 8.0.0 | 
| db.r8g.8xlarge | 32 | 256 | - | 488 | 15 | 5.0.0 및 8.0.0 | 
| db.r8g.12xlarge | 48 | 384 | - | 732 | 22 | 5.0.0 및 8.0.0 | 
| db.r8g.16xlarge | 64 | 512 | - | 987 | 30 | 5.0.0 및 8.0.0 | 
| R6G — Graviton2 기반의 현재 세대 메모리 최적화 인스턴스 클래스 | 
| db.r6g.large | 2 | 16 | - | 32 | 0.75/10 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.xlarge | 4 | 32 | - | 63 | 1.25/10 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.2xlarge | 8 | 64 | - | 126 | 2.5/10 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.4xlarge | 16 | 128 | - | 252 | 5.0/10 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.8xlarge | 32 | 256 | - | 504 | 12 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.12xlarge | 48 | 384 | - | 756 | 20 | 4.0.0, 5.0.0 및 8.0.0 | 
| db.r6g.16xlarge | 64 | 512 | - | 1008 | 25 | 4.0.0, 5.0.0 및 8.0.0 | 
| R6G - Graviton2 기반의 현재 세대 NVMe 지원 인스턴스 클래스 | 
| db.r6gd.xlarge | 4 | 32 | 173 | 64 | 1.25/10 | 5.0.0 및 8.0.0 | 
| db.r6gd.2xlarge | 8 | 64 | 346 | 128 | 2.5/10 | 5.0.0 및 8.0.0 | 
| db.r6gd.4xlarge | 16 | 128 | 694 | 256 | 5.0/10 | 5.0.0 및 8.0.0 | 
| db.r6gd.8xlarge | 32 | 256 | 1388 | 512 | 12 | 5.0.0 및 8.0.0 | 
| db.r6gd.12xlarge | 48 | 384 | 2082 | 768 | 20 | 5.0.0 및 8.0.0 | 
| db.r6gd.16xlarge | 64 | 512 | 2776 | 1024 | 25 | 5.0.0 및 8.0.0 | 
| R5 – 이전 세대 메모리 최적화 인스턴스 클래스 | 
| db.r5.large | 2 | 16 | - | 31 | 0.75/10 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.xlarge | 4 | 32 | - | 62 | 1.25/10 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.2xlarge | 8 | 64 | - | 124 | 2.5/10 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.4xlarge | 16 | 128 | - | 249 | 5.0/10 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.8xlarge | 32 | 256 | - | 504 | 10 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.12xlarge | 48 | 384 | - | 748 | 12 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.16xlarge | 64 | 512 | - | 1008 | 20 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| db.r5.24xlarge | 96 | 768 | - | 1500 | 25 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
| R4 – 이전 세대 메모리 최적화 인스턴스 클래스 R4 인스턴스는 엔진 버전 3.6에서만 지원됩니다. Amazon DocumentDB 3.6은 2026년 3월 30일에 표준 지원이 종료됩니다. 추가 지원(유료)은 2029년 3월까지 사용할 수 있습니다. | 
| db.r4.large | 2 | 15.25 | - | 30 | 0.75/10 | 3.6.0만 | 
| db.r4.xlarge | 4 | 30.5 | - | 60 | 1.25/10 | 3.6.0만 | 
| db.r4.2xlarge | 8 | 61 | - | 120 | 2.5/10 | 3.6.0만 | 
| db.r4.4xlarge | 16 | 122 | - | 240 | 5.0/10 | 3.6.0만 | 
| db.r4.8xlarge | 32 | 244 | - | 480 | 10 | 3.6.0만 | 
| db.r4.16xlarge | 64 | 488 | - | 960 | 25 | 3.6.0만 | 
| T4G – Graviton2 기반 최신 세대 성능 버스트 기능이 있는 인스턴스 클래스 T 시리즈 인스턴스는 무제한 CPU 버스트 모드에서 실행됩니다. 기준 이후의 버스트 사용량은 추가 요금이 청구됩니다. 글로벌 클러스터에는 지원되지 않습니다. | 
| db.t4g.medium | 2 | 4 | - | 8.13 | 0.256/5 | 4.0.0, 5.0.0 및 8.0.0 | 
| T3 – 이전 세대 성능 버스트 기능이 있는 인스턴스 클래스 | 
| db.t3.medium | 2 | 4 | - | 7.5 | 0.256/5 | 3.6.0, 4.0.0, 5.0.0 및 8.0.0 | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/db-instance-classes.html)  | 

# NVMe 지원 인스턴스
<a name="db-instance-nvme"></a>

NVMe 지원 인스턴스는 일반 인스턴스의 메모리를 초과하는 대규모 데이터세트가 있는 애플리케이션에 대해 최대 7배 더 빠른 쿼리 성능을 제공합니다. 이러한 인스턴스는 r6gd 인스턴스에서 사용할 수 있는 로컬 비휘발성 메모리 익스프레스(NVMe) 기반 솔리드 스테이트 드라이브(SSD) 스토리지를 활용하여 임시 데이터를 저장하고, 네트워크 기반 스토리지 액세스를 줄이며, 읽기 지연 시간과 처리량을 개선합니다.

로컬 SSD 공간은 다음 두 섹션으로 나뉩니다.
+ **계층형 캐시** - 로컬 SSD의 약 73%가 데이터베이스 캐시로 할당되므로 시스템이 기본 메모리만 저장할 때보다 최대 5배 더 많은 데이터베이스 페이지를 저장할 수 있습니다. 로컬 SSD는 2계층 캐시 역할을 하는 반면 기존의 인 메모리 버퍼 캐시는 1계층 캐시로 유지됩니다. 쿼리는 버퍼 캐시와 SSD 캐시 모두에 누락이 발생한 경우에만 외부 스토리지에 액세스합니다.
+ **임시 스토리지** - 나머지 27%는 비영구 임시 파일 스토리지용으로 예약되어 있으며, 정렬 또는 인덱스 빌드와 같은 리소스 집약적인 작업과 관련된 복잡한 쿼리에 사용됩니다. 일반 인스턴스에서는 임시 공간이 Amazon Elastic Block Store(EBS) 볼륨에 상주합니다. SSD의 로컬 호스팅 임시 스토리지는 정렬과 관련된 쿼리 지연 시간을 최대 2배 줄이고 인덱스 빌드와 같은 리소스 집약적인 작업을 가속화합니다.

지원되는 NVMe 지원 인스턴스 유형 및 사양에 대한 세부 정보는 [인스턴스 클래스 사양](db-instance-classes.md#db-instance-class-specs) 섹션에서 확인할 수 있습니다.

**Topics**
+ [NVMe 지원 인스턴스의 권장 사용 사례](#nvme-use-cases)
+ [Amazon DocumentDB에서 NVMe 지원 인스턴스 사용](#using-nvme)
+ [NVMe 지원 인스턴스 모니터링](#monitoring-nvme)

## NVMe 지원 인스턴스의 권장 사용 사례
<a name="nvme-use-cases"></a>

다음 시나리오에서는 NVMe 지원 인스턴스를 사용하는 것이 좋습니다.
+ **읽기 중심 워크로드** - 워크로드가 읽기 집약적이고 데이터세트가 버퍼 캐시보다 크며 낮은 `BufferCacheHitRatio` 및 높은 `ReadIOPS` 지표로 표시되는 경우 NVMe 지원 인스턴스는 성능 이점을 제공할 수 있습니다.
+ **업데이트가 많은 워크로드** - 워크로드가 업데이트 집약적이고 네트워크 스토리지의 읽기 지연 시간으로 인해 폐영역 회수를 따라잡을 수 없는 경우 NVMe 지원 인스턴스가 문제를 완화하는 데 도움이 될 수 있습니다.

NVMe 지원 인스턴스는 다음과 같은 다양한 사용 사례에 도움이 될 수 있습니다.
+ **인터넷 규모의 애플리케이션** - 엄격한 성능의 서비스 수준 계약(SLA)을 사용하는 결제 처리, 결제 및 전자 상거래와 같은 애플리케이션은 NVMe 지원 인스턴스의 성능 이점을 활용할 수 있습니다.
+ **실시간 보고 대시보드** - 지표/데이터 수집을 위해 수백 개의 쿼리를 실행하는 대시보드는 NVMe 지원 인스턴스의 짧은 지연 시간과 높은 처리량을 활용할 수 있습니다.
+ **생성형 AI 애플리케이션** - 벡터 검색을 사용하여 수백만 개의 벡터 임베딩에서 정확하거나 가장 가까운 인접 항목을 찾는 애플리케이션은 NVMe 지원 인스턴스의 고성능을 활용할 수 있습니다.

## Amazon DocumentDB에서 NVMe 지원 인스턴스 사용
<a name="using-nvme"></a>

Amazon DocumentDB의 NVMe 지원 인스턴스를 사용하려면 다음을 수행합니다.
+ Amazon DocumentDB 클러스터를 생성하고 NVMe 지원 인스턴스 클래스 중 하나를 추가합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 생성](db-cluster-create.md) 섹션을 참조하세요.
+ 또는 NVMe 지원 인스턴스 클래스 중 하나를 사용하도록 기존 Amazon DocumentDB 클러스터를 수정합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 섹션을 참조하세요.

여러 AWS 리전에서 NVMe 지원 인스턴스의 가용성을 확인하려면 [리전별 지원되는 인스턴스 클래스](db-instance-classes.md#db-instance-classes-by-region) 섹션을 참조하세요.

NVMe 지원 인스턴스에서 일반 인스턴스로 다시 전환하려면 Amazon DocumentDB 인스턴스의 데이터베이스 인스턴스 클래스를 NVMe 스토리지가 없는 유사한 인스턴스 클래스로 수정합니다. 예를 들어, 현재 인스턴스 클래스가 'db.r6gd.4xlarge’인 경우 'db.r6g.4xlarge'를 선택하여 다시 전환합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 섹션을 참조하세요.

## NVMe 지원 인스턴스 모니터링
<a name="monitoring-nvme"></a>

Amazon CloudWatch에서 사용할 수 있는 일반 인스턴스 지표 외에도 NVMe 기반 인스턴스는 NVMe 기반 SSD 스토리지, IOPS 및 처리량과 관련된 추가 지표를 내보냅니다.

```
NVMeStorageCacheHitRatio
FreeNVMeStorage
ReadIOPSNVMeStorage
ReadLatencyNVMeStorage
ReadThroughputNVMeStorage
WriteIOPSNVMeStorage
WriteLatencyNVMeStorage
WriteThroughputNVMeStorage
```

이러한 지표에 대한 자세한 내용은 [NVMe 지원 인스턴스 지표](cloud_watch.md#nvme-metrics) 섹션을 참조하세요.

# Amazon DocumentDB 서브넷 그룹 관리
<a name="document-db-subnet-groups"></a>

Virtual Private Cloud(VPC)는 AWS 계정사용자의 전용 가상 네트워크입니다. VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있습니다. Amazon DocumentDB 클러스터와 같은 AWS 리소스를 Amazon VPC로 시작할 수 있습니다. IP 주소 범위와 VPC 범위를 설정하고 서브넷을 추가하고 보안 그룹을 연결한 다음 라우팅 테이블을 구성합니다.

서브넷은 사용자의 Amazon VPC의 IP 주소 범위입니다. 지정된 서브넷으로 AWS 리소스를 시작할 수 있습니다. 인터넷에 연결해야 할 리소스에 대한 *퍼블릭* 서브넷을 사용합니다. 인터넷에 연결하지 않을 리소스에 대한 *프라이빗* 서브넷을 사용합니다. 퍼블릭 및 프라이빗 서브넷에 대한 자세한 내용은 *Amazon Virtual 프라이빗 클라우드 사용 설명서*에서 [VPC 및 서브넷 기본 사항](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-subnet-basics)을 참조하세요.

DB 서브넷 그룹은 사용자가 VPC에서 만든 다음 클러스터에 대해 지정하는 서브넷의 모음입니다. 서브넷 그룹에서는 클러스터를 생성할 때 특정 VPC를 지정할 수 있습니다. `default` 서브넷 그룹을 사용하면 해당 그룹은 VPC 내의 모든 서브넷을 포괄합니다.

각 DB 서브넷 그룹은 지정된 리전에서 두 개 이상의 가용 영역에 서브넷이 있어야 합니다. VPC에서 DB 클러스터를 만들 때, DB 서브넷 그룹을 선택해야 합니다. Amazon DocumentDB는 해당 DB 서브넷 그룹과 사용자가 선호하는 가용 영역을 사용하여 해당 서브넷 내에서 클러스터와 연결할 서브넷과 IP 주소를 선택합니다. 기본 인스턴스가 실패할 경우 Amazon DocumentDB가 해당 복제본 인스턴스를 새 기본 인스턴스로 승격할 수 있습니다. 이때 이전의 기본 인스턴스가 위치했던 서브넷의 IP 주소를 사용하여 새 복제본 인스턴스를 생성할 수 있습니다.

Amazon DocumentDB가 VPC에 인스턴스를 생성할 때는 DB 서브넷 그룹에서 선택한 IP 주소를 사용하여 클러스터에 네트워크 인터페이스를 할당합니다. 기본 IP 주소가 장애 조치 중에 변경될 수 있기 때문에 반드시 DNS 이름을 사용하는 것이 좋습니다. 자세한 내용은 [Amazon DocumentDB 엔드포인트](how-it-works.md#how-it-works.endpoints) 섹션을 참조하십시오.

VPC 및 서브넷 생성에 대한 자세한 내용은 *Amazon Virtual 프라이빗 클라우드 사용 설명서*의 [VPC 및 서브넷으로 작업하기](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)를 참조하세요.

**Topics**
+ [Amazon DocumentDB 서브넷 그룹 생성](document-db-subnet-group-create.md)
+ [Amazon DocumentDB 서브넷 그룹 설명](document-db-subnet-group-describe.md)
+ [Amazon DocumentDB 서브넷 그룹 수정](document-db-subnet-group-modify.md)
+ [Amazon DocumentDB 서브넷 그룹 삭제](document-db-subnet-group-delete.md)

# Amazon DocumentDB 서브넷 그룹 생성
<a name="document-db-subnet-group-create"></a>

Amazon DocumentDB 클러스터를 생성하는 경우 Amazon VPC와 Amazon VPC 내 해당 서브넷 그룹을 선택해야 클러스터를 시작할 수 있습니다. 서브넷은 인스턴스를 시작하기 위해 사용할 가용 영역과 해당 가용 영역 내 IP 범위를 결정합니다.

서브넷 그룹은 Amazon DocumentDB 인스턴스를 시작하는 데 사용하고자 하는 가용 영역을 지정할 수 있는 명명된 서브넷(AZ) 집합입니다. 예를 들어, 인스턴스가 3개인 클러스터에서 각 인스턴스를 별도의 AZ에 프로비저닝하여 고가용성을 최적화하는 것이 좋습니다. 따라서 단일 AZ가 실패하면 단일 인스턴스에만 영향을 미칩니다.

현재 Amazon DocumentDB 인스턴스는 최대 3개의 AZ로 프로비저닝할 수 있습니다. 서브넷 그룹에 서브넷이 3개 이상 있는 경우에도 Amazon DocumentDB 클러스터 생성에는 그 중 3개만 사용할 수만 있습니다. 따라서 서브넷 그룹을 생성할 때 인스턴스를 배포하려는 서브넷을 3개만 선택하는 것이 좋습니다.

예: 클러스터가 생성되고 Amazon DocumentDB가 AZ\$11A, 1B 및 1C\$1를 선택합니다. AZ\$11D\$1에서 인스턴스를 생성하려고 하면 API 직접 호출이 실패합니다. 하지만 특정 AZ를 지정하지 않고 인스턴스를 생성하기로 선택하면 Amazon DocumentDB가 사용자를 대신하여 AZ를 선택합니다. Amazon DocumentDB는 알고리즘을 사용하여 여러 AZ에 걸쳐 인스턴스의 부하를 분산하므로 고가용성을 확보할 수 있습니다. 기본적으로 세 개의 인스턴스가 프로비저닝되면 세 개의 AZ에 프로비저닝되고 모든 인스턴스가 단일 AZ에 프로비저닝되지 않습니다.

모범 사례
+ 특별한 사유가 없으면 항상 서브넷 그룹 서브넷을 3개 생성합니다. 이렇게 하면 인스턴스가 세 AZ 간에 프로비저닝되므로 인스턴스가 세 개 이상인 클러스터가 더 높은 가용성을 획득할 수 있습니다.
+ 항상 여러 AZ에 걸쳐 인스턴스를 분산하여 고가용성을 실현합니다. 단일 AZ에 클러스터의 모든 인스턴스를 배치하지 마십시오.
+ 장애 조치 이벤트는 언제든지 발생할 수 있으므로 기본 인스턴스 또는 복제본 인스턴스가 항상 특정 AZ에 있다고 가정해서는 안 됩니다.

## 서브넷 그룹 생성 방법
<a name="document-db-subnet-group-how-create"></a>

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 서브넷 그룹을 생성할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 단계에 따라 Amazon DocumentDB 서브넷 그룹을 만듭니다.

**Amazon DocumentDB 서브넷 그룹 생성**

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

1. 탐색 창에서 **서브넷 그룹**을 선택한 다음 **생성**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **서브넷 그룹 생성** 페이지에서:

   1. **서브넷 그룹 세부 정보** 섹션에서:

      1. **이름** — 서브넷 그룹에 대해 의미 있는 이름을 입력합니다.

      1. **설명** - 서브넷 그룹에 대한 설명을 입력합니다:

   1. **서브넷 추가** 섹션에서:

      1. **VPC** — 목록에서 이 서브넷 그룹에 대한 VPC를 선택합니다.

      1. 다음 중 하나를 수행합니다.
         + 선택된 VPC에 서브넷을 모두 포함하려면 **이 VPC와 관련된 모든 서브넷 추가**를 선택합니다.
         + 이 서브넷 그룹에 대한 서브넷을 지정하려면, 서브넷을 포함하려는 각 가용 영역에 대해 다음을 수행합니다. 2개 이상의 가용 영역을 포함해야 합니다.

           1. **가용 영역** - 목록에서 가용 영역을 선택합니다.

           1. **서브넷** — 목록에서 이 서브넷 그룹에 대해 선택된 가용 영역의 서브넷을 선택합니다.

           1. **서브넷 추가**를 선택합니다.

1. **생성(Create)**을 선택합니다. 새로 생성된 서브넷 그룹은 다른 서브넷 그룹과 함께 나열됩니다.  
![\[스크린샷: 서브넷 그룹 세부 정보 표시.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-subnet-groups-list.png)

------
#### [ Using the AWS CLI ]

AWS CLI를 사용하여 서브넷 그룹을 만들기 전에 먼저 어떤 서브넷을 사용할 수 있는지 확인해야 합니다. 다음의 AWS CLI 작업을 실행하여 가용 영역과 그에 해당하는 서브넷을 나열합니다.

**파라미터:**
+ **--db-subnet-group** - 선택 사항. 특정 서브넷 그룹을 지정하면 가용 영역과 해당 그룹의 서브넷이 나열됩니다. 이 파라미터를 생략하면 모든 서브넷 그룹의 가용 영역과 서브넷이 나열됩니다. `default` 서브넷 그룹을 지정하면 모든 VPC의 서브넷이 나열됩니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-subnet-groups \
    --db-subnet-group-name default \
    --query 'DBSubnetGroups[*].[DBSubnetGroupName,Subnets[*].[SubnetAvailabilityZone.Name,SubnetIdentifier]]'
```
Windows의 경우:  

```
aws docdb describe-db-subnet-groups ^
    --db-subnet-group-name default ^
    --query 'DBSubnetGroups[*].[DBSubnetGroupName,Subnets[*].[SubnetAvailabilityZone.Name,SubnetIdentifier]]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    [
        "default",
        [
            [
                "us-east-1a",
                "subnet-4e26d263"
            ],
            [
                "us-east-1c",
                "subnet-afc329f4"
            ],
            [
                "us-east-1e",
                "subnet-b3806e8f"
            ],
            [
                "us-east-1d",
                "subnet-53ab3636"
            ],
            [
                "us-east-1b",
                "subnet-991cb8d0"
            ],
            [
                "us-east-1f",
                "subnet-29ab1025"
            ]
        ]
    ]
]
```
이전 작업의 출력을 사용하여 새 서브넷 그룹을 만들 수 있습니다. 새 서브넷 그룹에는 최소 2개 가용 영역의 서브넷이 포함되어야 합니다.  

**파라미터:**
+ **--db-subnet-group-name** - 필수입니다. 이 서브넷 그룹의 이름입니다.
+ **--db-subnet-group-description** - 필수입니다. 이 서브넷 그룹에 대한 설명입니다.
+ **--subnet-ids** - 필수입니다. 이 서브넷 그룹에 포함하는 서브넷의 목록입니다. 예시: `subnet-53ab3636`.
+ --태그**** - 선택사항. 이 서브넷 그룹에 연결할 태그(키/값 페어) 목록입니다.
다음 코드는 `sample-subnet-group`, `subnet-4e26d263`, `subnet-afc329f4`의 3개 서브넷으로 구성된 서브넷 그룹 `subnet-b3806e8f`을 만듭니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb create-db-subnet-group \
    --db-subnet-group-name sample-subnet-group \
    --db-subnet-group-description "A sample subnet group" \
    --subnet-ids subnet-4e26d263 subnet-afc329f4 subnet-b3806e8f \
    --tags Key=tag1,Value=One Key=tag2,Value=2
```
Windows의 경우:  

```
aws docdb create-db-subnet-group ^
    --db-subnet-group-name sample-subnet-group ^
    --db-subnet-group-description "A sample subnet group" ^
    --subnet-ids subnet-4e26d263 subnet-afc329f4 subnet-b3806e8f ^
    --tags Key=tag1,Value=One Key=tag2,Value=2
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "DBSubnetGroup": {
        "DBSubnetGroupDescription": "A sample subnet group",
        "DBSubnetGroupName": "sample-subnet-group",
        "Subnets": [
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1a"
                },
                "SubnetIdentifier": "subnet-4e26d263",
                "SubnetStatus": "Active"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1c"
                },
                "SubnetIdentifier": "subnet-afc329f4",
                "SubnetStatus": "Active"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1e"
                },
                "SubnetIdentifier": "subnet-b3806e8f",
                "SubnetStatus": "Active"
            }
        ],
        "VpcId": "vpc-91280df6",
        "DBSubnetGroupArn": "arn:aws:rds:us-east-1:123SAMPLE012:subgrp:sample-subnet-group",
        "SubnetGroupStatus": "Complete"
    }
}
```

------

# Amazon DocumentDB 서브넷 그룹 설명
<a name="document-db-subnet-group-describe"></a>

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 서브넷 그룹의 세부 정보를 확인할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는 Amazon DocumentDB 서브넷 그룹의 세부 정보 확인 방법을 볼 수 있습니다.

**서브넷 그룹의 세부 정보를 찾으려면**

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

1. 탐색 창에서 **서브넷 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 서브넷 그룹의 세부 정보를 확인하려면 해당 서브넷 그룹의 이름을 선택합니다.  
![\[스크린샷: 서브넷 그룹 세부 정보 표시.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-subnet-group-details.png)

------
#### [ Using the AWS CLI ]

Amazon DocumentDB 서브넷 그룹의 세부 정보를 찾으려면 다음 파라미터와 함께 `describe-db-subnet-groups` 작업을 사용합니다.

**파라미터**
+ `--db-subnet=group-name` - 선택 사항. 포함된 경우, 명명된 서브넷 그룹의 세부 정보가 나열됩니다. 생략된 경우, 최대 100개 서브넷 그룹의 세부 정보가 나열됩니다.

**Example**  
다음 코드는 `sample-subnet-group` 섹션에 생성한 [Amazon DocumentDB 서브넷 그룹 생성](document-db-subnet-group-create.md) 서브넷 그룹의 세부 정보를 나열합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-subnet-groups \
    --db-subnet-group-name sample-subnet-group
```
Windows의 경우:  

```
aws docdb describe-db-subnet-groups ^
    --db-subnet-group-name sample-subnet-group
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "DBSubnetGroup": {
        "DBSubnetGroupArn": "arn:aws:rds:us-east-1:123SAMPLE012:subgrp:sample-subnet-group",
        "VpcId": "vpc-91280df6",
        "SubnetGroupStatus": "Complete",
        "DBSubnetGroupName": "sample-subnet-group",
        "Subnets": [
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1a"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-4e26d263"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1c"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-afc329f4"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1e"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-b3806e8f"
            }
        ],
        "DBSubnetGroupDescription": "A sample subnet group"
    }
}
```

------

# Amazon DocumentDB 서브넷 그룹 수정
<a name="document-db-subnet-group-modify"></a>

AWS Management Console 또는 AWS CLI를 사용하여 서브넷 그룹의 설명을 수정하거나 Amazon DocumentDB 서브넷 그룹에서 서브넷을 추가/제거할 수 있습니다. 그러나 `default` 서브넷 그룹은 수정할 수 없습니다.

------
#### [ Using the AWS Management Console ]

AWS Management Console를 사용하여 서브넷 그룹의 설명을 변경하거나 서브넷을 추가/제거할 수 있습니다. 완료 시 서브넷 그룹과 연결된 가용 영역은 2개 이상이어야 합니다.

**서브넷 그룹을 수정하려면**

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

1. 탐색 창에서 **서브넷 그룹**을 선택합니다. 그런 다음 해당 서브넷 그룹 이름의 왼쪽에 있는 버튼을 선택합니다. `default` 서브넷 그룹은 수정할 수 없습니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **작업**을 선택한 후 **수정**을 선택합니다.

1. **설명**- 서브넷 그룹의 설명을 변경하려면 새 설명을 입력합니다.

1. 서브넷 그룹과 연결된 서브넷을 변경하려면 **서브넷 추가** 섹션에서 다음 중 하나 이상을 수행합니다.
   + 이 서브넷 그룹에서 서브넷을 모두 제거하려면 **모두 제거**를 선택합니다.
   + 이 서브넷 그룹에서 특정 서브넷을 제거하려면 제거하려는 각 서브넷에 대해 **제거**를 선택합니다.
   + 이 VPC에 연결된 서브넷을 모두 추가하려면 **이 VPC와 관련된 모든 서브넷 추가**를 선택합니다.
   + 이 서브넷 그룹에 특정 서브넷을 추가하려면 서브넷을 추가하려는 각 가용 영역에 대해 다음을 수행합니다.

     1. **가용 영역** - 목록에서 새 가용 영역을 선택합니다.

     1. **서브넷** — 목록에서 이 서브넷 그룹에 대해 선택된 가용 영역의 서브넷을 선택합니다.

     1. **서브넷 추가**를 선택합니다.

1. 확인 대화 상자에서:
   + 서브넷 그룹에 해당 수정 사항을 적용하려면 **수정**을 선택합니다.
   + 서브넷 그룹을 변경 없이 유지하려면 **취소**를 선택합니다.

------
#### [ Using the AWS CLI ]

AWS CLI를 사용하여 서브넷 그룹의 설명을 변경하거나 서브넷을 추가/제거할 수 있습니다. 완료 시 서브넷 그룹과 연결된 가용 영역은 2개 이상이어야 합니다. `default` 서브넷 그룹은 수정할 수 없습니다.

**파라미터:**
+ `--db-subnet-group-name` - 필수입니다. 수정하는 Amazon DocumentDB 서브넷 그룹의 이름입니다.
+ `--subnet-ids` - 필수입니다. 이 수정 사항의 적용이 완료된 후 서브넷 그룹에 포함하려는 모든 서브넷의 목록입니다.
**중요**  
현재 서브넷 그룹에 속해 있지만 이 목록에는 포함되지 않은 모든 서브넷은 서브넷 그룹에서 제거됩니다. 현재 서브넷 그룹에 포함된 모든 서브넷을 유지하려면 이 목록에 포함시켜야 합니다.
+ `--db-subnet-group-description` - 선택 사항. 서브넷 그룹에 대한 설명입니다.

**Example**  
다음 코드는 설명을 수정하고 기존 서브넷을 `subnet-991cb8d0`, `subnet-53ab3636`, `subnet-29ab1025` 서브넷으로 대체합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb modify-db-subnet-group \
    --db-subnet-group-name sample-subnet-group \
    --subnet-ids subnet-991cb8d0 subnet-53ab3636 subnet-29ab1025 \
    --db-subnet-group-description "Modified subnet group"
```
Windows의 경우:  

```
aws docdb modify-db-subnet-group ^
    --db-subnet-group-name sample-subnet-group ^
    --subnet-ids subnet-991cb8d0 subnet-53ab3636 subnet-29ab1025 ^
    --db-subnet-group-description "Modified subnet group"
```
이 작업의 출력은 다음과 같습니다(JSON 형식). [Amazon DocumentDB 서브넷 그룹 생성](document-db-subnet-group-create.md) 섹션에 생성된 것과 동일한 서브넷 그룹입니다. 그러나 서브넷 그룹의 서브넷은 `modify-db-subnet-group` 작업에 나열된 서브넷으로 대체됩니다.  

```
{
    "DBSubnetGroup": {
        "DBSubnetGroupArn": "arn:aws:rds:us-east-1:123SAMPLE012:subgrp:sample-subnet-group",
        "DBSubnetGroupDescription": "Modified subnet group",
        "SubnetGroupStatus": "Complete",
        "Subnets": [
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1d"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-53ab3636"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1b"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-991cb8d0"
            },
            {
                "SubnetAvailabilityZone": {
                    "Name": "us-east-1f"
                },
                "SubnetStatus": "Active",
                "SubnetIdentifier": "subnet-29ab1025"
            }
        ],
        "VpcId": "vpc-91280df6",
        "DBSubnetGroupName": "sample-subnet-group"
    }
}
```

------

# Amazon DocumentDB 서브넷 그룹 삭제
<a name="document-db-subnet-group-delete"></a>

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 서브넷 그룹을 삭제할 수 있습니다. 그러나 `default` 서브넷 그룹은 삭제할 수 없습니다.

------
#### [ Using the AWS Management Console ]

AWS Management Console을 사용하여 서브넷 그룹을 삭제할 수 있습니다. `default` 서브넷 그룹은 삭제할 수 없습니다.

**서브넷 그룹을 삭제하는 방법**

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

1. 탐색 창에서 **서브넷 그룹**을 선택합니다. 그런 다음 해당 서브넷 그룹 이름의 왼쪽에 있는 버튼을 선택합니다. `default` 서브넷 그룹은 삭제할 수 없습니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **작업**을 선택한 후 **삭제**를 선택합니다.

1. 확인 대화 상자에서:
   + 서브넷 그룹을 삭제하려면 **삭제**를 선택합니다.
   + 서브넷 그룹을 유지하려면 **취소**를 선택합니다.

------
#### [ Using the AWS CLI ]

AWS CLI를 사용하여 Amazon DocumentDB 서브넷 그룹을 삭제하려면 다음 파라미터와 함께 `delete-db-subnet-group` 작업을 사용합니다.

**파라미터**
+ `--db-subnet-group-name` - 필수입니다. 삭제할 Amazon DocumentDB 서브넷 그룹의 이름입니다. `default` 서브넷 그룹은 삭제할 수 없습니다.

**Example**  
다음 코드를 사용하여 `sample-subnet-group`을 삭제할 수 있습니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb delete-db-subnet-group \
    --db-subnet-group-name sample-subnet-group
```
Windows의 경우:  

```
aws docdb delete-db-subnet-group ^
    --db-subnet-group-name sample-subnet-group
```
이 작업은 출력을 생성하지 않습니다.

------

# Amazon DocumentDB 고가용성 및 복제
<a name="replication"></a>

복제본 인스턴스를 사용하여 Amazon DocumentDB(MongoDB 호환)에서 고가용성 및 읽기 규모 조정을 구현할 수 있습니다. 단일 Amazon DocumentDB 클러스터는 1개의 기본 인스턴스와 최대 15개의 복제본 인스턴스를 지원합니다. 이러한 인스턴스는 해당 클러스터의 리전 내의 가용 영역에 두루 분산할 수 있습니다. 기본 인스턴스는 읽기 및 쓰기 트래픽을 허용하며, 복제본 인스턴스는 읽기 요청만 허용합니다.

클러스터 볼륨은 클러스터에 대한 여러 개의 데이터 사본으로 구성됩니다. 그러나 Amazon DocumentDB 클러스터의 기본 인스턴스 및 복제본에는 클러스터 볼륨 데이터가 단 하나의 논리 볼륨으로 표시됩니다. 복제본 인스턴스는 최종적으로 일관됩니다. 복제본 인스턴스 복제본 지연 시간을 최소화하여 쿼리 결과를 반환합니다. 이 지연 시간은 일반적으로 기본 인스턴스가 업데이트를 적용한 후 100밀리초 미만입니다. 데이터베이스 변경률에 따라 달라집니다. 즉, 데이터베이스의 쓰기 연산이 많은 기간에는 복제 지연 시간이 증가할 수 있습니다.

## 읽기 확장
<a name="replication.read-scaling"></a>

Amazon DocumentDB 복제본은 클러스터 볼륨의 읽기 작업에 전적으로 사용되므로 읽기 규모 조정에 유용합니다. 쓰기 연산은 기본 인스턴스에서 관리합니다. 클러스터 볼륨은 클러스터에 있는 모든 인스턴스에 공유됩니다. 따라서 각 Amazon DocumentDB 복제본에 대한 데이터 사본을 복제하여 보관할 필요가 없습니다.

## 높은 가용성
<a name="replication.high-availability"></a>

Amazon DocumentDB 클러스터를 만들면 서브넷 그룹 내 가용 영역의 수에 따라(2개 이상이어야 함) Amazon DocumentDB가 가용 영역에서 인스턴스를 프로비저닝합니다. 클러스터에서 인스턴스를 생성할 때 Amazon DocumentDB가 서브넷 그룹의 가용 영역에 인스턴스를 자동으로 배포하여 클러스터의 균형을 잡습니다. 또한 이 작업을 통해 모든 인스턴스가 동일한 가용 영역에 위치하는 경우를 방지할 수 있습니다.

**예시**  
이해를 돕기 위해 세 개의 가용 영역(*AZ1*, *AZ2* 및 *AZ3*)으로 구성된 서브넷 그룹이 있는 클러스터를 만든다고 가정해 보겠습니다.

클러스터의 첫 번째 인스턴스가 만들어지면 이는 기본 인스턴스로서 세 가용 영역 중 하나에 위치합니다. 이 예에서는 *AZ1*입니다. 두 번째로 만드는 인스턴스는 복제 인스턴스로서 나머지 두 가용 영역 중 하나, 즉 *AZ2*에 위치합니다. 세 번째 인스턴스는 복제 인스턴스이며 나머지 한 가용 영역, *AZ3*에 위치합니다. 추가로 인스턴스를 만들 경우 가용 영역에 배포하여 클러스터의 균형을 달성할 수 있습니다.

기본 인스턴스(AZ1)에 장애가 발생하면 장애 조치가 트리거되고 기존의 복제 인스턴스 중 하나가 기본 인스턴스로 승격됩니다. 기존의 기본 인스턴스가 복구되면 이는 프로비저닝되었던 동일 가용 영역(AZ1)에서 복제 인스턴스로 지정됩니다. 3개 인스턴스 클러스터를 프로비저닝하면 Amazon DocumentDB는 해당 3개 인스턴스 클러스터를 계속 보존합니다. Amazon DocumentDB는 수동 개입 없이 인스턴스 장애 감지, 장애 조치 및 복구를 자동으로 처리합니다.

Amazon DocumentDB의 장애 조치로 인스턴스를 복구하는 경우, 복구된 인스턴스는 처음 프로비저닝된 가용 영역에 그대로 위치합니다. 그러나 인스턴스의 역할은 기본에서 복제본으로 변경될 수 있습니다. 이렇게 함으로써 여러 번의 장애 조치로 모든 인스턴스가 동일한 가용 영역에 모이는 경우를 방지할 수 있습니다.

Amazon DocumentDB 복제본을 장애 조치 대상으로 지정할 수 있습니다. 즉 기본 인스턴스에 장애가 발생하면 지정된 Amazon DocumentDB 복제본이나 티어의 복제본이 기본 인스턴스로 승격됩니다. 기본 인스턴스에 대한 읽기/쓰기 요청이 예외로 인해 장애가 발생하는 동안에는 시스템이 짧게 중단됩니다. Amazon DocumentDB 클러스터에 Amazon DocumentDB 복제본이 없는 경우에는 기본 인스턴스 장애 시 해당 인스턴스가 다시 생성됩니다. Amazon DocumentDB 복제본을 승격시키는 것이 기본 인스턴스를 다시 생성하는 것보다 훨씬 빠릅니다.

고가용성 시나리오에서는 Amazon DocumentDB 복제본을 1개 이상 생성하는 것이 좋습니다. 이러한 복제본은 인스턴스 클래스가 기본 인스턴스의 클래스와 동일해야 하고, 가용 영역이 Amazon DocumentDB 클러스터의 가용 영역과 달라야 합니다.

자세한 내용은 다음 자료를 참조하세요.
+ [Amazon DocumentDB 클러스터 내결함성에 대한 이해](db-cluster-fault-tolerance.md)
+ [Amazon DocumentDB 장애 조치](failover.md)
  + [장애 조치 대상 제어](failover.md#failover-target_control)

### 글로벌 클러스터를 통한 고가용성
<a name="replication.high-availability.global-clusters"></a>

여러 AWS 리전 간의 고가용성을 위해 [Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/global-clusters.html) 글로벌 클러스터를 설정할 수 있습니다. 각각의 글로벌 클러스터는 여러 리전에 걸쳐 있어, 지연 시간이 짧은 전역 읽기와 AWS 리전에 걸친 중단에 대한 재해 복구를 지원합니다. Amazon DocumentDB는 기본 리전에서 각 보조 영역으로 모든 데이터 및 업데이트 복제를 자동으로 처리합니다.

## 복제본 추가
<a name="replication.adding-replicas"></a>

클러스터에 추가된 첫 번째 인스턴스는 기본 인스턴스입니다. 첫 번째 인스턴스 이후 추가된 모든 인스턴스는 복제본 인스턴스입니다. 클러스터에는 기본 인스턴스 외에 최대 15개의 복제본 인스턴스가 있을 수 있습니다.

AWS Management Console을 사용하여 클러스터를 생성할 경우 기본 인스턴스가 동시에 자동으로 생성됩니다. 클러스터 및 기본 인스턴스를 생성하는 것과 동시에 복제본을 생성하려면 **Create replica in different zone(다른 영역에 복제본 만들기)**을 선택합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 생성](db-cluster-create.md)의 4.d 단계를 참조하십시오. Amazon DocumentDB 클러스터에 복제본을 추가하려면 [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md) 단원을 참조하십시오.

AWS CLI를 사용하여 클러스터를 생성할 경우 기본 인스턴스와 복제본 인스턴스를 명시적으로 생성해야 합니다. 자세한 내용은 다음 주제의 "AWS CLI 사용" 단원을 참조하십시오.
+ [Amazon DocumentDB 클러스터 생성](db-cluster-create.md)
+ [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md)

# Amazon DocumentDB 장애 조치
<a name="failover"></a>

특정 유형의 계획된 유지 관리 또는 예상치 못한 기본 노드 또는 가용 영역 장애의 경우와 같은 특정 경우에 Amazon DocumentDB(MongoDB 호환)는 장애를 감지하고 기본 노드를 대체합니다. 장애 조치를 실시하는 동안 쓰기 시간은 최소화됩니다. 이러한 경우는 기본 노드의 역할이 새 기본 노드를 생성하여 프로비저닝하는 대신 읽기 전용 복제본 중 하나에 장애 조치를 실행하기 때문에 발생합니다. 이 장애 탐지 및 복제본 승격을 통해 승격이 완료되는 즉시 새 기본 노드에 작성을 재개할 수 있습니다.

장애 조치가 작동하려면 클러스터에 최소 두 개의 인스턴스(기본 인스턴스 및 적어도 한 개의 복제본 인스턴스)가 있어야 합니다.

**참고**  
이 주제는 원본 Amazon DocumentDB 인스턴스 기반 클러스터에만 적용됩니다. 탄력적 또는 글로벌 클러스터에는 적용되지 않습니다.

## 장애 조치 대상 제어
<a name="failover-target_control"></a>

Amazon DocumentDB에서는 장애 조치가 발생할 때 기본 인스턴스로 승격시킬 복제본 인스턴스를 제어하기 위한 수단으로 장애 조치 티어를 제공합니다.

**장애 조치 티어**  
각 복제본 인스턴스는 장애 조치 티어(0–15)와 연결됩니다. 유지 관리 또는 예상치 못한 하드웨어 장애로 인해 장애 조치가 발생하면 기본 인스턴스는 우선 순위가 가장 높은 복제본(가장 낮은 번호의 티어)으로 장애 조치됩니다. 여러 복제본의 우선 순위 티어가 동일한 경우 이전의 기본 인스턴스의 크기와 가장 가까운 티어의 복제본에 기본 인스턴스가 장애 조치됩니다.

선택한 복제본 그룹에 대한 장애 조치 티어를 `0`(가장 높은 우선 순위)으로 설정하여 장애 조치에서 해당 그룹의 복제본 중 하나를 승격시키도록 할 수 있습니다. 우선 순위가 낮은 티어(높은 번호)를 이러한 복제본에 할당하여 장애 조치 시 특정 복제본이 기본 인스턴스로 승격되지 않도록 효과적으로 차단할 수 있습니다. 이는 애플리케이션에서 특정 복제본의 사용량이 높고 복제본 중 하나에 장애 조치하면 중요 애플리케이션에 부정적인 영향을 미치는 경우에 유용합니다.

인스턴스를 생성할 때 또는 나중에 수정하여 인스턴스의 장애 조치 티어를 설정할 수 있습니다. 인스턴스를 수정하여 인스턴스 장애 조치를 설정하면 장애 조치가 트리거되지 않습니다. 자세한 정보는 다음 주제를 참조하세요.
+ [클러스터에 Amazon DocumentDB 인스턴스 추가](db-instance-add.md)
+ [Amazon DocumentDB 인스턴스 수정](db-instance-modify.md)

장애 조치를 수동으로 시작할 때 두 가지 방법, 즉 앞에서 설명한 장애 조치 티어와 `--target-db-instance-identifier` 파라미터를 사용하여 기본 인스턴스로 승격되는 복제본 인스턴스를 제어할 수 있습니다.

**--`target-db-instance-identifier`**  
테스트를 위해 `failover-db-cluster` 연산을 사용하여 장애 조치 이벤트를 강제할 수 있습니다. `--target-db-instance-identifier` 파라미터를 사용하여 기본 인스턴스로 승격할 복제본을 지정합니다. `--target-db-instance-identifier` 파라미터 사용이 장애 조치 우선 순위 티어에 우선합니다. `--target-db-instance-identifier` 파라미터를 지정하지 않은 경우 기본 장애 조치가 장애 조치 우선 순위 티어를 따릅니다.



## 장애 조치 중에 발생하는 일
<a name="failover-what_happens"></a>

장애 조치는 Amazon DocumentDB가 자동적으로 처리하므로 관리자의 개입 없이 애플리케이션에서 최대한 신속하게 데이터베이스 작업을 재개할 수 있습니다.
+ 장애 조치 시 동일하거나 다른 가용 영역에 Amazon DocumentDB 복제본 인스턴스가 있는 경우 Amazon DocumentDB는 인스턴스의 정식 이름 레코드(CNAME)를 플립하여 정상 복제본을 가리키고, 이는 다시 새 기본 복제본으로 승격됩니다. 일반적으로 장애 조치는 처음부터 끝까지 30초 이내에 완료됩니다.
+ Amazon DocumentDB 복제본 인스턴스(예: 단일 인스턴스 클러스터)가 없는 경우 Amazon DocumentDB는 원래 인스턴스와 동일한 가용 영역에 새 인스턴스 생성을 시도합니다. 이와 같은 원래 인스턴스 대체가 최선의 방법이며, 가용 영역에 크게 영향을 주는 문제가 발생하는 경우 등에는 성공하지 못할 수도 있습니다.

데이터베이스 연결이 끊어지는 경우 애플리케이션에서 연결을 다시 시도해야 합니다.

## 장애 조치 테스트
<a name="failover-testing"></a>

클러스터에 대한 장애 조치는 클러스터에 있는 Amazon DocumentDB 복제본(읽기 전용 인스턴스) 중 하나를 기본 인스턴스(클러스터 라이터)로 승격시킵니다.

기본 인스턴스가 실패하면 Amazon DocumentDB 복제본이 존재하는 경우 Amazon DocumentDB 복제본으로 Amazon DocumentDB가 자동적으로 장애 조치됩니다. 테스트를 위해 기본 인스턴스의 실패를 시뮬레이션하려는 경우 장애 조치를 강제할 수 있습니다. 클러스터의 각 인스턴스에는 자체적인 엔드포인트 주소가 있습니다. 장애 조치가 완료되면 엔드포인트 주소를 사용하도록 기존 연결을 정리한 후 다시 설정해야 합니다.

장애 조치를 강제하려면 `failover-db-cluster` 연산을 해당 파라미터와 함께 사용합니다.
+ `--db-cluster-identifier` - 필수입니다. 장애 조치할 클러스터의 이름입니다.
+ `--target-db-instance-identifier`—선택 사항. 기본 인스턴스로 승격시킬 인스턴스의 이름입니다.

**Example**  
다음 작업은 `sample-cluster` 클러스터의 장애 조치를 강제로 실행합니다. 새 기본 인스턴스를 만들 인스턴스를 지정하지 않아 Amazon DocumentDB는 장애 조치 티어 우선 순위에 따라 인스턴스를 선택합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb failover-db-cluster \
   --db-cluster-identifier sample-cluster
```
Windows의 경우:  

```
aws docdb failover-db-cluster ^
   --db-cluster-identifier sample-cluster
```
다음 작업은 `sample-cluster`를 기본 역할로 승격하도록 지정하여 `sample-cluster-instance` 클러스터의 장애 조치를 강제로 실행합니다. 출력의 `"IsClusterWriter": true`를 참고하세요.  
Linux, macOS, Unix의 경우:  

```
aws docdb failover-db-cluster \
   --db-cluster-identifier sample-cluster \
   --target-db-instance-identifier sample-cluster-instance
```
Windows의 경우:  

```
aws docdb failover-db-cluster ^
   --db-cluster-identifier sample-cluster ^
   --target-db-instance-identifier sample-cluster-instance
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "DBCluster": {
        "HostedZoneId": "Z2SUY0A1719RZT",
        "Port": 27017,
        "EngineVersion": "3.6.0",
        "PreferredMaintenanceWindow": "thu:04:05-thu:04:35",
        "BackupRetentionPeriod": 1,
        "ClusterCreateTime": "2018-06-28T18:53:29.455Z",
        "AssociatedRoles": [],
        "DBSubnetGroup": "default",
        "MasterUsername": "master-user",
        "Engine": "docdb",
        "ReadReplicaIdentifiers": [],
        "EarliestRestorableTime": "2018-08-21T00:04:10.546Z",
        "DBClusterIdentifier": "sample-cluster",
        "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "DBClusterMembers": [
            {
                "DBInstanceIdentifier": "sample-cluster-instance",
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1,
                "IsClusterWriter": true
            },
            {
                "DBInstanceIdentifier": "sample-cluster-instance-00",
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1,
                "IsClusterWriter": false
            },
            {
                "DBInstanceIdentifier": "sample-cluster-instance-01",
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1,
                "IsClusterWriter": false
            }
        ],
        "AvailabilityZones": [
            "us-east-1b",
            "us-east-1c",
            "us-east-1a"
        ],
        "DBClusterParameterGroup": "default.docdb3.6",
        "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "IAMDatabaseAuthenticationEnabled": false,
        "AllocatedStorage": 1,
        "LatestRestorableTime": "2018-08-22T21:57:33.904Z",
        "PreferredBackupWindow": "00:00-00:30",
        "StorageEncrypted": false,
        "MultiAZ": true,
        "Status": "available",
        "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "sg-12345678"
            }
        ],
        "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    }
}
```

## 복제 지연
<a name="troubleshooting.replication-lag"></a>

복제 지연은 일반적으로 50밀리초 이하입니다. 복제 지연이 증가하는 가장 일반적인 이유는 다음과 같습니다.
+ 기본 복제본의 쓰기 속도가 높으면 읽기 전용 복제본이 기본 복제본보다 뒤쳐집니다.
+ 장기 실행 쿼리(예: 대규모 순차 스캔, 집계 쿼리)와 수신되는 쓰기 복제 간의 읽기 전용 복제본 경합.
+ 읽기 전용 복제본에 대한 동시 쿼리 수가 매우 많습니다.

복제 지연을 최소화하려면 다음 문제 해결 방법을 시도해 보십시오.
+ 쓰기 속도가 높거나 CPU 사용률이 높으면 클러스터의 인스턴스를 스케일 업하는 것이 좋습니다.
+ 읽기 전용 복제본에서 쿼리가 오래 실행되고 쿼리 대상 문서가 매우 자주 업데이트되는 경우, 장기 실행 쿼리를 변경하거나 기본/쓰기 복제본에 대해 실행하여 읽기 전용 복제본에서 충돌이 발생하지 않도록 하는 것이 좋습니다.
+ 동시 쿼리 수가 매우 많거나 읽기 전용 복제본에서만 CPU 사용률이 높은 경우, 읽기 전용 복제본의 수를 스케일 아웃하여 워크로드를 분산하는 것도 또 다른 방법입니다.
+ 복제 지연은 높은 쓰기 처리량과 오래 실행되는 쿼리의 결과이므로 DbClusterReplicalagMaximum CW 측정치를 느린 쿼리 로거 및 `WriteThroughput`/`WriteIOPS` 지표와 함께 활용하여 복제 지연 문제를 해결하는 것이 좋습니다.

일반적으로 클러스터 장애 조치로 인해 성능이 저하되지 않도록 모든 복제본의 인스턴스 유형을 동일하게 사용하는 것이 좋습니다.

스케일 업과 스케일 아웃 중 하나를 선택하는 경우(예: 작은 인스턴스 6개 vs. 대형 인스턴스 3개), DB 인스턴스당 버퍼 캐시가 더 커지므로 일반적으로 스케일 아웃 전에 먼저 스케일 업(대형 인스턴스) 하는 것이 좋습니다.

애플리케이션 기능에 영향을 미치기 전에, 복제본 인스턴스의 데이터가 얼마나 뒤처질 수 있는지(또는 “부실”하게 될 수 있는지) 사전에 복제 지연 경보를 설정하고 해당 임계값의 상한선을 설정해야 합니다. 일반적으로 일시적인 워크로드로 인해 경보가 울리기 전에 여러 데이터 포인트에 대해 복제 지연 임계값을 초과하는 것이 좋습니다.

**참고**  
또한 10초를 초과하는 복제 지연에 대해서는 다른 경보를 설정하는 것이 좋습니다. 여러 데이터 포인트에 대해 이 임계값을 초과할 경우 인스턴스를 스케일 업하거나 기본 인스턴스의 쓰기 처리량을 줄이는 것이 좋습니다.

# Amazon DocumentDB 인덱스 관리
<a name="managing-indexes"></a>

**Topics**
+ [Amazon DocumentDB 인덱스 생성](#index-creation)
+ [Amazon DocumentDB 인덱스 유지 관리](#maintaining-indexes)

## Amazon DocumentDB 인덱스 생성
<a name="index-creation"></a>

Amazon DocumentDB에서 인덱스를 구축하려면 다음과 같이 다양한 결정을 내려야 합니다: 
+ 얼마나 빨리 완료해야 할까요?
+ 빌드가 진행되는 동안 컬렉션에 액세스할 수 없나요?
+ 빌드에 할당할 수 있는 인스턴스 컴퓨팅 파워는 얼마나 됩니까?
+ 어떤 유형의 인덱스를 만들어야 하나요?

이 섹션에서는 이러한 질문에 답하는 데 도움이 되며, 인스턴스 기반 클러스터 컬렉션에서 Amazon DocumentDB 인덱스를 생성하는 데 필요한 명령과 모니터링 예제를 제공합니다.

### 지침
<a name="indexing-guidelines"></a>

다음 지침에는 새 인덱스를 생성할 때의 기본 제한 및 구성 장단점이 포함되어 있습니다:
+ **Amazon DocumentDB 버전 지원** - 모든 Amazon DocumentDB 버전에서 단일작업자 인덱싱이 지원되지만, 다중 작업자 인덱싱은 Amazon DocumentDB 버전 4.0 및 5.0에서만 지원됩니다.
+ **성능 트레이드오프** - 인덱스 생성 프로세스의 작업자 수를 늘리면 Amazon DocumentDB 데이터베이스의 기본 인스턴스에서 CPU 사용률과 읽기 IO가 증가합니다. 새 인덱스를 생성하는 데 필요한 리소스는 실행 중인 워크로드에 사용할 수 없습니다.
+ **Elastic 클러스터** - Amazon DocumentDB 엘라스틱 클러스터에서는 병렬 인덱싱이 지원되지 않습니다.
+ **최대 작업자** - 구성할 수 있는 최대 작업자 수는 데이터베이스 클러스터의 기본 인스턴스 크기에 따라 다릅니다. 데이터베이스 클러스터의 기본 인스턴스에 있는 총 vCPU 수의 절반입니다. 예를 들어 vCPU가 64개 있는 db.r6g.16xlarge 인스턴스에서 최대 32개의 작업자를 실행할 수 있습니다.
**참고**  
2xlarge 이하 인스턴스 클래스에서는 병렬 작업자가 지원되지 않습니다.
+ **최소 작업자** - 구성할 수 있는 최소 작업자 수는 1개입니다. 인스턴스 기반 클러스터의 인덱스 생성에 대한 기본 설정은 작업자 2명입니다. 하지만 “작업자 스레드” 옵션을 사용하면 작업자 수를 1개로 줄일 수 있습니다. 이렇게 하면 단일 작업자로 프로세스가 실행됩니다.
+ **인덱스 압축** - Amazon DocumentDB는 인덱스 압축을 지원하지 않습니다. 저장된 데이터 및 인덱스의 데이터 크기는 다른 옵션을 사용할 때보다 클 수 있습니다.
+ **여러 컬렉션 인덱싱** - 데이터베이스 클러스터의 기본 인스턴스에 있는 vCPU의 절반을 구성된 작업자가 여러 컬렉션에서 인덱스를 생성하는 데 사용할 수 있습니다.
+ **인덱스 유형** - Amazon DocumentDB에서 지원되는 인덱스 유형에 대한 전체 설명은 [이 블로그 게시물](https://aws.amazon.com/blogs/database/how-to-index-on-amazon-documentdb-with-mongodb-compatibility/)을 참조하십시오.

### 시작하기
<a name="index-build-get-started"></a>

컬렉션에서 인덱스 생성을 시작하려면 `createIndexes` 명령을 사용합니다. 기본적으로 명령어는 인덱스 생성 프로세스의 속도를 두 배 증가시키는 두 개의 병렬 작업자를 실행합니다.

예를 들어, 다음 명령 프로세스는 문서의 “user\$1name” 필드에 대한 색인을 만들고 색인 처리 속도를 작업자 4개로 늘리는 방법을 보여줍니다:

1. 클러스터에서 두 개의 병렬 워커를 사용하여 인덱스를 생성합니다.

   ```
   db.runCommand({"createIndexes":"test","indexes":[{"key": {"user_name":1}, "name":"username_idx"}]})
   ```

1. 인덱스 생성 프로세스의 속도를 최적화하려면 `db.runCommand createIndexes` 메소드에서 ‘작업자 스레드’ 옵션(`"workers":<number>`)을 사용하여 워커 수를 지정할 수 있습니다.

   프로세스 속도를 병렬 작업자 4명으로 늘리십시오:

   ```
   db.runCommand({"createIndexes":"test","indexes":[{"key": {"user_name":1}, "name":"username_idx", "workers":4}]})
   ```
**참고**  
작업자 수가 많을수록 인덱스 생성 진행 속도가 빨라집니다. 하지만 작업자 수가 늘어날수록 기본 인스턴스의 vCPU 및 읽기 IO에 가해지는 부하도 증가합니다. 다른 워크로드를 저하시키지 않으면서 증가된 부담을 감당할 수 있을 만큼 클러스터를 충분히 프로비저닝해야 합니다.

### 인덱싱 진행 상태
<a name="index-build-status"></a>

인덱스 생성 프로세스는 컬렉션을 초기화하고, 스캔하고, 키를 정렬하고, 마지막으로 인덱스 빌더를 통해 키를 삽입하는 방식으로 진행됩니다. 프로세스를 포그라운드에서 실행할 경우 최대 6단계, 백그라운드에서 실행할 경우 최대 9단계로 구성됩니다. 단계별로 완료율, 스캔된 저장 블록의 총 수, 정렬된 키 및 삽입된 키와 같은 상태 메트릭을 볼 수 있습니다.

mongo 쉘의 `db.currentOp()` 명령을 사용하여 인덱싱 프로세스의 진행 상황을 모니터링할 수 있습니다. 마지막 단계를 100% 완료하면 모든 색인이 성공적으로 생성되었음을 알 수 있습니다.

```
db.currentOp({"command.createIndexes": { $exists : true } })
```

**참고**  
인덱싱 진행 상태 보기는 Amazon DocumentDB 5.0에서만 지원됩니다.

#### 인덱스 빌드 유형
<a name="index-build-types"></a>

인덱스 빌드의 네 가지 유형은 다음과 같습니다.
+ **포그라운드** - 포그라운드 인덱스 빌드는 인덱스가 생성될 때까지 다른 모든 데이터베이스 작업을 차단합니다. Amazon DocumentDB 포그라운드 빌드는 5단계로 구성되어 있습니다.
+ **포그라운드 (고유)** - 단일 문서 (고유) 포그라운드 인덱스 빌드는 일반 포그라운드 빌드와 같은 다른 데이터베이스 작업을 차단합니다. 기본 포그라운드 빌드와 달리 고유 빌드는 추가 단계 (정렬 키 2) 를 사용하여 중복 키를 찾습니다. 포그라운드 (고유) 빌드는 6단계로 구성되어 있습니다.
+ **백그라운드** - 백그라운드 인덱스 빌드를 사용하면 인덱스를 만드는 동안 다른 데이터베이스 작업을 포그라운드에서 실행할 수 있습니다. Amazon DocumentDB 백그라운드 빌드는 8단계로 구성되어 있습니다.
+ **백그라운드 (고유)** - 단일 문서 (고유) 배경 인덱스 빌드를 사용하면 인덱스가 생성되는 동안 다른 데이터베이스 작업을 포그라운드에서 실행할 수 있습니다. 기본 백그라운드 빌드와 달리 고유 빌드는 추가 단계 (정렬 키 2) 를 사용하여 중복 키를 찾습니다. 백그라운드 (고유) 빌드는 9단계로 구성되어 있습니다.

#### 인덱스 빌드 단계
<a name="index-build-stages"></a>


| 단계 | 포그라운드 | 포그라운드 (고유) | 배경 | 배경 (고유) | 
| --- | --- | --- | --- | --- | 
|  초기화 중  |  1  |  1  |  1  |  1  | 
|  빌딩 인덱스: 초기화 중  |  2  |  2  |  2  |  2  | 
|  빌딩 인덱스: 컬렉션 스캔  |  3  |  3  |  3  |  3  | 
|  빌딩 인덱스: 정렬 키 1  |  4  |  4  |  4  |  4  | 
|  빌딩 인덱스: 정렬 키 2  |    |  5  |    |  5  | 
|  빌딩 인덱스: 키 삽입  |  5  |  6  |  5  |  6  | 
|  검증: 인덱스 스캔  |    |    |  6  |  7  | 
|  검증: 튜플 정렬  |    |    |  7  |  8  | 
|  검증: 컬렉션 스캔  |    |    |  8  |  9  | 
+ **초기화 중** - createIndex가 인덱스 빌더를 준비하고 있습니다. 이 단계는 매우 간단해야 합니다.
+ **인덱스 작성: 초기화 중** - 인덱스 빌더가 인덱스 생성을 준비 중입니다. 이 단계는 매우 간단해야 합니다.
+ **인덱스 작성: 컬렉션 스캔** - 인덱스 빌더가 인덱스 키를 수집하기 위해 컬렉션 스캔을 수행합니다. 측정 단위는 “블록”입니다.
**참고**  
인덱스 빌드에 대해 둘 이상의 작업자가 구성된 경우 이 단계에 표시됩니다. 인덱스 빌드 프로세스 중에 여러 작업자를 사용하는 단계는 “스캐닝 컬렉션” 단계뿐입니다. 다른 모든 단계에는 작업자 한 명만 표시됩니다.
+ **인덱스 작성: 정렬 키 1** - 인덱스 빌더가 수집된 인덱스 키를 정렬합니다. 측정 단위는 “키”입니다.
+ **인덱스 작성: 정렬 키 2** - 인덱스 작성기가 죽은 튜플에 해당하는 수집된 인덱스 키를 정렬하고 있습니다. 이 단계는 고유한 인덱스 구축에만 존재합니다. 측정 단위는 “키”입니다.
+ **인덱스 작성: 키 삽입** - 인덱스 빌더가 새 인덱스에 인덱스 키를 삽입합니다. 측정 단위는 “키”입니다.
+ **유효성 검증: 인덱스 스캔** - createIndex는 인덱스를 스캔하여 검증이 필요한 키를 찾는 것입니다. 측정 단위는 “블록”입니다.
+ **유효성 검증: 튜플 정렬** - createIndex는 인덱스 스캔 단계의 출력을 정렬합니다.
+ **유효성 검증: 컬렉션 스캔** - createIndex는 컬렉션을 스캔하여 이전 두 단계에서 찾은 인덱스 키의 유효성을 검사합니다. 측정 단위는 “블록”입니다.

#### 인덱스 빌드 출력 예제
<a name="w2aac33c19b5c13c15"></a>

아래 출력 예제 (포그라운드 인덱스 빌드) 에는 인덱스 생성 상태가 표시됩니다. “msg” 필드는 빌드의 단계와 완료율을 표시하여 빌드 진행 상황을 요약합니다. “작업자” 필드는 인덱스 빌드의 해당 단계에서 사용된 작업자 수를 나타냅니다. “progress” 필드에는 완료율을 계산하는 데 사용된 실제 수치가 표시됩니다.

**참고**  
Amazon DocumentDB 버전 4.0에서는 “currentIndexBuildName”, “메시지” 및 “진행 상황” 필드가 지원되지 않습니다.

```
{
    "inprog" : [{
    … 
        "command": {
            "createIndexes": "test",
            "indexes": [{
                "v": 2,
                "key": {
                    "user_name": 1
                },
                "name": "user_name_1"
            }],
            "lsid": {
                "id": UUID(“094d0fba-8f41-4373-82c3-7c4c7b5ff13b”)
            },
            "$db": "test"
        },
        "currentIndexBuildName": user_name_1,
        "msg": "Index Build: building index number_1, stage 6/6 building index: 656860/1003520 (keys) 65%",
        "workers": 1,
        "progress": {
            "done": 656861,
            "total": 1003520
        },
    … 
    ],
 
    "ok" : 1
}
```

## Amazon DocumentDB 인덱스 유지 관리
<a name="maintaining-indexes"></a>

**Topics**
+ [인덱스 팽창](#db-index-bloat)
+ [`reIndex`를 사용한 인덱스 유지 관리](#reIndex)

### 인덱스 팽창
<a name="db-index-bloat"></a>

Amazon DocumentDB는 다중 버전 동시성 제어(MVCC)를 사용하여 동시 트랜잭션을 관리합니다. 문서가 삭제되거나 업데이트되면 이전 버전은 컬렉션 및 인덱스에 ‘데드’ 버전으로 유지됩니다. 폐영역 회수 프로세스는 향후 작업을 위해 이러한 데드 버전에서 공간을 자동으로 회수합니다.

인덱스 팽창은 데드 버전 또는 더 이상 사용되지 않는 인덱스 항목이 누적되거나 페이지 내에 조각화되면서 컬렉션의 인덱스가 커질 때 발생합니다. 보고된 백분율은 향후 인덱스 항목에서 사용할 수 있는 인덱스 공간의 양을 나타냅니다. 이 팽창은 버퍼 캐시와 스토리지 모두에서 공간을 소비합니다. 팽창을 제거하려면 인덱스를 다시 빌드해야 합니다.

**Example 예제**  
다음 명령을 실행하여 인덱스의 미사용 스토리지를 확인합니다.  

```
db.coll.aggregate({$indexStats:{}});
```
다음과 비슷한 결과가 반환됩니다.  

```
{ 
    "name" : "_id_",
    "key" : { 
        "_id" : 1 
    },
    "host" : "devbox-test.localhost.a2z.com:27317",
    "size" : NumberLong(827392),
    "accesses" : {
        "ops" : NumberLong(40000),
        "docsRead" : NumberLong(46049),
        "since" : ISODate("2025-04-03T21:44:51.251Z") 
    },
    "cacheStats" : {
        "blksRead" : NumberLong(264),
        "blksHit" : NumberLong(140190),
        "hitRatio" : 99.8121
    }, 
    "unusedStorageSize" : {
        "unusedSizeBytes" : 409600,
        "unusedSizePercent" : 49.51
    }
}
```

전체 컬렉션을 스캔해야 하는 `reIndex` 명령을 사용하여 가동 중지 없이 인덱스를 다시 빌드할 수 있습니다. [`reIndex`를 사용한 인덱스 유지 관리](#reIndex)을(를) 참조하세요.

### `reIndex`를 사용한 인덱스 유지 관리
<a name="reIndex"></a>

`reIndex`는 인덱스를 재구축하는 데 사용되는 명령입니다. 일반적으로 인덱스가 손상되거나 비효율적일 때 사용됩니다. 시간이 지남에 따라 많은 업데이트, 삽입 또는 삭제로 인해 인덱스에 미사용 스페이스가 누적되어 성능이 저하될 수 있습니다. 리인덱싱은 사용하지 않는 스페이스를 제거하고 인덱스의 효율성을 복원하는 데 도움이 됩니다.

#### `reIndex` 지침
<a name="w2aac33c19b7b7b5"></a>
+ `reIndex`는 현재 Amazon DocumentDB 5.0에서만 지원됩니다.
+ Amazon DocumentDB는 백그라운드에서 단일 인덱스 `reindex`를 지원하므로 여러 작업자가 사용할 수 있습니다. 이전 인덱스는 `reIndex` 프로세스가 실행 중일 때 쿼리에서 사용할 수 있습니다.
+ Amazon DocumentDB는 `currentOp`를 통한 인덱싱 진행률 보고서를 지원합니다. 인덱스 생성 중에 [인덱스 빌드 단계](#index-build-stages) 보기와 유사한 인덱스 구축 단계를 볼 수 있습니다. 유일한 차이점은 고유하든 아니든 `reIndex`에는 항상 8단계가 있다는 것입니다. ‘빌딩 인덱스: 정렬 키 2’ 단계는 없습니다.
+ `reIndex`는 `createIndexes`, `dropIndexes`, `collMod` 및 `renameCollection`과 같은 동일한 컬렉션에서 인덱스 관련 명령을 제외한 모든 명령과 동시에 실행할 수 있습니다.
+ `reIndex`는 현재 텍스트, 지리 공간, 벡터 및 부분 인덱스에는 지원되지 않습니다.

##### `reIndex` 구축
<a name="w2aac33c19b7b7b5b5"></a>

다음 명령을 사용하여 인덱스를 재구축합니다.

```
db.runCommand({ reIndex: "collection-name", index: "index-name"})
```

필요에 따라 재구축 프로세스에 할당된 작업자 수를 제어할 수도 있습니다.

```
db.runCommand({ reIndex: "collection-name", index: "index-name", workers: number })
```

# 컬렉션 수준 문서 압축 관리
<a name="doc-compression"></a>

Amazon DocumentDB 5.0 컬렉션 수준 문서 압축을 사용하면 컬렉션의 문서를 압축하여 스토리지 및 IO 비용을 절감할 수 있습니다. 압축된 문서의 스토리지 크기 및 압축 상태와 같은 압축 지표를 통해 스토리지 이득을 측정하여 필요에 따라 컬렉션 수준에서 문서 압축을 활성화하고 압축 지표를 확인할 수 있습니다. Amazon DocumentDB 5.0은 LZ4 압축 알고리즘을 사용하여 문서를 압축합니다.

Amazon DocumentDB는 버전 5.0부터 문서 압축을 지원합니다. 다음 내용은 컬렉션 수준 문서 압축 함수입니다.
+ **기본 동작** - 5.0 클러스터의 새 컬렉션에 대한 기본 압축 설정은 클러스터 파라미터에 의해 결정됩니다`default_collection_compression`. 이 파라미터는 기본적으로 "비활성화"되어 있습니다.
+ **기존 컬렉션 압축 ** - `collMod` 명령을 사용하여 기존 컬렉션의 압축 설정을 변경할 수 있습니다.
+ **압축 임계값 변경** - 기본 압축 임계값은 2KB 입니다. 이 값은 `createCollection` 명령을 사용하여 새 컬렉션에 대해 지정하고 `collMod` 명령을 사용하여 기존 컬렉션에서 변경할 수 있습니다.

**참고**  
Amazon DocumentDB 문서 압축은 Amazon DocumentDB 버전 3.6 및 4.0에서 지원되지 않습니다.

**Topics**
+ [문서 압축 관리](#manage-compression)
+ [문서 압축 모니터링](#monitoring-compression)

## 문서 압축 관리
<a name="manage-compression"></a>

### 컬렉션에서 문서 압축 활성화
<a name="enabling-collection-compression"></a>

`db.createCollection()` 메서드를 사용하여 Amazon DocumentDB 5.0에서 컬렉션을 생성하는 동안 문서 압축을 활성화합니다.

```
db.createCollection( sample_collection,{
    storageEngine : {
        documentDB: {
            compression:{enable: <true | false>}
        }
    }
})
```

### 클러스터에서 문서 압축 활성화
<a name="enabling-cluster-compression"></a>

`default_collection_compression`의 클러스터 파라미터를 "활성화됨"으로 설정하여 클러스터 수준의 모든 새 컬렉션에 대해 문서 압축을 기본적으로 활성화할 수 있습니다. 이 파라미터가 "활성화됨"으로 설정되면 클러스터에서 새로 생성된 컬렉션에는 기본적으로 2KB의 압축 임계값으로 압축이 활성화됩니다.

### 기존 컬렉션 압축
<a name="compress-existing-collections"></a>

`collMod` 작업을 사용하고 다음 `storageEngine` 구성을 지정하여 기존 컬렉션에 대한 압축 설정을 수정할 수도 있습니다. 이 명령을 사용한 변경 사항은 새로 삽입된/업데이트된 문서에만 적용되며 이전에 삽입된 문서에 대한 압축은 변경되지 않습니다.

```
db.runCommand({ 
    collMod: "orders", 
    storageEngine: { 
        documentDB: {compression: {enable: <true | false>} }
    }
})
```

### 압축 임계값 설정
<a name="set-compression-threshold"></a>

기본적으로 압축된 컬렉션의 압축 임계값은 2032바이트입니다. 압축이 활성화된 새 컬렉션을 생성할 때 `createCollection` 명령에서 이 임계값을 설정할 수 있습니다.

```
db.createCollection( sample_collection, {
    storageEngine : {
        documentDB: {
            compression: {
                enable: true,
                threshold: <128 - 8000>
            }
        }
    }
})
```

`collMod` 작업을 사용하고 다음 `storageEngine` 구성을 지정하여 기존 압축 컬렉션에 대한 압축 임계값을 수정할 수도 있습니다.

```
db.runCommand({ 
    collMod: "orders", 
    storageEngine: { 
        documentDB: {
            compression: {
                enable: true,
                threshold: <128 - 8000>
            }
        }
    }
})
```

압축 임계값은 128\$18,000바이트의 값으로만 설정할 수 있다는 점을 참조해 주세요. 또한 압축 임계값을 지정할 때 `enable` 옵션을 "true"로 설정해야 합니다.

## 문서 압축 모니터링
<a name="monitoring-compression"></a>

컬렉션이 압축되었는지 확인하고 다음과 같이 압축 비율을 계산할 수 있습니다.

mongo 쉘에서 `db.printCollectionStats()` 또는 `db.collection.stats()` 명령을 실행하여 압축 통계를 봅니다. 출력은 문서 압축의 스토리지 이득을 분석하기 위해 비교할 수 있는 기존 크기와 압축 크기를 보여줍니다. 이 예제에서는 "sample\$1collection"이라는 컬렉션에 대한 통계가 아래에 나와 있습니다. 1024\$11024의 스케일링 인수는 아래에서 `size` 및 `storageSize` 값을 MB 단위로 출력하는 데 사용됩니다.

```
db.sample_collection.stats(1024*1024)
```

다음은 위의 명령에 대한 출력 예제입니다.

```
{
    "ns" : "test.sample_collection",
    "count" : 1000000,
    "size" : 3906.3,
    "avgObjSize" : 4096,
    "storageSize" : 1953.1, 
    compression:{"enabled" : true,"threshold" : 2032},
    ...
}
```
+ **size** - 문서 컬렉션의 원래 크기입니다.
+ **avgObjSize** - 압축 전 평균 문서 크기를 소수점 첫째 자리까지 반올림한 값입니다. 측정 단위는 바이트입니다.
+ **storageSize** - 압축 후 컬렉션의 스토리지 크기입니다. 측정 단위는 바이트입니다.
+ **활성화됨** - 압축이 활성화 또는 비활성화되었는지 여부를 나타냅니다.

실제 압축 비율을 계산하려면 수집 크기를 스토리지 크기(크기/storageSize)로 나눕니다. 위의 예제에서 계산은 3906.3/1953.1이며, 이는 2:1 압축 비율로 변환됩니다.

# Amazon DocumentDB 8.0에서 사전 기반 압축 관리
<a name="dict-compression"></a>

Amazon DocumentDB 8.0은 LZ4의 향상된 대안으로 zstd라는 새로운 문서 압축 알고리즘을 도입합니다. 압축 알고리즘으로 Zstd를 선택하여 Amazon DocumentDB 8.0 컬렉션에서 사전 압축을 활성화하면 컬렉션의 문서가 샘플링되어 사용자 지정 압축 사전이 생성됩니다. 새 문서와 업데이트된 문서는이 사전과 zstd 알고리즘을 사용하여 압축됩니다. 이 접근 방식은 일반적으로 표준 압축 방법보다 높은 압축 비율을 달성합니다. 특히 문서 스키마가 일관되거나 필드 이름이 반복되는 컬렉션의 경우 더욱 그렇습니다.

Lz4는 빠른 압축 및 압축 해제를 위해 설계된 알고리즘입니다. 눈에 띄는 압축을 달성하면서 CPU가 가볍다고 알려져 있습니다. Zstd는 기본 설정으로 더 많은 CPU를 사용하지만 lz4보다 더 나은 압축 비율을 달성하는 범용 알고리즘입니다. 사전을 사용하면 대부분의 JSON 문서에 대한 압축이 더욱 향상됩니다. Zstd 알고리즘의 몇 가지 이점은 다음과 같습니다.
+ 스토리지 비용 절감: 압축률이 높을수록 스토리지 사용량이 줄어들고 비용이 절감됩니다.
+ 낮은 I/O: 압축된 문서에는 I/O가 적게 필요하므로 성능이 향상될 수 있습니다.
+ 컬렉션에 최적화: 사전은 컬렉션의 데이터 패턴에 맞게 특별히 훈련됩니다.

**참고**  
Amazon DocumentDB 버전 3.6, 4.0 및 5.0에서는 사전 기반 압축이 지원되지 않습니다.

## 성능 고려 사항
<a name="perf-considerations"></a>

Zstd 압축에는 다음과 같은 단점이 있습니다.
+ 스토리지와 CPU 비교: Zstd 압축은 더 나은 압축 비율을 달성하지만 LZ4 압축에 비해 약간 더 많은 CPU 리소스를 사용할 수 있습니다.
+ 초기 압축: 효과적인 사전을 훈련하기에 충분한 문서가 삽입될 때까지 새 컬렉션이 최적의 압축을 달성하지 못할 수 있습니다. 현재 컬렉션에 최소 100개의 문서가 있는 경우 사전이 훈련됩니다.
+ 워크로드 유형: 전체 데이터가 버퍼 캐시에 맞는 읽기 집약적인 워크로드는 압축 해제 오버헤드로 인해 지연 시간과 CPU 사용량이 증가할 수 있습니다.

Zstd 압축은 작은 문서, 문서 배열 및 반복되는 필드 이름이 있는 컬렉션에 특히 효과적입니다.

## 사전 기반 압축 활성화
<a name="enabling-zstd"></a>

새 컬렉션의 경우 아래 명령을 사용하여 Zstd 압축을 활성화할 수 있습니다.

```
db.createCollection("myCollection", 
    { 
        storageEngine: { 
            documentDB: { 
                compression: {
                    enable: true,
                    algorithm: "zstd"
                } 
            }
        }
    }
 )
```

기존 컬렉션에서 압축을 활성화하거나 수정할 수도 있습니다.

```
db.runCommand({ 
    collMod: "myCollection", 
    storageEngine: { 
        documentDB: { 
            compression: {
                enable: true,
                algorithm: "zstd"
            } 
        }
    }
 })
```

클러스터의 모든 컬렉션에서 Zstd 알고리즘을 활성화하려면 클러스터 파라미터 그룹을 수정하여 "default\$1collection\$1compression" 파라미터의 값으로 "zstd"를 선택할 수 있습니다.

## 시작하기
<a name="getting-started"></a>

Amazon DocumentDB 8.0에는 기본적으로 Zstd 압축이 켜져 있습니다. 클러스터 파라미터 그룹에서 'default\$1compression' 값을 비활성화로 설정하여 항상 끌 수 있습니다. Amazon DocumentDB 8.0부터 'enabled'는 default\$1compression에 더 이상 유효한 선택이 아니므로 Zstd 및 LZ4에서 선택해야 합니다.

## 모니터링
<a name="monitoring"></a>

다음 명령 중 하나를 사용하여 컬렉션에 대한 압축 정보를 볼 수 있습니다.
+ db.runCommand(\$1 collStats: "myCollection" \$1) 또는
+ db.collection.stats()

이러한 명령은 압축 비율을 계산하는 데 사용할 수 있는 키 통계를 반환합니다.
+ compression.algorithm: 사용된 알고리즘("lz4" 또는 "zstd")
+ storageSize: 압축 후 컬렉션에서 사용하는 실제 스토리지입니다. 이 숫자에는 조각화(즉, 데이터베이스 페이지의 미사용 공간)가 포함됩니다.
+ avgObjSize: 컬렉션 문서의 평균 논리적 크기를 압축 해제합니다. 컬렉션에 20,000개 이상의 문서가 있는 경우이 숫자는 20,000개 문서의 샘플을 기반으로 한 근사치입니다.
+ size: 압축이 없는 컬렉션의 논리적 크기입니다. 이 숫자는 avgObjSize에 컬렉션의 총 문서 수를 곱하여 구하므로 avgObjSize가 근사치인 경우이 숫자도 근사치가 됩니다.
+ count: 컬렉션의 문서 수 

다음 CloudWatch 지표는 사전 기반 압축을 평가하는 데 유용할 수 있습니다.
+ CPUUtilization
+ FreeableMemory
+ VolumeBytesUsed
+ VolumeReadIOPs
+ VolumeWriteIOPs

collStats 지표:
+ storageSize
+ size

또한 쿼리 유형 또는 API당 지연 시간 및 처리량과 같은 애플리케이션별 지표를 추적하는 것이 유용할 수 있습니다.

# Amazon DocumentDB 이벤트 관리
<a name="managing-events"></a>

Amazon DocumentDB(MongoDB 호환)는 클러스터, 인스턴스, 스냅샷, 보안 그룹 및 클러스터 매개 변수 그룹과 관련된 이벤트 기록을 보관합니다. 여기에는 이벤트 날짜 및 시간, 이벤트의 원본 이름 및 유형, 이벤트 관련 메시지 등의 정보가 포함됩니다.

**중요**  
특정 관리 기능의 경우, Amazon DocumentDB는 Amazon RDS 및 Amazon Neptune과 공유하는 운영 기술을 사용한다. 영역 제한, 즉 영역 수준에서 관리되는 제한은 Amazon DocumentDB, Amazon RDS 및 Amazon Neptune 간에 공유됩니다. 자세한 내용은 [리전별 할당량](limits.md#limits-regional_quotas) 섹션을 참조하세요.

**Topics**
+ [Amazon DocumentDB 이벤트 범주 보기](#viewing-event-categories)
+ [Amazon DocumentDB 이벤트 보기](#viewing-events)

## Amazon DocumentDB 이벤트 범주 보기
<a name="viewing-event-categories"></a>

각 Amazon DocumentDB 리소스 유형에는 관련될 수 있는 특정 유형의 이벤트가 있습니다. AWS CLI `describe-event-categories` 연산을 사용하여 이벤트 유형과 Amazon DocumentDB 리소스 유형 간의 매핑을 볼 수 있습니다.

**파라미터**
+ **--source-type**—선택 사항. `--source-type` 파라미터를 사용하여 특정 소스 유형의 이벤트 범주를 봅니다. 다음은 허용되는 값입니다:
  + `db-cluster`
  + `db-instance`
  + `db-parameter-group`
  + `db-security-group`
  + `db-cluster-snapshot`
+ **--filters**—선택 사항. Amazon DocumentDB에 대한 이벤트 범주를 보려면 필터`--filter Name=engine,Values=docdb`를 사용합니다.

**Example**  
다음 코드는 클러스터와 연결된 이벤트 범주를 나열합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-event-categories \
    --filter Name=engine,Values=docdb \
    --source-type db-cluster
```
Windows의 경우:  

```
aws docdb describe-event-categories ^
    --filter Name=engine,Values=docdb ^
    --source-type db-cluster
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "EventCategoriesMapList": [
        {
            "EventCategories": [
                "notification",
                "failure",
                "maintenance",
                "failover"
            ],
            "SourceType": "db-cluster"
        }
    ]
}
```
다음 코드는 각 Amazon DocumentDB 원본 유형과 관련된 이벤트 범주를 나열합니다.  

```
aws docdb describe-event-categories
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "EventCategoriesMapList": [
        {
            "SourceType": "db-instance",
            "EventCategories": [
                "notification",
                "failure",
                "creation",
                "maintenance",
                "deletion",
                "recovery",
                "restoration",
                "configuration change",
                "read replica",
                "backtrack",
                "low storage",
                "backup",
                "availability",
                "failover"
            ]
        },
        {
            "SourceType": "db-security-group",
            "EventCategories": [
                "configuration change",
                "failure"
            ]
        },
        {
            "SourceType": "db-parameter-group",
            "EventCategories": [
                "configuration change"
            ]
        },
        {
            "SourceType": "db-cluster",
            "EventCategories": [
                "notification",
                "failure",
                "maintenance",
                "failover"
            ]
        },
        {
            "SourceType": "db-cluster-snapshot",
            "EventCategories": [
                "backup"
            ]
        }
    ]
}
```

## Amazon DocumentDB 이벤트 보기
<a name="viewing-events"></a>

지난 24시간 동안의 이벤트를 보여주는 Amazon DocumentDB 콘솔을 통해 Amazon DocumentDB 리소스에 대한 이벤트를 검색할 수 있습니다. [ 설명이벤트 ](https://docs.aws.amazon.com/cli/latest/reference/docdb/describe-events.html) AWS CLI 명령 또는 [설명 이벤트](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DescribeEvents.html) Amazon DocumentDB API 작업을 사용하여 Amazon DocumentDB 리소스에 대한 이벤트를 검색할 수도 있습니다. 또는 AWS CLIAmazon DocumentDB API를 사용하여 이벤트를 볼 경우 지난 14일 동안의 이벤트를 검색할 수 있습니다.

------
#### [ Using the AWS Management Console ]

**지난 24시간 동안 발생한 모든 Amazon DocumentDB 인스턴스 이벤트를 보려면**

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

1. 탐색 창에서 **이벤트**를 선택합니다. 사용 가능한 이벤트가 목록에 표시됩니다.

1. **필터** 목록을 사용하여 유형별로 이벤트를 필터링합니다. 텍스트 상자에 단어를 입력하여 결과를 추가로 필터링할 수 있습니다. 예를 들어, 다음 스크린샷은 *스냅샷* 이벤트에 대한 모든 Amazon DocumentDB 이벤트를 필터링하는 것을 보여줍니다.  
![\[스냅샷에 대한 필터링 이벤트를 보여주는 이벤트 섹션의 스크린샷\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/events-filtering.png)

------
#### [ Using the AWS CLI ]

**지난 7일 동안의 모든 Amazon DocumentDB 인스턴스 이벤트를 보려면 다음과 같이 하십시오**  
[기술-이벤트](https://docs.aws.amazon.com/cli/latest/reference/docdb/describe-events.html) AWS CLI 명령을 호출하고 `--duration` 파라미터를 `10080`으로 설정하여 지난 10,080분(7일) 동안 발생한 모든 Amazon DocumentDB 인스턴스 이벤트를 볼 수 있습니다.

```
aws docdb describe-events --duration 10080
```

**Amazon DocumentDB 이벤트 필터링**

특정 Amazon DocumentDB 이벤트를 보려면 다음 매개변수를 사용하여 `describe-events` 작업을 수행합니다.

**파라미터**
+ **--filter**—반환된 값을 Amazon DocumentDB 이벤트로 제한하는 데 필요합니다. Amazon DocumentDB의 모든 이벤트를 **Name=engine,Values=docdb** 필터링하는 데만 사용합니다.
+ **--source-identifier**—선택 사항. 반환되는 이벤트에 대한 이벤트 소스의 식별자입니다. 생략하면 모든 소스의 이벤트가 결과에 포함됩니다.
+ **--source-type**—선택 사항, 다만 `--source-identifier`이 제공되지 않을 경우, 필수 사항. `--source-identifier`를 제공한 경우 `--source-type`은 `--source-identifier` 유형에 동의해야 합니다. 다음은 허용되는 값입니다:
  + `db-cluster`
  + `db-instance`
  + `db-parameter-group`
  + `db-security-group`
  + `db-cluster-snapshot`

다음 예제에서는 모든 Amazon DocumentDB 이벤트를 나열합니다.

```
aws docdb describe-events --filters Name=engine,Values=docdb
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
    "Events": [
        {
            "SourceArn": "arn:aws:rds:us-east-1:123SAMPLE012:db:sample-cluster-instance3",
            "Message": "instance created",
            "SourceType": "db-instance",
            "Date": "2018-12-11T21:17:40.023Z",
            "SourceIdentifier": "sample-cluster-instance3",
            "EventCategories": [
                "creation"
            ]
        },
        {
            "SourceArn": "arn:aws:rds:us-east-1:123SAMPLE012:db:docdb-2018-12-11-21-08-23",
            "Message": "instance shutdown",
            "SourceType": "db-instance",
            "Date": "2018-12-11T21:25:01.245Z",
            "SourceIdentifier": "docdb-2018-12-11-21-08-23",
            "EventCategories": [
                "availability"
            ]
        },
        {
            "SourceArn": "arn:aws:rds:us-east-1:123SAMPLE012:db:docdb-2018-12-11-21-08-23",
            "Message": "instance restarted",
            "SourceType": "db-instance",
            "Date": "2018-12-11T21:25:11.441Z",
            "SourceIdentifier": "docdb-2018-12-11-21-08-23",
            "EventCategories": [
                "availability"
            ]
        }
    ]
}
```

------

자세한 내용은 [Amazon DocumentDB 이벤트 감사](event-auditing.md) 섹션을 참조하세요.

# 리전 및 가용 영역 선택
<a name="regions-and-azs"></a>

Amazon 클라우드 컴퓨팅 리소스는 전 세계 여러 위치에서 호스팅됩니다. 이러한 위치는 AWS 리전 및 가용 영역으로 구성됩니다. 각 *AWS 리전*은 개별 지리 영역입니다. 각 리전은 *가용 영역*이라고 알려진 격리된 위치를 여러 개 가지고 있습니다. Amazon DocumentDB를 사용하면 인스턴스와 같은 리소스와 데이터를 여러 위치에 배치할 수 있습니다. 특별히 복제하지 않는 AWS 리전 한 리소스는 간에 복제되지 않습니다.

Amazon은 고급의 고가용성 데이터 센터를 운영하고 있습니다. 드물기는 하지만 동일한 위치에 있는 인스턴스의 가용성에 영향을 미치는 장애가 발생할 수도 있습니다. 그런 장애의 영향을 받는 단일한 위치에서 모든 인스턴스를 호스팅하는 경우에는 모든 인스턴스가 사용이 불가능해질 수 있습니다. 다음 다이어그램은 3개의 가용 영역이 AWS 리전 있는를 보여줍니다.

![\[세 개의 가용 영역 a, b 및 c가 포함된 리전의 다이어그램\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/RegionsAndAZs.png)


각 리전은 서로 독립적이라는 점에 유의하십시오. 사용자의 모든 Amazon DocumentDB 활동(인스턴스 또는 사용할 수 있는 인스턴스 목록 생성 등)은 현재 기본 AWS 리전리전에서만 실행됩니다. `EC2_REGION` 환경 변수를 설정하여 콘솔의 기본 리전을 변경할 수 있습니다. 또는 AWS CLI에서 `--region` 파라미터를 사용하여 재정의할 수 있습니다. 자세한 내용은 [구성 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html), 특히 환경 변수 및 명령줄 옵션에 대한 섹션을 참조하세요.

Amazon DocumentDB 콘솔을 사용하여 클러스터를 생성하고 다른 가용 영역에서 복제본을 생성하도록 선택할 경우 Amazon DocumentDB는 두 개의 인스턴스를 생성합니다. 가용 영역 하나에서 기본 인스턴스를 생성하고 다른 가용 영역에서 복제본 인스턴스를 생성합니다. 클러스터 볼륨은 항상 세 개의 가용 영역에 걸쳐 복제됩니다.

특정에서 Amazon DocumentDB 인스턴스를 생성하거나 사용하려면 해당 리전 서비스 엔드포인트를 AWS 리전사용합니다.

## 리전 가용성
<a name="regions-and-azs-availability"></a>

Amazon DocumentDB는 다음 AWS 리전에서 사용할 수 있습니다.

**Amazon DocumentDB에서 지원하는 지역**


| 리전 이름 | 리전 | 가용 영역(컴퓨팅) | 
| --- | --- | --- | 
| 미국 동부(오하이오) | `us-east-2` | 3 | 
| 미국 동부(버지니아 북부) | `us-east-1` | 6 | 
| 미국 서부(오리건) | `us-west-2` | 4 | 
| 아프리카(케이프타운) | `af-south-1` | 3 | 
| 남아메리카(상파울루) | `sa-east-1` | 3 | 
| 아시아 태평양(홍콩) | `ap-east-1` | 3 | 
| 아시아 태평양(하이데라바드) | `ap-south-2` | 3 | 
| 아시아 태평양(말레이시아) | `ap-southeast-5` | 3 | 
| 아시아 태평양(뭄바이) | `ap-south-1` | 3 | 
| 아시아 태평양(오사카) | `ap-northeast-3` | 3 | 
| 아시아 태평양(서울) | `ap-northeast-2` | 4 | 
| 아시아 태평양(싱가포르) | `ap-southeast-1` | 3 | 
| 아시아 태평양(시드니) | `ap-southeast-2` | 3 | 
| 아시아 태평양(자카르타) | `ap-southeast-3` | 3 | 
| 아시아 태평양(멜버른) | `ap-southeast-4` | 3 | 
| 아시아 태평양(태국) | `ap-southeast-7` | 3 | 
| 아시아 태평양(도쿄) | `ap-northeast-1` | 3 | 
| 캐나다(중부) | `ca-central-1` | 3 | 
| 중국(베이징) 리전 | `cn-north-1` | 3 | 
| 중국(닝샤) | `cn-northwest-1` | 3 | 
| 유럽(프랑크푸르트) | `eu-central-1` | 3 | 
| 유럽(취리히) | `eu-central-2` | 3 | 
| 유럽(아일랜드) | `eu-west-1` | 3 | 
| 유럽(런던) | `eu-west-2` | 3 | 
| 유럽(밀라노) | `eu-south-1` | 3 | 
| 유럽(파리) | `eu-west-3` | 3 | 
| 유럽(스페인) | `eu-south-2` | 3 | 
| 유럽(스톡홀름) | `eu-north-1` | 3 | 
| 멕시코(중부) | `mx-central-1` | 3 | 
| 중동(UAE) | `me-central-1` | 3 | 
| 이스라엘(텔아비브) | `il-central-1` | 3 | 
| AWS GovCloud(미국 서부) | `us-gov-west-1` | 3 | 
| AWS GovCloud(미국 동부) | `us-gov-east-1` | 3 | 

기본적으로 Amazon DocumentDB 클러스터의 시간대는 협정 세계시(UTC)입니다.

특정 리전의 클러스터 및 인스턴스용 연결 엔드포인트를 찾는 방법에 대한 자세한 내용은 [Amazon DocumentDB 엔드포인트에 대한 이해](endpoints.md) 섹션을 참조하십시오.

# Amazon DocumentDB 클러스터 파라미터 그룹 관리
<a name="cluster_parameter_groups"></a>

클러스터 파라미터 그룹에서 파라미터를 사용하여 Amazon DocumentDB 엔진 구성을 관리할 수 있습니다. *클러스터 파라미터 그룹*은 Amazon DocumentDB 클러스터의 파라미터를 보다 쉽게 관리할 수 있는 Amazon DocumentDB 구성 값 모음입니다. 클러스터 파라미터 그룹은 클러스터의 모든 인스턴스에 적용되는 엔진 구성 값의 컨테이너 역할을 합니다.

이 단원에서는 클러스터 파라미터 그룹을 생성, 확인 및 수정하는 방법에 대해 설명합니다. 또한 지정된 클러스터와 연결된 클러스터 파라미터 그룹을 확인하는 방법을 보여줍니다.

**Topics**
+ [클러스터 파라미터 그룹 설명](cluster_parameter_groups-describe.md)
+ [클러스터 파라미터 그룹 생성](cluster_parameter_groups-create.md)
+ [클러스터 파라미터 그룹 수정](cluster_parameter_groups-modify.md)
+ [사용자 지정된 클러스터 파라미터 그룹을 사용하도록 클러스터 수정](cluster_parameter_groups-modify_clusters.md)
+ [클러스터 파라미터 그룹 복사](cluster_parameter_groups-copy.md)
+ [클러스터 파라미터 그룹 재설정](cluster_parameter_groups-reset.md)
+ [클러스터 파라미터 그룹 삭제](cluster_parameter_groups-delete.md)
+ [클러스터 파라미터 참조](cluster_parameter_groups-list_of_parameters.md)

# Amazon DocumentDB 클러스터 파라미터 그룹 설명
<a name="cluster_parameter_groups-describe"></a>

새 지역에서 첫 번째 Amazon DocumentDB 클러스터를 생성하거나 새 엔진을 사용할 때 `default` 클러스터 파라미터 그룹이 자동으로 생성됩니다. 동일한 지역에 생성되고 엔진 버전이 동일한 후속 클러스터는 `default` 클러스터 파라미터 그룹을 사용하여 생성됩니다.

**Topics**
+ [클러스터 파라미터 그룹의 세부 정보 설명](#cluster_parameter_groups-describe_details)
+ [클러스터의 파라미터 그룹 확인](#cluster_parameter_groups-determine)
+ [클러스터 파라미터 그룹과 연결된 클러스터 및 인스턴스 확인](#cluster_parameter_groups-count)

## Amazon DocumentDB 클러스터 파라미터 그룹의 세부 정보 설명
<a name="cluster_parameter_groups-describe_details"></a>

지정된 클러스터 파라미터 그룹의 세부 정보를 설명하려면 AWS Management Console 또는 AWS Command Line Interface ()를 사용하여 다음 단계를 완료합니다AWS CLI.

------
#### [ Using the AWS Management Console ]

****

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. **클러스터 파라미터 그룹** 창에서 세부 정보를 보려는 파라미터 그룹의 이름을 선택합니다.

1. 결과 페이지에는 파라미터 그룹의 파라미터, 최근 활동 및 태그가 표시됩니다.
   + **클러스터 파라미터**에서 파라미터의 이름, 현재 값, 허용되는 값, 파라미터의 수정 가능 여부, 적용 유형, 데이터 유형 및 설명을 볼 수 있습니다. 파라미터를 선택한 다음 **클러스터 파라미터** 섹션에서 **편집**을 선택하여 개별 파라미터를 수정할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 수정](cluster_parameter_groups-parameters.md)(을)를 참조하세요.
   + **최근 이벤트**에서 이 파라미터 그룹에 대한 가장 최근 이벤트를 볼 수 있습니다. 이 섹션의 검색 창을 사용하여 이러한 이벤트를 필터링할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 이벤트 관리](managing-events.md)(을)를 참조하세요.
   + **태그**에서 이 클러스터 파라미터 그룹에 있는 태그를 볼 수 있습니다. **태그** 섹션에서 **편집**을 선택하여 태그를 추가하거나 제거할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 리소스 태그 지정](tagging.md)(을)를 참조하세요.

------
#### [ Using the AWS CLI ]

`describe-db-cluster-parameter-groups` AWS CLI 명령을 사용하여 단일 클러스터 파라미터 그룹 또는 Amazon DocumentDB에 대해 보유한 모든 클러스터 파라미터 그룹의 Amazon 리소스 이름(ARN), 패밀리, 설명 및 이름을 볼 수 있습니다. `describe-db-cluster-parameters` AWS CLI 명령을 사용하여 단일 클러스터 파라미터 그룹 내에서 파라미터와 해당 세부 정보를 볼 수도 있습니다.
+ **--describe-db-cluster-parameter-groups** - 모든 클러스터 파라미터 그룹 및 세부 정보 목록을 확인합니다.
  + **--db-cluster-parameter-group-name** - 선택 사항. 설명하려는 클러스터 파라미터 그룹의 이름입니다. 이 파라미터를 생략할 경우 모든 클러스터 파라미터 그룹을 설명합니다.
+ **--describe-db-cluster-parameters** - 파라미터 그룹 내의 모든 파라미터와 해당 값을 나열합니다.
  + **--db-cluster-parameter-group name** - 필수입니다. 설명하려는 클러스터 파라미터 그룹의 이름입니다.

**Example**  
다음 코드에는 최대 100개의 클러스터 파라미터 그룹과 해당 ARN, 패밀리, 설명 및 이름이 나열되어 있습니다.  

```
aws docdb describe-db-cluster-parameter-groups
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
          "DBClusterParameterGroups": [
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:012345678912:cluster-pg:default.docdb4.0",
                  "DBParameterGroupFamily": "docdb4.0",
                  "Description": "Default cluster parameter group for docdb4.0",
                  "DBClusterParameterGroupName": "default.docdb4.0"
              },
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:012345678912:cluster-pg:sample-parameter-group",
                  "DBParameterGroupFamily": "docdb4.0",
                  "Description": "Custom docdb4.0 parameter group",
                  "DBClusterParameterGroupName": "sample-parameter-group"
              }
          ]
}
```

**Example**  
다음 코드에는 `sample-parameter-group`에 대한 ARN, 패밀리, 설명 및 이름이 나열되어 있습니다.  
Linux, macOS 또는 Unix의 경우:  

```
aws docdb describe-db-cluster-parameter-groups \
          --db-cluster-parameter-group-name sample-parameter-group
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameter-groups ^
          --db-cluster-parameter-group-name sample-parameter-group
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
          "DBClusterParameterGroups": [
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:sample-parameter-group",
                  "Description": "Custom docdb4.0 parameter group",
                  "DBParameterGroupFamily": "docdb4.0",
                  "DBClusterParameterGroupName": "sample-parameter-group"
              }
          ]
}
```

**Example**  
다음 코드에는 `sample-parameter-group`의 파라미터 값이 나열되어 있습니다.  
Linux, macOS 또는 Unix의 경우:  

```
aws docdb describe-db-cluster-parameters \
    --db-cluster-parameter-group-name sample-parameter-group
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameters ^
    --db-cluster-parameter-group-name sample-parameter-group
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
   "Parameters": [
         {
            "ParameterName": "audit_logs",
            "ParameterValue": "disabled",
            "Description": "Enables auditing on cluster.",
            "Source": "system",
            "ApplyType": "dynamic",
            "DataType": "string",
            "AllowedValues": "enabled,disabled",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot"
         },
         {
            "ParameterName": "change_stream_log_retention_duration",
            "ParameterValue": "17777",
            "Description": "Duration of time in seconds that the change stream log is retained and can be consumed.",
            "Source": "user",
            "ApplyType": "dynamic",
            "DataType": "integer",
            "AllowedValues": "3600-86400",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot"
         }
   ]
}
```

------

## Amazon DocumentDB 클러스터의 파라미터 그룹 확인
<a name="cluster_parameter_groups-determine"></a>

특정 클러스터와 연결된 파라미터 그룹을 확인하려면 AWS Management Console 또는를 사용하여 다음 단계를 완료합니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 좌측 탐색 창에서 **클러스터**를 선택합니다.

1. 클러스터 목록에서 원하는 클러스터 이름을 선택합니다.

1. 결과 페이지에는 선택한 클러스터의 세부 정보가 표시됩니다. **클러스터 세부 정보**까지 아래로 스크롤합니다. 해당 섹션의 하단에 있는 **클러스터 파라미터 그룹** 아래에서 파라미터 그룹의 이름을 찾습니다.  
![\[스크린샷: 클러스터의 파라미터 그룹을 표시.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-determine-parameter-group.png)

------
#### [ Using the AWS CLI ]

다음 AWS CLI 코드는 클러스터를 관리하는 파라미터 그룹을 결정합니다`sample-cluster`.

```
aws docdb describe-db-clusters \
      --db-cluster-identifier sample-cluster \
      --query 'DBClusters[*].[DBClusterIdentifier,DBClusterParameterGroup]'
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
[
       [
           "sample-cluster",
           "sample-parameter-group"
       ]
]
```

------

## Amazon DocumentDB 클러스터 파라미터 그룹과 연결된 클러스터 및 인스턴스 확인
<a name="cluster_parameter_groups-count"></a>

각 파라미터 그룹과 연결된 클러스터 및 인스턴스 수를 확인하려면를 사용하여 다음 단계를 완료합니다 AWS CLI.

------
#### [ Using the AWS CLI ]

다음 AWS CLI 코드는와 연결된 클러스터 및 인스턴스 수를 결정합니다`sample-parameter-group`.

Linux, macOS, Unix의 경우:

```
aws docdb describe-db-clusters \
      --query 'DBClusters[*].[DBClusterParameterGroup,DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]' \
      --output json | \
      jq -r 'group_by(.[0]) | map({
         parameter_group_name: .[0][0],
         total_clusters: length,
         total_instances: map(.[2] | length) | add // 0
      }) | .[]'
```

Windows의 경우:

```
aws docdb describe-db-clusters ^
      --query 'DBClusters[*].[DBClusterParameterGroup,DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]' ^
      --output json | ^
      jq -r 'group_by(.[0]) | map({
         parameter_group_name: .[0][0],
         total_clusters: length,
         total_instances: map(.[2] | length) | add // 0
      }) | .[]'
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
   "parameter_group_name": "sample-parameter-group",
   "total_clusters": 50,
   "total_instances": 150
}
```

------

# Amazon DocumentDB 클러스터 파라미터 그룹 생성
<a name="cluster_parameter_groups-create"></a>

`default.docdb5.0`, `default.docdb4.0` 또는 `default.docdb3.6` 등의 기본 클러스터 파라미터 그룹은 새 엔진 버전을 사용하여 새 리전에 클러스터를 생성할 때 생성됩니다. 이 리전에 생성되고 엔진 버전이 동일한 후속 클러스터는 `default` 클러스터 파라미터 그룹을 상속합니다. 한 번 생성된 `default` 파라미터 그룹은 삭제하거나 이름을 바꿀 수 없습니다. 선호하는 파라미터 값을 사용하여 사용자 지정 파라미터 그룹을 생성하고 Amazon DocumentDB 클러스터에 연결하여 클러스터 인스턴스의 엔진 동작을 수정할 수 있습니다.

다음 절차에서는 사용자 지정 클러스터 파라미터 그룹을 생성하는 방법을 안내합니다. 그런 다음 [해당 파라미터 그룹 내에서 파라미터를 수정](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-modify.html)할 수 있습니다.

**참고**  
클러스터 파라미터 그룹을 생성한 후 해당 특정 파라미터 그룹을 사용하려면 5분 이상 기다려야 합니다. 그러면 클러스터 파라미터 그룹이 새 클러스터에 사용되기 전에 Amazon DocumentDB에서 `create` 작업을 완전히 마칠 수 있습니다. AWS Management Console 또는 `describe-db-cluster-parameter-groups` AWS CLI 작업을 사용하여 클러스터 파라미터 그룹이 생성되었는지 확인할 수 있습니다. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 설명](cluster_parameter_groups-describe.md) 단원을 참조하십시오.

------
#### [ Using the AWS Management Console ]

**클러스터 파라미터 그룹을 생성하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. **클러스터 파라미터 그룹** 창에서 **생성**을 선택합니다.

1. **클러스터 파라미터 그룹 만들기** 창에서 다음을 입력합니다.

   1. **새 클러스터 파라미터 그룹 이름** - 클러스터 파라미터 그룹의 이름을 입력합니다. 예를 들어 `sample-parameter-group`입니다. 클러스터 파라미터 그룹에는 다음과 같은 명명 제약 조건이 있습니다.
      + [1-255]자 길이의 영숫자 문자입니다.
      + 첫 번째 문자는 글자이어야 합니다.
      + 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.

   1. **패밀리** - 클러스터에 사용할 DocumentDB 버전을 선택합니다.

   1. **설명** - 이 클러스터 파라미터 그룹에 대한 설명을 제공합니다.

1. 클러스터 파라미터 그룹을 생성하려면 **생성**을 선택합니다. 작업을 취소하려면 **취소**를 선택합니다.

1. **생성**을 선택하면 클러스터 파라미터 그룹이 성공적으로 생성되었는지 확인하기 위해 페이지 상단에 다음 텍스트가 나타납니다.

   ```
   Successfully created cluster parameter group 'sample-parameter-group'.
   ```

------
#### [ Using the AWS CLI ]

Amazon DocumentDB 4.0 클러스터에 AWS CLI `create-db-cluster-parameter-group` 대한 새 클러스터 파라미터 그룹을 생성하려면 다음 파라미터와 함께 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 사용자 지정 클러스터 파라미터 그룹의 이름입니다. 예를 들어 `sample-parameter-group`입니다.
+ **--db-cluster-parameter-group-family** - 사용자 지정 클러스터 파라미터 그룹의 템플릿으로 사용되는 클러스터 파라미터 그룹 패밀리입니다.
+ **--description** - 이 클러스터 파라미터 그룹에 대해 사용자가 제공한 설명입니다. 다음 예에는 “`Custom docdb4.0 parameter group`“이 사용됩니다.

Linux, macOS 또는 Unix의 경우:

**Example**  

```
aws docdb create-db-cluster-parameter-group \
 --db-cluster-parameter-group-name sample-parameter-group \
 --db-parameter-group-family docdb5.0 \
 --description "Custom docdb5.0 parameter group"
```
Windows의 경우:  

```
aws docdb create-db-cluster-parameter-group ^
 --db-cluster-parameter-group-name sample-parameter-group ^
 --db-parameter-group-family docdb5.0 ^
 --description "Custom docdb5.0 parameter group"
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupName": "sample-parameter-group",
        "DBParameterGroupFamily": "docdb5.0",
        "Description": "Custom docdb4.0 parameter group",
        "DBClusterParameterGroupArn": "sample-parameter-group-arn"
    }
}
```

------

# Amazon DocumentDB 클러스터 파라미터 그룹 수정
<a name="cluster_parameter_groups-modify"></a>

이 단원에서는 *사용자 지정* Amazon DocumentDB 파라미터 그룹을 수정하는 방법에 대해 설명합니다. Amazon DocumentDB에서는 새 리전에 새 엔진 버전으로 클러스터를 처음 생성할 때 생성되는 `default` 클러스터 파라미터 그룹을 수정할 수 없습니다. Amazon DocumentDB 클러스터가 기본 클러스터 파라미터 그룹을 사용하고 있는 경우, 이 그룹의 값을 수정하려면 먼저 [새 파라미터 그룹 생성](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-create.html)을 하거나 [기존 파라미터 그룹 복사](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-copy.html)를 하여 수정한 다음 수정된 파라미터 그룹을 클러스터에 적용해야 합니다.

사용자 지정 클러스터 파라미터 그룹을 수정하려면 다음 단계를 완료합니다. 수정 작업이 전파되는 데 시간이 걸릴 수 있습니다. 수정된 클러스터 파라미터 그룹을 클러스터에 연결하기 전에 사용할 수 있을 때까지 기다리십시오. AWS Management Console 또는 AWS CLI `describe-db-cluster-parameters` 작업을 사용하여 클러스터 파라미터 그룹이 수정되었는지 확인할 수 있습니다. 자세한 내용은 [클러스터 파라미터 그룹 설명](cluster_parameter_groups-describe.md) 단원을 참조하십시오.

------
#### [ Using the AWS Management Console ]

사용자 지정 Amazon DocumentDB 파라미터 그룹을 수정하려면 다음 단계를 수행합니다. `default` 파라미터 그룹은 수정할 수 없습니다. `default` 파라미터 그룹의 값을 수정하려면 [기본 클러스터 파라미터 그룹을 복사](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-copy.html)하여 수정한 다음 수정된 파라미터 그룹을 클러스터에 적용하면 됩니다. 클러스터에 파라미터 그룹을 적용하는 방법에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md)(을)를 참조하세요.

**사용자 지정 클러스터 파라미터 그룹을 수정하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 콘솔 왼쪽의 탐색 창에서 **파라미터 그룹**을 선택합니다. 파라미터 그룹 목록에서 수정하고자 하는 파라미터 그룹의 이름을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. 수정하고자 하는 파라미터 그룹의 각 파라미터에 대해 다음을 수행합니다.

   1. 수정하려는 파라미터를 찾은 다음, **수정 가능** 열에 `true`로 나열되어 있는지 확인하여 해당 파라미터가 수정 가능한지 확인합니다.

   1. 수정할 수 있는 경우 해당 파라미터를 선택하고 콘솔 페이지의 오른쪽 상단에서 **편집**을 선택합니다.

   1. **수정 `<parameter-name>`** 대화 상자에서 원하는 대로 변경합니다. 그런 다음 **Modify cluster parameter(클러스터 파라미터 수정)**를 선택하거나 **취소**를 선택하여 변경 사항을 무시합니다.

------
#### [ Using the AWS CLI ]

 AWS CLI를 사용하여 사용자 지정 Amazon DocumentDB 클러스터 파라미터 그룹에서 수정 가능한 파라미터의 `ParameterValue`, `Description` 또는 `ApplyMethod`를 수정할 수 있습니다. 기본 클러스터 파라미터 그룹을 직접 수정할 수는 없습니다.

사용자 지정 클러스터 파라미터 그룹의 파라미터를 수정하려면 다음 파라미터와 함께 `modify-db-cluster-parameter-group` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 수정하려는 클러스터 파라미터 그룹의 이름입니다.
+ **--parameters** - 필수입니다. 수정 중인 파라미터입니다. Amazon DocumentDB 클러스터의 모든 인스턴스에 적용되는 파라미터 목록은 [Amazon DocumentDB 클러스터 파라미터 참조](cluster_parameter_groups-list_of_parameters.md)(을)를 참조하세요. 각 파라미터 요소는 다음을 포함해야 합니다.
  + **ParameterName** - 수정 중인 파라미터의 이름입니다.
  + **ParameterValue** - 이 파라미터의 새 값입니다.
  + **ApplyMethod** - 파라미터에 대한 변경 사항을 적용할 방법입니다. 허용된 값은 `immediate` 및 `pending-reboot`입니다.
**참고**  
`static`의 `ApplyType` 파라미터에는 `pending-reboot`의 `ApplyMethod`이 있어야 합니다.

**Example - 파라미터 값 수정**  
이 예에서는 `sample-parameter-group`의 파라미터 값을 나열하고 `tls` 파라미터를 수정합니다. 그런 다음 5분 후에 다시 `sample-parameter-group`의 파라미터 값을 나열하여 변경된 파라미터 값을 확인합니다.  

1. `sample-parameter-group`의 파라미터 및 해당 값을 나열합니다.

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb describe-db-cluster-parameters \
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-cluster-parameters ^
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
          "Parameters": [
              {
                  "Source": "system",
                  "ApplyType": "static",
                  "AllowedValues": "disabled,enabled",
                  "ParameterValue": "enabled",
                  "ApplyMethod": "pending-reboot",
                  "DataType": "string",
                  "ParameterName": "tls",
                  "IsModifiable": true,
                  "Description": "Config to enable/disable TLS"
              },
              {
                  "Source": "user",
                  "ApplyType": "dynamic",
                  "AllowedValues": "disabled,enabled",
                  "ParameterValue": "enabled",
                  "ApplyMethod": "pending-reboot",
                  "DataType": "string",
                  "ParameterName": "ttl_monitor",
                  "IsModifiable": true,
                  "Description": "Enables TTL Monitoring"
              }
          ]
   }
   ```

1. 해당 값이 `disabled`가 되도록 `tls` 파라미터를 수정합니다.

   `ApplyType`은 `static`이므로 `ApplyMethod`를 수정할 수 없습니다.

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group \
          --db-cluster-parameter-group-name sample-parameter-group \
          --parameters "ParameterName"=tls,"ParameterValue"=disabled,"ApplyMethod"=pending-reboot
   ```

   Windows의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group ^
          --db-cluster-parameter-group-name sample-parameter-group ^
          --parameters "ParameterName"=tls,"ParameterValue"=disabled,"ApplyMethod"=pending-reboot
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
          "DBClusterParameterGroupName": "sample-parameter-group"
      }
   ```

1. 적어도 5분을 기다립니다.

1. `sample-parameter-group`의 파라미터 값을 나열하여 `tls` 파라미터가 수정되었는지 확인합니다.

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb describe-db-cluster-parameters \
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-cluster-parameters ^
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
          "Parameters": [
              {
                  "ParameterValue": "false",
                  "ParameterName": "enable_audit_logs",
                  "ApplyType": "dynamic",
                  "DataType": "string",
                  "Description": "Enables auditing on cluster.",
                  "AllowedValues": "true,false",
                  "Source": "system",
                  "IsModifiable": true,
                  "ApplyMethod": "pending-reboot"
              },
              {
                  "ParameterValue": "disabled",
                  "ParameterName": "tls",
                  "ApplyType": "static",
                  "DataType": "string",
                  "Description": "Config to enable/disable TLS",
                  "AllowedValues": "disabled,enabled",
                  "Source": "system",
                  "IsModifiable": true,
                  "ApplyMethod": "pending-reboot"
              }
          ]
   }
   ```

------

# 사용자 지정 클러스터 파라미터 그룹을 사용하도록 Amazon DocumentDB 클러스터 수정
<a name="cluster_parameter_groups-modify_clusters"></a>

Amazon DocumentDB 클러스터를 생성하면 해당 클러스터에 대해 `default.docdb4.0` 파라미터 그룹이 자동으로 생성됩니다. `default` 클러스터 파라미터 그룹은 수정할 수 없습니다. 대신 Amazon DocumentDB 클러스터를 수정하여 새로 사용자 지정된 파라미터 그룹을 연결할 수 있습니다.

이 섹션에서는 AWS Management Console 및 AWS Command Line Interface ()를 사용하여 사용자 지정 클러스터 파라미터 그룹을 사용하도록 기존 Amazon DocumentDB 클러스터를 수정하는 방법을 설명합니다AWS CLI.

------
#### [ Using the AWS Management Console ]

**기본이 아닌 새로운 클러스터 파라미터 그룹을 사용하도록 Amazon DocumentDB 클러스터를 수정하려면**

1. 시작하기 전에 Amazon DocumentDB 클러스터와 클러스터 파라미터 그룹을 생성했는지 확인합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 생성](db-cluster-create.md) 및 [Amazon DocumentDB 클러스터 파라미터 그룹 생성](cluster_parameter_groups-create.md)(을)를 참조하세요.

1. 클러스터 파라미터 그룹을 생성한 후 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다. 탐색 창에서 **클러스터**를 선택하여 새 파라미터 그룹을 클러스터에 추가합니다.

1. 파라미터 그룹을 연결할 클러스터를 선택합니다. **작업**을 선택한 다음 **수정**을 선택하여 클러스터를 수정합니다.

1. **클러스터 옵션**에서 클러스터를 연결할 새 파라미터 그룹을 선택합니다.

1. 수정 사항의 요약을 보려면 **계속**을 선택합니다.

1. 변경 사항을 확인한 후 즉시 적용하거나 **수정 일정** 아래의 다음 유지 관리 기간 중에 적용할 수 있습니다.

1. 클러스터를 새 파라미터 그룹으로 업데이트하려면 **클러스터 수정**을 선택합니다.

------
#### [ Using the AWS CLI ]

시작하기 전에 Amazon DocumentDB 클러스터와 클러스터 파라미터 그룹을 생성했는지 확인합니다. 작업을 사용하여 [ Amazon DocumentDB 클러스터](https://docs.aws.amazon.com//documentdb/latest/developerguide/db-cluster-create.html)를 AWS CLI `create-db-cluster` 생성할 수 있습니다. `create-db-cluster-parameter-group` 작업을 사용하여 [클러스터 파라미터 그룹을 생성할](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-create.html) 수 있습니다 AWS CLI .

새 클러스터 파라미터 그룹을 클러스터에 추가하려면 다음 파라미터와 함께 `modify-db-cluster` 작업을 사용합니다 AWS CLI .
+ **--db-cluster-identifier** - 클러스터의 이름(예: `sample-cluster`)입니다.
+ **--db-cluster-parameter-group-name** - 클러스터를 연결할 파라미터 그룹의 이름(예: `sample-parameter-group`)입니다.

**Example**  

```
aws docdb modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --db-cluster-parameter-group-name sample-parameter-group
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
"DBCluster": {
    "AvailabilityZones": [
            "us-west-2c",
            "us-west-2b",
            "us-west-2a"
    ],
    "BackupRetentionPeriod": 1,
    "DBClusterIdentifier": "sample-cluster",
    "DBClusterParameterGroup": "sample-parameter-group",
    "DBSubnetGroup": "default",
   ...
}
```

------

# Amazon DocumentDB 클러스터 파라미터 그룹 복사
<a name="cluster_parameter_groups-copy"></a>

 AWS Management Console 또는 AWS Command Line Interface ()를 사용하여 Amazon DocumentDB에서 클러스터 파라미터 그룹의 복사본을 만들 수 있습니다AWS CLI.

------
#### [ Using the AWS Management Console ]

다음 절차에서는 기존 클러스터 파라미터 그룹의 복사본을 만들어 새 클러스터 파라미터 그룹을 만드는 방법을 안내합니다.

**클러스터 파라미터 그룹을 복사하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.

1. **클러스터 파라미터 그룹** 창에서 복사하려는 클러스터 파라미터 그룹의 이름을 선택합니다.

1. **작업**을 선택한 후 **복사**를 선택하여 해당 파라미터 그룹을 복사합니다.

1. **복사 옵션**에서 새 클러스터 파라미터 그룹의 이름과 설명을 입력합니다. 그런 다음 **복사**를 선택하여 변경 사항을 저장합니다.

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹을 복사하려면 다음 파라미터와 함께 `copy-db-cluster-parameter-group` 작업을 사용합니다.
+ **--source-db-cluster-parameter-group-identifier** - 필수입니다. 복사하려는 클러스터 파라미터 그룹의 의 이름 또는 Amazon 리소스 이름(ARN)입니다.

  소스 및 대상 클러스터 파라미터 그룹이 동일한 경우 AWS 리전식별자는 이름 또는 ARN일 수 있습니다.

  소스 및 대상 클러스터 파라미터 그룹이 다른 경우 AWS 리전식별자는 ARN이어야 합니다.
+ **--target-db-cluster-parameter-group-identifier** - 필수입니다. 클러스터 파라미터 그룹 복사본의 이름 또는 ARN입니다.

  제약 조건:
  + null이거나, 비워 두거나, 공백을 입력할 수 없습니다.
  + 1\$1255자의 문자, 숫자 또는 하이픈을 포함해야 합니다.
  + 첫 번째 문자는 글자이어야 합니다.
  + 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.
+ **--target-db-cluster-parameter-group-description** - 필수입니다. 사용자가 제공한 클러스터 파라미터 그룹 복사본에 대한 설명입니다.

**Example**  
다음은 `sample-parameter-group`의 복사본을 만들어 이름을 `sample-parameter-group-copy`로 지정하는 코드입니다.  
Linux, macOS 또는 Unix의 경우:  

```
aws docdb copy-db-cluster-parameter-group \
    --source-db-cluster-parameter-group-identifier sample-parameter-group \
    --target-db-cluster-parameter-group-identifier sample-parameter-group-copy \
    --target-db-cluster-parameter-group-description "Copy of sample-parameter-group"
```
Windows의 경우:  

```
aws docdb copy-db-cluster-parameter-group ^
    --source-db-cluster-parameter-group-identifier sample-parameter-group ^
    --target-db-cluster-parameter-group-identifier sample-parameter-group-copy ^
    --target-db-cluster-parameter-group-description "Copy of sample-parameter-group"
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:sample-parameter-group-copy",
        "DBClusterParameterGroupName": "sample-parameter-group-copy",
        "DBParameterGroupFamily": "docdb4.0",
        "Description": "Copy of sample-parameter-group"
    }
}
```

------

# Amazon DocumentDB 클러스터 파라미터 그룹 재설정
<a name="cluster_parameter_groups-reset"></a>

 AWS Management Console 또는 AWS Command Line Interface (AWS CLI)를 사용하여 클러스터 파라미터 그룹을 재설정하여 Amazon DocumentDB 클러스터 파라미터 그룹의 파라미터 값 중 일부 또는 전부를 기본값으로 재설정할 수 있습니다.

------
#### [ Using the AWS Management Console ]

클러스터 파라미터 그룹의 파라미터 값 중 일부 또는 전부를 기본값으로 재설정하려면 다음 단계를 수행하십시오.

**클러스터 파라미터 그룹의 파라미터 값을 재설정하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 콘솔 왼쪽의 탐색 창에서 **파라미터 그룹**을 선택합니다.

1. **클러스터 파라미터 그룹** 창에서 재설정하려는 클러스터 파라미터 그룹의 이름을 선택합니다.

1. **작업**을 선택한 후 **재설정**을 선택하여 해당 파라미터 그룹을 재설정합니다.

1. 결과 **클러스터 파라미터 그룹 재설정 확인** 페이지에서 해당 파라미터 그룹에 대한 모든 클러스터 파라미터를 기본값으로 재설정할지 확인합니다. 그런 다음 **재설정**을 선택하여 파라미터 그룹을 재설정합니다. **취소**를 선택하여 변경 사항을 취소할 수도 있습니다.

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹의 파라미터 값 중 일부 또는 전부를 기본값으로 재설정하려면 다음 파라미터와 함께 `reset-db-cluster-parameter-group` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 재설정할 클러스터 파라미터 그룹의 이름입니다.
+ **--parameters** - 선택 사항. 기본값으로 재설정하려는 클러스터 파라미터 그룹의 `ParameterName` 및 `ApplyMethod` 목록입니다. 다음 인스턴스 재시작 또는 `reboot-db-instance` 요청 시 적용하려면 정적 파라미터를 `pending-reboot`로 설정해야 합니다. 업데이트된 정적 파라미터를 적용할 클러스터의 모든 인스턴스에 대해 `reboot-db-instance`를 호출해야 합니다.

  이 파라미터와 `--reset-all-parameters`는 상호 배타적이므로 둘 중 하나를 선택할 수 있지만 둘 다 선택할 수는 없습니다.
+ **--reset-all-parameters** 또는 **--no-reset-all-parameters** - 선택 사항. 모든 파라미터(`--reset-all-parameters`)를 기본값으로 재설정할지 또는 일부 파라미터(`--no-reset-all-parameters`)를 기본값으로 재설정할지를 지정합니다. `--reset-all-parameters` 파라미터와 `--parameters`는 상호 배타적이므로 둘 중 하나를 선택할 수 있지만 둘 다 선택할 수는 없습니다.

  전체 그룹을 재설정하면 동적 파라미터가 즉시 업데이트됩니다. 다음 인스턴스 재시작 시 또는 `reboot-db-instance` 요청 시 적용하려면 정적 파라미터를 `pending-reboot`로 설정합니다. 업데이트된 정적 파라미터를 적용할 클러스터의 모든 인스턴스에 대해 `reboot-db-instance`를 호출해야 합니다.

**Example**  
**예제 1: 모든 파라미터를 기본값으로 재설정합니다.**  
다음 코드는 클러스터 파라미터 그룹 `sample-parameter-group`의 모든 파라미터를 기본값으로 재설정합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb reset-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --reset-all-parameters
```
Windows의 경우:  

```
aws docdb reset-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --reset-all-parameters
```
**예제 2: 지정된 파라미터를 기본값으로 재설정합니다.**  
다음 코드는 클러스터 파라미터 그룹 `sample-parameter-group`의 `tls` 파라미터를 기본값으로 재설정합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb reset-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --no-reset-all-parameters \
       --parameters ParameterName=tls,ApplyMethod=pending-reboot
```
Windows의 경우:  

```
aws docdb reset-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --no-reset-all-parameters ^
       --parameters ParameterName=tls,ApplyMethod=pending-reboot
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
       "DBClusterParameterGroupName": "sample-parameter-group"
   }
```
**클러스터 인스턴스 재부팅**  
정적 파라미터 값을 변경하기 전에 클러스터 인스턴스를 재부팅해야 합니다. 업데이트된 정적 파라미터를 적용할 클러스터의 각 인스턴스를 재부팅합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb reboot-db-instance \
       --db-instance-identifier sample-cluster-instance
```
Windows의 경우:  

```
aws docdb reboot-db-instance ^
       --db-instance-identifier sample-cluster-instance
```

------

# Amazon DocumentDB 클러스터 파라미터 그룹 삭제
<a name="cluster_parameter_groups-delete"></a>

 AWS Management Console 또는 AWS Command Line Interface ()를 사용하여 사용자 지정 Amazon DocumentDB 클러스터 파라미터 그룹을 삭제할 수 있습니다AWS CLI. `default.docdb4.0` 클러스터 파라미터 그룹은 삭제할 수 없습니다.

------
#### [ Using the AWS Management Console ]

**클러스터 파라미터 그룹을 삭제하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. **파라미터 그룹** 창에서 삭제하려는 클러스터 파라미터 그룹 왼쪽에 있는 라디오 버튼을 선택합니다.

1. **작업**을 선택한 후 **삭제**를 선택합니다.

1. **삭제** 확인 창에서 **삭제**를 선택하여 클러스터 파라미터 그룹을 삭제합니다. 클러스터 파라미터 그룹을 유지하려면 **취소**를 선택합니다.

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹을 삭제하려면 다음 파라미터와 함께 `delete-db-cluster-parameter-group` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 삭제할 클러스터 파라미터 그룹의 이름입니다. 기존 클러스터 파라미터 그룹이어야 합니다. *`default.docdb4.0` 클러스터 파라미터 그룹은 삭제할 수 없습니다. * 

**Example - 클러스터 파라미터 그룹 삭제**  
다음 예제에서는 클러스터 파라미터 그룹을 삭제하기 위한 3단계를 안내합니다.  

1. 삭제하려는 클러스터 파라미터 그룹의 이름 찾기

1. 지정된 클러스터 파라미터 그룹 삭제

1. 클러스터 파라미터 그룹이 삭제되었는지 확인
**1. 삭제하려는 클러스터 파라미터 그룹의 이름을 찾습니다.**  
다음 코드는 모든 클러스터 파라미터 그룹의 이름을 나열합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameter-groups ^
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
이전 작업의 출력에는 다음과 유사한 클러스터 파라미터 그룹의 이름이 나열됩니다(JSON 형식).  

```
[
       [
           "default.docdb4.0"
       ],
       [
           "sample-parameter-group"
       ],
       [
           "sample-parameter-group-copy"
       ]
   ]
```
**2. 클러스터 파라미터 그룹을 삭제합니다.**  
다음 코드는 `sample-parameter-group-copy` 클러스터 파라미터 그룹을 삭제합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb delete-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group-copy
```
Windows의 경우:  

```
aws docdb delete-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group-copy
```
이 작업에는 출력이 없습니다.  
**3. 지정된 클러스터 파라미터 그룹이 삭제되었는지 확인합니다.**  
다음 코드는 이름이 변경된 모든 클러스터 파라미터 그룹의 이름을 나열합니다.
Linux, macOS 또는 Unix의 경우:  

```
aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameter-groups ^
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
이전 작업의 출력에는 다음과 유사한 클러스터 파라미터 그룹이 나열됩니다(JSON 형식). 방금 삭제한 클러스터 파라미터 그룹이 목록에 없어야 합니다.  
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
       [
           "default.docdb4.0"
       ],
       [
           "sample-parameter-group"
       ]
   ]
```

------

# Amazon DocumentDB 클러스터 파라미터 참조
<a name="cluster_parameter_groups-list_of_parameters"></a>

동적 파라미터를 변경하고 클러스터 파라미터 그룹을 저장하면 *즉시 적용* 설정과 관계없이 변경 사항이 바로 적용됩니다. 고정 파라미터를 변경하고 클러스터 파라미터 그룹을 저장하면 인스턴스를 수동으로 재부팅한 후에 파라미터 변경 사항이 적용됩니다. Amazon DocumentDB 콘솔을 사용하거나 명시적으로 `reboot-db-instance`를 호출하여 인스턴스를 재부팅할 수 있습니다.

다음 표에는 Amazon DocumentDB 클러스터의 모든 인스턴스에 적용되는 파라미터가 나와 있습니다.


**Amazon DocumentDB 클러스터 수준 파라미터**  

| 파라미터 | 기본값  | 유효값 | 수정 가능 | 적용 유형 | 데이터 형식 | 설명 | 
| --- | --- | --- | --- | --- | --- | --- | 
| audit\$1logs | disabled | enabled, disabled, ddl, dml\$1read, dml\$1write, all, none | 예 | 동적 | 문자열 | Amazon CloudWatch 감사 로그 활성화 여부를 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| change\$1stream\$1log\$1retention\$1duration | 10800 | 3600-604800 | 예 | 동적 | Integer | 변경 스트림 로그가 보관되고 소비될 수 있는 시간(초)을 정의합니다. | 
| default\$1collection\$1compression | disabled | 활성화됨, 비활성화됨(Amazon DocumentDB 5.0)/zstd, lz4, 없음(Amazon DocumentDB8.0) | 예 | 동적 | 문자열 | 클러스터의 새 컬렉션에 대한 기본 압축 설정을 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| profiler | disabled | enabled, disabled | 예 | 동적 | 문자열 | 느린 작업에 대해 프로파일링을 활성화합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| profiler\$1sampling\$1rate | 1.0 | 0.0-1.0 | 예 | 동적 | Float | 로깅된 작업의 샘플링 비율을 정의합니다. | 
| profiler\$1threshold\$1ms | 100 | 50-2147483646 | 예 | 동적 | Integer | profiler에 대한 임계값을 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| planner\$1version | 3.0 | 1.0, 2.0, 3.0 | 예 | 동적 | Float | 쿼리에 사용할 쿼리 플래너 버전을 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| tls | enabled | enabled, disabled, fips-140-3, tls1.2\$1, tls1.3\$1 | 예 | 정적 | 문자열 | TLS(전송 계층 보안) 연결이 필요한지 여부를 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| ttl\$1monitor | enabled | enabled, disabled | 예 | 동적 | 문자열 | Time To Live(TTL) 모니터링이 클러스터에 대해 활성화되었는지 여부를 정의합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 

# Amazon DocumentDB 클러스터 파라미터 수정
<a name="cluster_parameter_groups-parameters"></a>

Amazon DocumentDB에서 *클러스터 파라미터 그룹*은 클러스터에서 만드는 모든 인스턴스에 적용되는 *파라미터*로 구성됩니다. 사용자 지정 클러스터 파라미터 그룹의 경우 언제든지 파라미터 값을 수정하거나 모든 파라미터 값을 사용자가 생성하는 파라미터 그룹에 대한 기본값으로 재설정할 수 있습니다. 이 단원에서는 Amazon DocumentDB 클러스터 파라미터 그룹을 구성하는 파라미터 및 해당 값을 확인하는 방법과 이러한 값을 변경하거나 업데이트하는 방법에 대해 설명합니다.

파라미터는 *동적*이거나 *정적*일 수 있습니다. 동적 파라미터를 변경하고 클러스터 파라미터 그룹을 저장하면 `Apply Immediately` 설정과 관계없이 변경 사항이 바로 적용됩니다. 고정 파라미터를 변경하고 클러스터 파라미터 그룹을 저장하면 인스턴스를 수동으로 재부팅한 후에만 파라미터 변경 사항이 적용됩니다.

## Amazon DocumentDB 클러스터 파라미터 그룹의 파라미터 보기
<a name="cluster_parameter_groups-describe_details_parameters"></a>

 AWS Management Console 또는를 사용하여 Amazon DocumentDB 클러스터의 파라미터와 해당 값을 볼 수 있습니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

**클러스터 파라미터 그룹의 세부 정보를 보려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. **파라미터 그룹** 창에서 세부 정보를 보려는 클러스터 파라미터 그룹의 이름을 선택합니다.

1. 결과 페이지에는 각 파라미터에 대한 값(파라미터 이름, 현재 값, 허용된 값, 파라미터 수정 가능 여부, 적용 유형, 데이터 형식 및 설명)이 표시됩니다.  
![\[스크린샷: 파라미터 이름 및 값.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-determine-parameter-value.png)

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹의 파라미터 및 해당 값을 보려면 다음 파라미터와 함께 `describe-db-cluster-parameters` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 자세한 파라미터 목록을 원하는 클러스터 파라미터 그룹의 이름입니다.
+ **--source** - 선택 사항. 제공된 경우 특정 소스에 대한 파라미터만 반환합니다. 파라미터 소스는 `engine-default`, `system` 또는 `user`가 될 수 있습니다.

**Example**  
다음 코드에는 `custom3-6-param-grp` 파라미터 그룹의 모든 파라미터 및 해당 값이 나열되어 있습니다. 파라미터 그룹에 대한 세부 정보를 보려면 `--query` 줄을 생략합니다. 모든 파라미터 그룹에 대한 정보를 보려면 `--db-cluster-parameter-group-name` 줄을 생략합니다.  
Linux, macOS 또는 Unix의 경우:  

```
aws docdb describe-db-cluster-parameters \
   --db-cluster-parameter-group-name custom3-6-param-grp \
   --query 'Parameters[*].[ParameterName,ParameterValue]'
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameters ^
   --db-cluster-parameter-group-name custom3-6-param-grp ^
   --query 'Parameters[*].[ParameterName,ParameterValue]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    [
        "audit_logs",
        "disabled"
    ],
    [
        "tls",
        "enabled"
    ],
    [
        "ttl_monitor",
        "enabled"
    ]
]
```

------

## Amazon DocumentDB 클러스터 파라미터 그룹의 파라미터 수정
<a name="cluster_parameter_groups-modify_parameters"></a>

 AWS Management Console 또는를 사용하여 파라미터 그룹의 파라미터를 수정할 수 있습니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

**클러스터 파라미터 그룹의 파라미터를 업데이트하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택하십시오.

1. **파라미터 그룹** 창에서 파라미터를 업데이트하려는 클러스터 파라미터 그룹을 선택합니다.

1. 결과 페이지에는 이 클러스터 파라미터 그룹에 대한 파라미터 및 해당 세부 정보가 표시됩니다. 업데이트할 파라미터를 선택합니다.

1. 페이지 오른쪽 상단에서 **편집**을 선택하여 파라미터의 값을 변경합니다. 클러스터 파라미터 유형에 대한 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 참조](cluster_parameter_groups-list_of_parameters.md)(을)를 참조하세요.

1. 변경한 다음 **Modify cluster parameter(클러스터 파라미터 수정)**를 선택하여 변경 사항을 저장합니다. 변경 사항을 취소하려면 **취소**를 선택합니다.

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹의 파라미터를 수정하려면 다음 파라미터와 함께 `modify-db-cluster-parameter-group` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 수정하려는 클러스터 파라미터 그룹의 이름입니다.
+ **--parameters** - 필수입니다. 수정할 파라미터입니다. 각 파라미터 요소는 다음을 포함해야 합니다.
  + **ParameterName** - 수정 중인 파라미터의 이름입니다.
  + **ParameterValue** - 이 파라미터의 새 값입니다.
  + **ApplyMethod** - 파라미터에 대한 변경 사항을 적용할 방법입니다. 허용된 값은 `immediate` 및 `pending-reboot`입니다.
**참고**  
`static`의 `ApplyType` 파라미터에는 `pending-reboot`의 `ApplyMethod`이 있어야 합니다.

**클러스터 파라미터 그룹의 파라미터 값을 변경하려면(AWS CLI)**

다음 예에서는 `tls` 파라미터를 변경합니다.

1. **`sample-parameter-group`의 파라미터 및 해당 값을 나열합니다.**

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb describe-db-cluster-parameters \
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-cluster-parameters ^
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
       "Parameters": [
           {
               "Source": "system",
               "ApplyType": "static",
               "AllowedValues": "disabled,enabled",
               "ParameterValue": "enabled",
               "ApplyMethod": "pending-reboot",
               "DataType": "string",
               "ParameterName": "tls",
               "IsModifiable": true,
               "Description": "Config to enable/disable TLS"
           },
           {
               "Source": "user",
               "ApplyType": "dynamic",
               "AllowedValues": "disabled,enabled",
               "ParameterValue": "enabled",
               "ApplyMethod": "pending-reboot",
               "DataType": "string",
               "ParameterName": "ttl_monitor",
               "IsModifiable": true,
               "Description": "Enables TTL Monitoring"
           }
       ]
   }
   ```

1. **값이 `disabled`이 되도록 `tls` 파라미터를 수정합니다**. `ApplyType`은 `static`이므로 `ApplyMethod`를 수정할 수 없습니다.

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters "ParameterName"=tls,ParameterValue=disabled,ApplyMethod=pending-reboot"
   ```

   Windows의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --parameters "ParameterName=tls,ParameterValue=disabled,ApplyMethod=pending-reboot"
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
       "DBClusterParameterGroupName": "sample-parameter-group"
   }
   ```

1. **적어도 5분을 기다립니다.**

1. **`sample-parameter-group`의 파라미터 값을 나열합니다.**

   Linux, macOS 또는 Unix의 경우:

   ```
   aws docdb describe-db-cluster-parameters \
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-cluster-parameters ^
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
       "Parameters": [
           {
               "ParameterName": "audit_logs",
               "ParameterValue": "disabled",
               "Description": "Enables auditing on cluster.",
               "Source": "system",
               "ApplyType": "dynamic",
               "DataType": "string",
               "AllowedValues": "enabled,disabled",
               "IsModifiable": true,
               "ApplyMethod": "pending-reboot"
           },
           {
               "ParameterName": "tls",
               "ParameterValue": "disabled",
               "Description": "Config to enable/disable TLS",
               "Source": "user",
               "ApplyType": "static",
               "DataType": "string",
               "AllowedValues": "disabled,enabled",
               "IsModifiable": true,
               "ApplyMethod": "pending-reboot"
           }
       ]
   }
   ```

------

# Amazon DocumentDB 엔드포인트에 대한 이해
<a name="endpoints"></a>

Amazon DocumentDB(MongoDB와 호환됨) 엔드포인트를 사용하여 클러스터 또는 인스턴스에 연결할 수 있습니다. Amazon DocumentDB에는 각각 고유한 용도가 있는 세 가지 유형의 엔드포인트가 있습니다.

**Topics**
+ [클러스터 엔드포인트 찾기](db-cluster-endpoints-find.md)
+ [인스턴스의 엔드포인트 찾기](db-instance-endpoint-find.md)
+ [엔드포인트에 연결](endpoints-connecting.md)

**클러스터 엔드포인트**  
클러스터 엔드포인트는 클러스터의 현재 기본 인스턴스에 연결되는 Amazon DocumentDB 클러스터의 엔드포인트입니다. 각 Amazon DocumentDB 클러스터 엔드포인트 하나와 기본 인스턴스 하나가 있습니다. 장애 조치의 경우 클러스터 엔드포인트가 새로운 기본 인스턴스에 다시 매핑됩니다.

**리더 엔드포인트**  
리더 엔드포인트는 해당 클러스터에서 사용할 수 있는 복제본 중 하나에 연결되는 Amazon DocumentDB 클러스터의 엔드포인트입니다. 각 Amazon DocumentDB 클러스터에는 리더 엔드포인트가 1개씩 있습니다. 복제본이 둘 이상이면 리더 엔드포인트는 각 연결 요청을 Amazon DocumentDB 복제본 중 하나로 전달합니다.

**인스턴스 엔드포인트**  
인스턴스 엔드포인트는 특정 인스턴스에 연결되는 엔드포인트입니다. 기본 인스턴스인지 복제본 인스턴스인지 여부에 상관없이 클러스터의 각 인스턴스에는 고유한 인스턴스 엔드포인트가 있습니다. 애플리케이션에서 인스턴스 엔드포인트를 사용하지 않는 것이 좋습니다. 왜냐하면 장애 조치를 실행하는 경우 역할을 변경할 수 있으므로 애플리케이션에서 코드 변경을 요구할 수 있기 때문입니다.

# 클러스터 엔드포인트 찾기
<a name="db-cluster-endpoints-find"></a>

Amazon DocumentDB 콘솔 또는 AWS CLI를 사용하여 클러스터의 클러스터 엔드포인트와 리더 엔드포인트를 찾을 수 있습니다.

------
#### [ Using the AWS Management Console ]

**콘솔을 사용하여 클러스터의 엔드포인트 찾기:**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 클러스터 목록에서 원하는 클러스터 이름을 선택합니다.

1. 클러스터 세부 정보 페이지에서 **구성** 탭을 선택합니다. **구성 및 상태** 섹션에서 **클러스터 엔드포인트**와 **리더 엔드포인트**를 찾을 수 있습니다.  
![\[클러스터 및 리더 엔드포인트를 보여주는 구성 및 상태 섹션.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-endpoints.png)

1. 이 클러스터에 연결하려면 **연결 및 보안** 탭을 선택합니다. `mongo` 쉘에 대한 연결 문자열과 애플리케이션 코드에서 클러스터에 연결하는 데 사용할 수 있는 연결 문자열을 찾습니다.  
![\[Mongo 쉘에서 인스턴스에 연결하는 문자열과 애플리케이션에서 클러스터에 연결하는 문자열을 보여주는 연결 섹션.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/cluster-connection-strings.png)

------
#### [ Using the AWS CLI ]

AWS CLI를 사용하여 클러스터 및 클러스터에 대한 리더 엔드포인트를 찾으려면 `describe-db-clusters` 명령을 해당 파라미터와 함께 실행합니다.

**파라미터**
+ **--db-cluster-identifier**—선택 사항. 엔드포인트를 반환하려는 클러스터를 지정합니다. 생략한 경우 최대 100개의 클러스터에 대한 엔드포인트를 반환합니다.
+ **--query**—선택 사항. 표시할 필드를 지정합니다. 엔드포인트를 찾기 위해 볼 데이터의 양을 줄여서 도와줍니다. 생략하면 클러스터에 대한 모든 정보가 반환됩니다.
+ **--region**—선택 사항. `--region` 파라미터를 사용하여 명령을 적용할 리전을 지정합니다. 생략하면 기본 리전이 사용됩니다.

**Example**  
다음 예에서는 `DBClusterIdentifier`에 대한 `ReaderEndpoint`, 엔드포인트(클러스터 엔드포인트) 및 `sample-cluster`를 반환합니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-clusters \
   --region us-east-1 \
   --db-cluster-identifier sample-cluster \
   --query 'DBClusters[*].[DBClusterIdentifier,Port,Endpoint,ReaderEndpoint]'
```
Windows의 경우:  

```
aws docdb describe-db-clusters ^
   --region us-east-1 ^
   --db-cluster-identifier sample-cluster ^
   --query 'DBClusters[*].[DBClusterIdentifier,Port,Endpoint,ReaderEndpoint]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
  [
     "sample-cluster",
     27017,
     "sample-cluster.cluster-corlsfccjozr.us-east-1.docdb.amazonaws.com",
     "sample-cluster.cluster-ro-corlsfccjozr.us-east-1.docdb.amazonaws.com"
  ]
]
```

클러스터 엔드포인트가 있으므로 이제 `mongo` 또는 `mongodb`를 사용하여 클러스터에 연결할 수 있습니다. 자세한 내용은 [엔드포인트에 연결](endpoints-connecting.md) 섹션을 참조하세요.

------

# 인스턴스의 엔드포인트 찾기
<a name="db-instance-endpoint-find"></a>

Amazon DocumentDB 콘솔 또는 AWS CLI을 사용하여 인스턴스의 엔드포인트를 찾을 수 있습니다.

------
#### [ Using the AWS Management Console ]

**콘솔을 사용하여 인스턴스의 엔드포인트를 찾으려면**

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

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[클러스터 식별자 열 아래에 인스턴스가 클러스터 내에 중첩된 클러스터 목록을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 관심 있는 인스턴스의 왼쪽에 있는 확인란을 체크합니다.

1. 아래로 스크롤하여 **세부 정보** 섹션으로 이동한 다음 인스턴스 엔드포인트를 찾습니다.  
![\[인스턴스 엔드포인트가 강조 표시된 세부 정보 페이지를 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-instance-endpoint.png)

1. 이 인스턴스에 연결하려면 위로 스크롤하여 **연결** 섹션으로 이동합니다. `mongo` 쉘에 대한 연결 문자열과 애플리케이션 코드에서 인스턴스에 연결하는 데 사용할 수 있는 연결 문자열을 찾습니다.  
![\[Mongo 쉘 및 애플리케이션 연결 문자열이 강조 표시된 연결 섹션을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/instance-connection-strings.png)

------
#### [ Using the AWS CLI ]

AWS CLI를 사용하여 인스턴스 엔드포인트를 찾으려면 다음 명령을 해당 인수와 함께 실행합니다.

**인수**
+ **--db-instance-identifier**—선택 사항. 엔드포인트를 반환하려는 인스턴스를 지정합니다. 생략한 경우 최대 100개의 인스턴스에 대한 엔드포인트를 반환합니다.
+ **--query**—선택 사항. 표시할 필드를 지정합니다. 엔드포인트를 찾기 위해 볼 데이터의 양을 줄여서 도와줍니다. 생략하면 인스턴스에 대한 모든 정보가 반환됩니다. `Endpoint` 필드에는 세 개의 멤버가 있습니다. 따라서 다음 예제와 같이 쿼리에 나열하면 세 멤버가 모두 반환됩니다. `Endpoint` 멤버 중 일부에만 관심이 있는 경우 두 번째 예제와 같이 쿼리의 `Endpoint`를 원하는 멤버로 교체하세요.
+ **--region**—선택 사항. `--region` 파라미터를 사용하여 명령을 적용할 리전을 지정합니다. 생략하면 기본 리전이 사용됩니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-instances \
    --region us-east-1 \
    --db-instance-identifier sample-cluster-instance \
    --query 'DBInstances[*].[DBInstanceIdentifier,Endpoint]'
```
Windows의 경우:  

```
aws docdb describe-db-instances ^
    --region us-east-1 ^
    --db-instance-identifier sample-cluster-instance ^
    --query 'DBInstances[*].[DBInstanceIdentifier,Endpoint]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    [
        "sample-cluster-instance",
        {
            "Port": 27017,
            "Address": "sample-cluster-instance.corcjozrlsfc.us-east-1.docdb.amazonaws.com",
            "HostedZoneId": "Z2R2ITUGPM61AM"
        }
    ]
]
```
엔드포인트의 `HostedZoneId`를 제거하기 위해 출력을 줄이고 `Endpoint.Port` 및 `Endpoint.Address`를 지정하여 쿼리를 수정할 수 있습니다.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-instances \
    --region us-east-1 \
    --db-instance-identifier sample-cluster-instance \
    --query 'DBInstances[*].[DBInstanceIdentifier,Endpoint.Port,Endpoint.Address]'
```
Windows의 경우:  

```
aws docdb describe-db-instances ^
    --region us-east-1 ^
    --db-instance-identifier sample-cluster-instance ^
    --query 'DBInstances[*].[DBInstanceIdentifier,Endpoint.Port,Endpoint.Address]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    [
        "sample-cluster-instance",
        27017,
        "sample-cluster-instance.corcjozrlsfc.us-east-1.docdb.amazonaws.com"
    ]
]
```

인스턴스 엔드포인트가 있으므로 이제 `mongo` 또는 `mongodb`를 사용하여 인스턴스에 연결할 수 있습니다. 자세한 내용은 [엔드포인트에 연결](endpoints-connecting.md) 섹션을 참조하세요.

------

# 엔드포인트에 연결
<a name="endpoints-connecting"></a>

엔드포인트(클러스터 또는 인스턴스)가 있는 경우 `mongo` 쉘 또는 연결 문자열을 사용하여 엔드포인트에 연결할 수 있습니다.

## mongo 쉘을 사용하여 연결
<a name="endpoints-connecting-mongo"></a>

다음 구조를 사용하면 `mongo` 쉘을 사용하여 클러스터 또는 인스턴스에 연결하는 데 필요한 문자열을 작성할 수 있습니다.

```
mongo \
    --ssl \
    --host Endpoint:Port \
    --sslCAFile global-bundle.pem \
    --username UserName \
    --password Password
```

**`mongo` 쉘 예**  
클러스터에 연결:

```
mongo \
    --ssl \
    --host sample-cluster.corcjozrlsfc.us-east-1.docdb.amazonaws.com:27017 \
    --sslCAFile global-bundle.pem \
    --username UserName \
    --password Password
```

인스턴스에 연결:

```
mongo \
    --ssl \
    --host sample-cluster-instance.corcjozrlsfc.us-east-1.docdb.amazonaws.com:27017 \
    --sslCAFile global-bundle.pem \
    --username UserName \
    --password Password
```

## 연결 문자열을 사용하여 연결
<a name="endpoints-connecting-mongodb"></a>

다음 구조를 사용하면 클러스터 또는 인스턴스에 연결하는 데 필요한 연결 문자열을 작성할 수 있습니다.

```
mongodb://UserName:Password@endpoint:port?replicaSet=rs0&ssl_ca_certs=global-bundle.pem 
```

**연결 문자열 예**  
클러스터에 연결:

```
mongodb://UserName:Password@sample-cluster.cluster-corlsfccjozr.us-east-1.docdb.amazonaws.com:27017?replicaSet=rs0&ssl_ca_certs=global-bundle.pem 
```

인스턴스에 연결:

```
mongodb://UserName:Password@sample-cluster-instance.cluster-corlsfccjozr.us-east-1.docdb.amazonaws.com:27017?replicaSet=rs0&ssl_ca_certs=global-bundle.pem 
```

 

# Amazon DocumentDB Amazon 리소스 이름(ARN) 이해
<a name="documentdb-arns"></a>

에서 생성하는 리소스 AWS 는 각각 Amazon 리소스 이름(ARN)으로 고유하게 식별됩니다. 특정 Amazon DocumentDB(MongoDB 호환) 작업의 경우 ARN을 지정하여 Amazon DocumentDB 리소스를 고유하게 식별해야 합니다. 예를 들어, 리소스에 태그를 추가할 경우 리소스의 ARN을 제공해야 합니다.

**Topics**
+ [ARN 생성](#documentdb-arns-constructing)
+ [ARN 찾기](#documentdb-arns-find)

## Amazon DocumentDB 리소스에 대한 ARN 구성
<a name="documentdb-arns-constructing"></a>

다음 구문을 사용하여 Amazon DocumentDB 리소스에 대한 ARN을 구성할 수 있습니다. Amazon DocumentDB는 Amazon Relational Database Service(Amazon RDS) ARN의 형식을 공유합니다. Amazon DocumentDB ARN에는 `rds`가 포함되지만 `docdb`는 포함되지 않습니다.

`arn:aws:rds:region:account_number:resource_type:resource_id`


| 리전 이름 | 리전 | 가용 영역(컴퓨팅) | 
| --- | --- | --- | 
| 미국 동부(오하이오) | `us-east-2` | 3 | 
| 미국 동부(버지니아 북부) | `us-east-1` | 6 | 
| 미국 서부(오리건) | `us-west-2` | 4 | 
| 아프리카(케이프타운) | `af-south-1` | 3 | 
| 남아메리카(상파울루) | `sa-east-1` | 3 | 
| 아시아 태평양(홍콩) | `ap-east-1` | 3 | 
| 아시아 태평양(하이데라바드) | `ap-south-2` | 3 | 
| 아시아 태평양(말레이시아) | `ap-southeast-5` | 3 | 
| 아시아 태평양(뭄바이) | `ap-south-1` | 3 | 
| 아시아 태평양(오사카) | `ap-northeast-3` | 3 | 
| 아시아 태평양(서울) | `ap-northeast-2` | 4 | 
| 아시아 태평양(싱가포르) | `ap-southeast-1` | 3 | 
| 아시아 태평양(시드니) | `ap-southeast-2` | 3 | 
| 아시아 태평양(자카르타) | `ap-southeast-3` | 3 | 
| 아시아 태평양(멜버른) | `ap-southeast-4` | 3 | 
| 아시아 태평양(태국) | `ap-southeast-7` | 3 | 
| 아시아 태평양(도쿄) | `ap-northeast-1` | 3 | 
| 캐나다(중부) | `ca-central-1` | 3 | 
| 중국(베이징) 리전 | `cn-north-1` | 3 | 
| 중국(닝샤) | `cn-northwest-1` | 3 | 
| 유럽(프랑크푸르트) | `eu-central-1` | 3 | 
| 유럽(취리히) | `eu-central-2` | 3 | 
| 유럽(아일랜드) | `eu-west-1` | 3 | 
| 유럽(런던) | `eu-west-2` | 3 | 
| 유럽(밀라노) | `eu-south-1` | 3 | 
| 유럽(파리) | `eu-west-3` | 3 | 
| 유럽(스페인) | `eu-south-2` | 3 | 
| 유럽(스톡홀름) | `eu-north-1` | 3 | 
| 멕시코(중부) | `mx-central-1` | 3 | 
| 중동(UAE) | `me-central-1` | 3 | 
| 이스라엘(텔아비브) | `il-central-1` | 3 | 
| AWS GovCloud(미국 서부) | `us-gov-west-1` | 3 | 
| AWS GovCloud(미국 동부) | `us-gov-east-1` | 3 | 

**참고**  
Amazon DocumentDB 아키텍처는 스토리지와 컴퓨팅을 분리합니다. 스토리지 계층의 경우 Amazon DocumentDB는 3개의 AWS 가용 영역(AZs. 위의 표에 나열된 AZ는 컴퓨팅 인스턴스 프로비저닝을 위해 특정 리전에서 사용 가능한 AZ의 수입니다. 예를 들어 ap-northeast-1에서 Amazon DocumentDB 클러스터를 시작하는 경우 스토리지는 3개의 AZ에 걸쳐 6가지 방식으로 복제되지만 컴퓨팅 인스턴스는 2개의 AZ에서만 사용할 수 있습니다.

다음 표는 특정 Amazon DocumentDB 리소스에 대한 ARN을 구성할 때 사용해야 하는 형식을 보여줍니다. Amazon DocumentDB는 Amazon RDS ARN의 형식을 공유합니다. Amazon DocumentDB ARN에는 `rds`가 포함되지만 `docdb`는 포함되지 않습니다.


| 리소스 유형 | ARN 형식/예 | 
| --- | --- | 
|  인스턴스(`db`)  |  `arn:aws:rds:region:account_number:db:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:db:sample-db-instance</pre>  | 
|  클러스터(`cluster`)  |  `arn:aws:rds:region:account_number:cluster:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:cluster:sample-db-cluster</pre>  | 
|  클러스터 파라미터 그룹(`cluster-pg`)  |  `arn:aws:rds:region:account_number:cluster-pg:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:cluster-pg:sample-db-cluster-parameter-group</pre>  | 
|  보안 그룹(`secgrp`)  |  `arn:aws:rds:region:account_number:secgrp:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:secgrp:sample-public-secgrp</pre>  | 
|  클러스터 스냅샷(`cluster-snapshot`)  |  `arn:aws:rds:region:account_number:cluster-snapshot:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:cluster-snapshot:sample-db-cluster-snapshot</pre>  | 
|  서브넷 그룹(`subgrp`)  |  `arn:aws:rds:region:account_number:subgrp:resource_id` <pre>arn:aws:rds:us-east-1:1234567890:subgrp:sample-subnet-10</pre>  | 

## Amazon DocumentDB 리소스 ARN 찾기
<a name="documentdb-arns-find"></a>

 AWS Management Console 또는를 사용하여 Amazon DocumentDB 리소스의 ARN을 찾을 수 있습니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

콘솔을 사용해 ARN을 찾으려면 ARN을 보려는 리소스를 탐색하여 해당 리소스의 세부 정보를 확인합니다.

예를 들어, 클러스터 세부 정보 페이지의 **구성** 탭을 선택하여 클러스터의 ARN을 가져올 수 있습니다. 다음 스크린샷과 같이 **구성 및 상태** 섹션에서 ARN을 찾을 수 있습니다.

![\[세부 정보 창의 구성 및 상태 섹션에 있는 ARN을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/documentdb-arn.png)


------
#### [ Using the AWS CLI ]

특정 Amazon DocumentDB 리소스에 AWS CLI 대해를 사용하여 ARN을 가져오려면 해당 리소스에 대한 `describe` 작업을 사용합니다. 다음 표에는 각 AWS CLI 작업과 작업과 함께 사용하여 ARN을 가져오는 ARN 속성이 나와 있습니다.


| AWS CLI 명령 | ARN 속성 | 
| --- | --- | 
|  `describe-db-instances`  |  `DBInstanceArn`  | 
|  `describe-db-clusters`  |  `DBClusterArn`  | 
|  `describe-db-parameter-groups`  |  `DBParameterGroupArn`  | 
|  `describe-db-cluster-parameter-groups`  |  `DBClusterParameterGroupArn`  | 
|  `describe-db-security-groups`  |  `DBSecurityGroupArn`  | 
|  `describe-db-snapshots`  |  `DBSnapshotArn`  | 
|  `describe-db-cluster-snapshots`  |  `DBClusterSnapshotArn`  | 
|  `describe-db-subnet-groups`  |  `DBSubnetGroupArn`  | 

**Example - 클러스터의 ARN 찾기**  
다음 AWS CLI 작업은 클러스터의 ARN을 찾습니다`sample-cluster`.  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].DBClusterArn'
```
Windows의 경우:  

```
aws docdb describe-db-clusters ^
    --db-cluster-identifier sample-cluster \
    --query 'DBClusters[*].DBClusterArn'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster"
]
```

**Example - 여러 파라미터 그룹의 ARN 찾기**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-cluster-parameter-groups \
   --query 'DBClusterParameterGroups[*].DBClusterParameterGroupArn'
```
Windows의 경우:  

```
aws docdb describe-db-cluster-parameter-groups ^
   --query 'DBClusterParameterGroups[*].DBClusterParameterGroupArn'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
[
    "arn:aws:rds:us-east-1:123456789012:cluster-pg:custom3-6-param-grp",
    "arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora5.6",
    "arn:aws:rds:us-east-1:123456789012:cluster-pg:default.docdb3.6"
]
```

------

# Amazon DocumentDB 리소스 태그 지정
<a name="tagging"></a>

Amazon DocumentDB(MongoDB 호환) 태그를 사용하여 Amazon DocumentDB 리소스에 메타데이터를 추가할 수 있습니다. 이러한 태그는 AWS Identity and Access Management(IAM) 정책과 함께 사용하여 Amazon DocumentDB 리소스에 대한 액세스를 관리하고 리소스에 적용할 수 있는 작업을 제어할 수 있습니다. 또한 비슷하게 태그가 지정된 리소스에 대한 비용을 그룹화하여 이러한 태그로 비용을 추적할 수 있습니다.

다음 Amazon DocumentDB 리소스에 태그를 지정할 수 있습니다.
+ 클러스터
+ 인스턴스
+ 스냅샷
+ 클러스터 스냅샷
+ 파라미터 그룹
+ 클러스터 파라미터 그룹
+ 보안 그룹
+ 서브넷 그룹

## Amazon DocumentDB 리소스 태그 개요
<a name="tagging-overview"></a>

Amazon DocumentDB 태그는 Amazon DocumentDB 리소스를 정의하고 연결하는 이름-값 페어입니다. 이 이름을 *키*라고 합니다. 키 값을 제공하는 것은 선택 사항입니다. 태그를 사용하여 임의의 정보를 Amazon DocumentDB 리소스에 할당할 수 있습니다. 범주 정의 등에 태그 키를 사용할 수 있으며 태그 값은 해당 범주의 항목일 수 있습니다. 예를 들어, 태그 키를 `project`로 정의하고 태그 값을 `Salix`로 정의할 수 있는데, 이는 Amazon DocumentDB 리소스가 Salix 프로젝트에 할당되었음을 나타냅니다. 태그를 사용하여 `environment=test` 또는 `environment=production`와 같은 키를 사용해 Amazon DocumentDB 리소스를 테스트나 생산에 사용되도록 지정할 수도 있습니다. 일관된 태그 키 세트를 사용하여 Amazon DocumentDB 리소스와 연관된 메타데이터를 보다 쉽게 추적하는 것이 좋습니다.

또한 태그를 사용하여 비용 구조를 반영하도록 AWS 청구서를 구성할 수 있습니다. 이렇게 하려면 가입하여 태그 키 값이 포함된 AWS 계정 청구서를 가져옵니다. 그런 다음 같은 태그 키 값을 가진 리소스에 따라 결제 정보를 구성하여 리소스 비용의 합을 볼 수 있습니다. 예를 들어, 특정 애플리케이션 이름으로 여러 리소스에 태그를 지정한 다음 결제 정보를 구성하여 여러 서비스에 걸친 해당 애플리케이션의 총 비용을 볼 수 있습니다. 자세한 내용은 *AWS 청구 및 비용 관리 사용 설명서*의 [비용 할당 태그 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하십시오.

각 Amazon DocumentDB 리소스에는 해당 리소스에 할당된 모든 태그가 포함된 태그 세트가 있습니다. 태그 세트는 최대 10개의 태그를 포함하거나 비어 있을 수 있습니다. 리소스의 기존 태그와 동일한 키를 가진 Amazon DocumentDB 리소스에 태그를 추가하면 새 값이 이전 값을 덮어씁니다.

AWS는 태그에 의미론적 의미를 적용하지 않으며 태그는 엄격히 문자열로 해석됩니다. Amazon DocumentDB는 리소스를 생성할 때 사용하는 설정에 따라 인스턴스 또는 다른 Amazon DocumentDB 리소스에 태그를 설정할 수 있습니다. 예를 들어, Amazon DocumentDB는 인스턴스가 생산용 또는 테스트용임을 나타내는 태그를 추가할 수 있습니다.

스냅샷에 태그를 추가할 수 있지만 이 그룹화는 청구서에 반영되지 않습니다.

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 리소스에 태그를 추가, 나열 및 삭제할 수 있습니다. AWS CLI를 사용할 때는 작업하려는 리소스에 대한 Amazon 리소스 이름(ARN)을 제공해야 합니다. Amazon DocumentDB ARN에 대한 자세한 내용은 [Amazon DocumentDB Amazon 리소스 이름(ARN) 이해](documentdb-arns.md) 섹션을 참조하십시오.

## 태그 제약 조건
<a name="tagging-constraints"></a>

Amazon DocumentDB 태그에는 다음 제약 조건이 적용됩니다.
+ 리소스당 최대 태그 수 - 10개
+ 최대 **키** 길이 - 유니코드 128자
+ 최대 **값** 길이 - 유니코드 256자
+ **키** 및 **값**에 유효한 문자 - UTF-8 문자 세트의 대문자와 소문자, 숫자, 공백 및 `_ . : / = + -`와 `@` 문자(Java regex: `"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"`)
+ 태그 키와 값은 대소문자를 구분합니다.
+ 태그 키 또는 값에 `aws:` 접두사는 사용할 수 없습니다. 이 접두사는 AWS 전용입니다.

## Amazon DocumentDB 리소스의 태그 추가 및 업데이트
<a name="tagging-add"></a>

AWS Management Console 또는 AWS CLI를 사용하여 리소스에 최대 10개의 태그를 추가할 수 있습니다.

------
#### [ Using the AWS Management Console ]

리소스에 태그를 추가하는 프로세스는 태그를 추가하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에 태그를 추가합니다.

**콘솔을 사용하여 클러스터에 태그를 추가하거나 업데이트하려면 다음을 수행합니다.**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 태그를 추가할 클러스터 이름을 선택합니다.

1. **태그** 섹션으로 스크롤을 내린 다음 **편집**을 선택합니다.

1. 이 리소스에 추가할 각 태그에 대해 다음을 수행합니다.

   1. 새 태그를 추가하려면 **키** 상자의 태그 이름에 입력합니다. 태그 값을 변경하려면 **키** 열에서 태그 이름을 찾습니다.

   1. 태그에 새 값 또는 업데이트된 값을 제공하려면 **값** 상자에 태그에 대한 값을 입력합니다.

   1. 태그를 더 추가하려는 경우 **추가**를 선택합니다. 추가하지 않고 완료하려면 **저장**을 선택합니다.

------
#### [ Using the AWS CLI ]

리소스에 태그를 추가하는 프로세스는 태그를 추가하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에 세 개의 태그를 추가합니다. 두 번째 태그인 `key2`에는 값이 없습니다.

이러한 파라미터와 함께 AWS CLI 작업 `add-tags-to-resource`를 사용합니다.

**파라미터**
+ **--resource-name** - 태그를 추가할 Amazon DocumentDB 리소스의 ARN입니다.
+ **--tags** - 이 리소스에 추가할 태그(키-값 페어)를 `Key=key-name,Value=tag-value` 형식으로 나열합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb add-tags-to-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tags Key=key1,Value=value1 Key=key2 Key=key3,Value=value3
```
Windows의 경우:  

```
aws docdb add-tags-to-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tags Key=key1,Value=value1 Key=key2 Key=key3,Value=value3
```

`add-tags-to-resource` 작업은 출력을 생성하지 않습니다. 작업 결과를 보려면 `list-tags-for-resource` 작업을 사용합니다.

------

## Amazon DocumentDB 리소스에 태그 나열
<a name="tagging-list"></a>

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 리소스에 대한 태그 목록을 가져올 수 있습니다.

------
#### [ Using the AWS Management Console ]

리소스에서 태그를 나열하는 프로세스는 태그를 추가하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에 태그를 나열합니다.

**콘솔을 사용하여 클러스터에서 태그를 나열하려면**

1. [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 태그를 나열할 클러스터 이름을 선택합니다.

1. 이 리소스의 태그 목록을 보려면 아래로 스크롤하여 **태그** 섹션으로 이동합니다.

------
#### [ Using the AWS CLI ]

리소스에서 태그를 나열하는 프로세스는 태그를 나열하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에 태그를 나열합니다.

이러한 파라미터와 함께 AWS CLI 작업 `list-tags-for-resource`를 사용합니다.

**파라미터**
+ **--resource-name** - 필수입니다. 태그를 나열할 Amazon DocumentDB 리소스의 ARN입니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb list-tags-for-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster
```
Windows의 경우:  

```
aws docdb list-tags-for-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
    "TagList": [
        {
            "Key": "key1",
            "Value": "value1"
        },
        {
            "Key": "key2",
            "Value": ""
        },
        {
            "Key": "key3",
            "Value": "value3"
        }
    ]
}
```

------

## Amazon DocumentDB 리소스에서 태그 제거
<a name="tagging-remove"></a>

AWS Management Console 또는 AWS CLI를 사용하여 Amazon DocumentDB 리소스에서 태그를 제거할 수 있습니다.

------
#### [ Using the AWS Management Console ]

리소스에서 태그를 제거하는 프로세스는 태그를 추가하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에서 태그를 제거합니다.

**콘솔을 사용하여 클러스터에서 태그를 제거하려면**

1. [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 태그를 제거할 클러스터 이름을 선택합니다.

1. **태그** 섹션으로 스크롤을 내린 다음 **편집**을 선택합니다.

1. 이 리소스에서 모든 태그를 제거하려면 **모두 제거**를 선택합니다. 그렇지 않으면, 이 리소스에서 제거할 각 태그에 대해 다음을 수행합니다.

   1. **키** 열에서 태그 이름을 찾습니다.

   1. 태그 키와 동일한 행에서 **제거**를 선택합니다.

   1. 완료하였으면 **저장**을 선택합니다.

------
#### [ Using the AWS CLI ]

리소스에서 태그를 제거하는 프로세스는 태그를 제거하는 리소스에 관계없이 비슷합니다. 이 예에서는 클러스터에서 태그를 제거합니다.

이러한 파라미터와 함께 AWS CLI 작업 `remove-tags-from-resource`를 사용합니다.
+ **--resource-name** - 필수입니다. 태그를 제거할 Amazon DocumentDB 리소스의 ARN입니다.
+ **--tag-keys** - 필수입니다. 이 리소스에서 제거할 태그 키의 목록입니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb remove-tags-from-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tag-keys key1 key3
```
Windows의 경우:  

```
aws docdb remove-tags-from-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tag-keys key1 key3
```

`removed-tags-from-resource` 작업은 출력을 생성하지 않습니다. 작업 결과를 보려면 `list-tags-for-resource` 작업을 사용합니다.

------

# Amazon DocumentDB 유지 관리
<a name="db-instance-maintain"></a>

Amazon DocumentDB는 Amazon DocumentDB 리소스를 정기적으로 유지 관리합니다. 이러한 유지 관리에는 대개 데이터베이스 엔진(클러스터 유지 관리) 또는 인스턴스의 기본 운영 체제(OS)(인스턴스 유지 관리)에 대한 업데이트가 포함됩니다. 데이터베이스 엔진 업데이트는 필수 패치이며 데이터베이스 엔진에 대한 보안 수정, 버그 수정 및 개선 사항을 포함합니다. 대부분의 운영 체제 패치는 선택 사항이지만 한동안 패치를 적용하지 않으면 보안 태세를 유지하기 위해 패치가 필요할 수 있고 자동으로 적용될 수 있습니다. 따라서 운영 체제 업데이트는 사용 가능한 즉시 Amazon DocumentDB 인스턴스에 적용하는 것이 좋습니다.

데이터베이스 엔진 패치를 사용하려면 Amazon DocumentDB 클러스터를 잠시 오프라인으로 전환해야 합니다. 사용 가능하게 되면 Amazon DocumentDB 클러스터의 예정된 유지 관리 기간 동안 이러한 패치가 자동으로 적용되도록 예약됩니다.

클러스터 및 인스턴스 유지 관리 모두 해당 유지 관리 기간이 있습니다. 즉시 적용되지 않도록 선택한 클러스터 및 인스턴스 수정 사항은 유지 관리 기간에도 또한 적용됩니다. 기본적으로 클러스터를 생성할 때 Amazon DocumentDB가 클러스터 및 각 개별 인스턴스에 대해 유지 관리 기간을 지정합니다. 클러스터 또는 인스턴스를 생성할 때 유지 관리 기간을 선택할 수 있습니다. 또한 언제라도 비즈니스 일정 또는 절차에 맞춰 유지 관리 기간을 수정할 수 있습니다. 일반적으로 애플리케이션에 대 유지 관리의 영향을 최소화하는 유지 관리 기간을 서택하는 것이 좋습니다(예: 야간 또는 주말).

**Topics**
+ [Amazon DocumentDB 엔진 패치에 대한 알림](#patch-notifications)
+ [보류 중인 Amazon DocumentDB 유지 관리 작업 보기](#view-pending-maintenance)
+ [Amazon DocumentDB 엔진 업데이트](#db-instance-updates-apply)
+ [사용자 시작 업데이트](#user-initiated-updates)
+ [Amazon DocumentDB 유지 관리 기간 관리](#maintenance-window)
+ [Amazon DocumentDB 운영 체제 업데이트](#os-system-updates)

## Amazon DocumentDB 엔진 패치에 대한 알림
<a name="patch-notifications"></a>

 AWS 콘솔의 Health Dashboard (AHD)에서 상태 이벤트와 이메일을 통해 필요한 데이터베이스 엔진 패치에 대한 유지 관리 알림을 받게 됩니다. 특정 AWS 리전에서 Amazon DocumentDB 엔진 유지 관리 패치를 사용할 수 있게 되면 해당 리전의 영향을 받는 모든 Amazon DocumentDB 사용자 계정에 패치의 영향을 받는 각 Amazon DocumentDB 버전에 대한 AHD 및 이메일 알림이 전송됩니다. AWS 콘솔에서 AHD의 **예약된 변경** 사항 섹션에서 이러한 알림을 볼 수 있습니다. 알림에는 패치 가용성 타이밍, 자동 적용 일정, 영향을 받는 클러스터 목록 및 릴리스 정보에 대한 세부 정보가 포함됩니다. 이 알림은 이메일을 통해 AWS 계정의 루트 사용자 이메일 주소로도 전송됩니다.

![\[엔진 패치 업그레이드에 대한 예약 변경 탭을 보여주는 Amazon DocumentDB 콘솔입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/scheduled-changes.png)


이 알림을 받으면 예약된 자동 적용 날짜 이전에 이러한 엔진 패치를 Amazon DocumentDB 클러스터에 자체 적용하도록 선택할 수 있습니다. 또는 예정된 유지 관리 기간 동안 엔진 패치가 자동으로 적용될 때까지 기다릴 수 있습니다(기본 옵션).

**참고**  
새 엔진 패치 버전이 있는 새 Amazon DocumentDB 엔진 패치가 릴리스될 때까지 AHD의 알림 **상태**가 '진행 중'으로 설정됩니다.  
Amazon DocumentDB 클러스터에 엔진 패치가 적용되면 클러스터의 엔진 패치 버전이 업데이트되어 알림의 버전을 반영합니다. `db.runCommand({getEngineVersion: 1})` 명령을 실행하여 이 업데이트를 확인할 수 있습니다.

AWS Health 또한는 이벤트를 사용하여 확장 가능한 이벤트 기반 애플리케이션을 빌드하는 Amazon EventBridge와 통합되며 AWS Lambda Amazon Simple Queue Service(SQS) 등을 포함한 20개 이상의 대상과 통합됩니다. 엔진 패치를 사용할 수 있게 되기 전에 `AWS_DOCDB_DB_PATCH_UPGRADE_MAINTENANCE_SCHEDULED` 이벤트 코드를 사용하여 Amazon EventBridge를 설정할 수 있습니다. 이벤트 정보에 응답하고 이벤트 정보 캡처, 추가 이벤트 시작,에 대한 푸시 알림과 같은 추가 채널을 통한 알림 전송 AWS Console Mobile Application, 리전에서 Amazon DocumentDB 엔진 패치를 사용할 수 있게 될 때 수정 또는 기타 작업 수행과 같은 작업을 자동으로 수행하도록 EventBridge를 설정할 수 있습니다.

Amazon DocumentDB가 엔진 패치를 취소하는 드문 시나리오에서는 AHD 알림과 취소에 대해 알리는 이메일을 받게 됩니다. 따라서 `AWS_DOCDB_DB_PATCH_UPGRADE_MAINTENANCE_CANCELLED` 이벤트 코드를 사용하여 이 이벤트에 응답하도록 Amazon EventBridge를 설정할 수 있습니다. [Amazon EventBridge 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) 사용에 대해 자세히 알아보려면 *Amazon EventBridge 사용 설명서*를 참조하세요.

## 보류 중인 Amazon DocumentDB 유지 관리 작업 보기
<a name="view-pending-maintenance"></a>

 AWS Management Console 또는를 사용하여 클러스터에서 유지 관리 업데이트를 사용할 수 있는지 확인할 수 있습니다 AWS CLI.

업데이트가 있을 경우에는 다음 중 한 가지를 선택할 수 있습니다.
+ 현재 다음 유지 관리 기간에 예약된 유지 관리 작업을 연기합니다(OS 패치만 해당).
+ 유지 관리 작업을 즉시 적용합니다.
+ 다음 유지 관리 기간 중 시작할 유지 관리 작업을 예약합니다.

**참고**  
조치를 취하지 않으면 엔진 패치와 같은 필수 유지 관리 조치가 예정된 유지 관리 기간에 자동으로 적용됩니다.

유지 관리 기간에 따라 대기 중인 작업의 시작 시기가 결정되지만 이러한 작업의 전체 실행 시간이 제한되지는 않습니다.

------
#### [ Using the AWS Management Console ]

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 업데이트가 있는 경우 다음과 같이 Amazon DocumentDB 콘솔의 클러스터에 대한 **유지 관리** 열에 **사용 가능**, **필수** 또는 **다음 창**의 단어로 표시됩니다.  
![\[클러스터에 대한 유지 관리 열을 보여주는 Amazon DocumentDB 콘솔\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-maintenance-updates-status.png)

1. 조치를 취하려면 클러스터를 선택하여 세부 정보를 표시한 후 **유지 관리 및 백업**을 선택하십시오. 그러면 **대기 중인 유지 관리** 항목이 표시됩니다.  
![\[클러스터 유지 관리 창을 보여주는 Amazon DocumentDB 콘솔\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/cluster-maint-3.png)

------
#### [ Using the AWS CLI ]

다음 AWS CLI 작업을 사용하여 보류 중인 유지 관리 작업을 확인합니다. 출력에는 대기 중인 유지 관리 작업이 없습니다.

```
aws docdb describe-pending-maintenance-actions
```

이 작업의 출력은 다음과 같습니다(JSON 형식).

```
{
    "PendingMaintenanceActions": []
}
```

------

## Amazon DocumentDB 엔진 업데이트
<a name="db-instance-updates-apply"></a>

Amazon DocumentDB를 사용하여 유지 관리 작업을 적용하는 시기를 선택할 수 있습니다. AWS Management Console 또는를 사용하여 Amazon DocumentDB가 업데이트를 적용하는 시기를 결정할 수 있습니다 AWS CLI.

이번 주제에서 설명하는 절차에 따라 클러스터를 즉시 업그레이드하거나, 업드레이드 일정을 예약합니다.

------
#### [ Using the AWS Management Console ]

콘솔을 사용하여 Amazon DocumentDB 클러스터에 대한 업데이트를 관리할 수 있습니다.

**클러스터에 대한 업데이트를 관리하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 클러스터 목록에서 유지 관리 작업을 적용할 클러스터의 이름 옆에 있는 버튼을 선택합니다.

1. **작업** 메뉴에서 다음 중 하나를 선택합니다.
   + **지금 업그레이드**: 대기 중인 유지 관리 작업을 즉시 수행합니다.
   + **다음에 업그레이드**: 클러스터의 다음 유지 관리 기간 중에 대기 중인 유지 관리 작업을 수행합니다.

   또는 클러스터의 **유지 관리 및 백업** 탭의 대기 중인 유지 관리 섹션에서 **지금 적용** 또는 **다음 유지 관리 기간에 적용**을 클릭할 수 있습니다(이전 섹션의 ** AWS Management Console사용** 참조).
**참고**  
대기 중인 유지 관리 작업이 없는 경우 위의 두 옵션이 모두 비활성화됩니다.

------
#### [ Using the AWS CLI ]

보류 중인 업데이트를 클러스터에 적용하려면 `apply-pending-maintenance-action` AWS CLI 작업을 사용합니다.

**파라미터**
+ **--resource-identifier** - 대기 중인 유지 관리 작업이 적용되는 Amazon DocumentDB Amazon 리소스 이름(ARN)입니다.
+ **--apply-action** - 이 리소스에 적용할 대기 중인 유지 관리 작업입니다.

  유효한 값: `system-update` 및 `db-upgrade`
+ **--opt-in-type** - 옵트인 요청의 유형을 지정하거나 옵트인 요청을 실행 취소하는 값입니다. `immediate` 유형의 옵트인 요청은 실행 취소할 수 없습니다.

  유효한 값:
  + `immediate` - 유지 관리 작업을 즉시 적용합니다.
  + `next-maintenance` - 리소스에 대한 다음 유지 관리 기간 중에 유지 관리 작업을 적용합니다.
  + `undo-opt-in` - 기존 `next-maintenance` 옵트인 요청을 취소합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:us-east-1:123456789012:db:docdb \
    --apply-action system-update \
    --opt-in-type immediate
```
Windows의 경우:  

```
aws docdb apply-pending-maintenance-action ^
    --resource-identifier arn:aws:rds:us-east-1:123456789012:db:docdb ^
    --apply-action system-update ^
    --opt-in-type immediate
```

보류 중인 업데이트가 하나 이상 있는 리소스 목록을 반환하려면 `describe-pending-maintenance-actions` AWS CLI 명령을 사용합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-pending-maintenance-actions \
    --resource-identifier arn:aws:rds:us-east-1:001234567890:db:docdb
```
Windows의 경우:  

```
aws docdb describe-pending-maintenance-actions ^
    --resource-identifier arn:aws:rds:us-east-1:001234567890:db:docdb
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:us-east-1:001234567890:cluster:sample-cluster",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "system-update",
                    "CurrentApplyDate": "2019-01-11T03:01:00Z",
                    "Description": "db-version-upgrade",
                    "ForcedApplyDate": "2019-01-18T03:01:00Z",
                    "AutoAppliedAfterDate": "2019-01-11T03:01:00Z"
                }
            ]
        }
    ]
}
```

`describe-pending-maintenance-actions` AWS CLI 작업의 `--filters` 파라미터를 지정하여 클러스터의 리소스 목록을 반환할 수도 있습니다. `--filters` 작업의 형식은 `Name=filter-name,Values=resource-id,...`입니다.

필터의 `Name` 파라미터에 대해 허용되는 값은 `db-cluster-id`입니다. 이 값은 클러스터 식별자 또는 ARN 목록을 허용합니다. 반환되는 목록에는 이러한 식별자 또는 ARN으로 식별된 클러스터에 대해 보류 중인 유지 관리 작업만 포함됩니다.

다음 예에서는 `sample-cluster1` 및 `sample-cluster2` 클러스터에 대해 보류 중인 유지 관리 작업을 반환합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-pending-maintenance-actions \
   --filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```
Windows의 경우:  

```
aws docdb describe-pending-maintenance-actions ^
   --filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```

------

### 적용 날짜
<a name="db-instance-updates-apply-date"></a>

각 유지 관리 작업에는 대기 중인 유지 관리 작업을 설명할 때 찾을 수 있는 적용 날짜가 있습니다. 에서 보류 중인 유지 관리 작업의 출력을 읽으면 AWS CLI세 가지 날짜가 나열됩니다. 유지 관리가 선택 사항인 경우 이러한 날짜 값은 `null`입니다. 해당 유지 관리 작업이 예약되거나 적용되면 값이 채워집니다.
+ **CurrentApplyDate** - 유지 관리 작업이 즉시 또는 다음 유지 관리 기간에 적용되는 날짜입니다.
+ **ForcedApplyDate** - 유지 관리가 사용자의 유지 관리 기간과 상관없이 자동으로 적용되는 날짜입니다.
+ **AutoAppliedAfterDate** - 유지 관리가 클러스터의 유지 관리 기간 동안 이 날짜 이후에 적용됩니다.

## 사용자 시작 업데이트
<a name="user-initiated-updates"></a>

Amazon DocumentDB 사용자가 클러스터 또는 인스턴스에 대한 업데이트를 시작할 수 있습니다. 예를 들어 사용자가 인스턴스의 클래스를 메모리 용량이 다른 클래스로 수정하거나 클러스터의 파라미터 그룹을 수정할 수 있습니다. Amazon DocumentDB는 이러한 변경 사항을 Amazon DocumentDB에서 시작한 업데이트와 다르게 봅니다. 클러스터 또는 인스턴스 수정에 대한 자세한 정보는 다음 단원 중 하나를 참조하십시오.
+ [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md)
+ [Amazon DocumentDB 인스턴스 수정](db-instance-modify.md)

대기 중인 사용자 시작 변경 사항의 목록을 보려면 다음 명령을 실행합니다.

**Example**  
**인스턴스에서 대기 중인 사용자 시작 변경 사항을 보려면**  
Linux, macOS, Unix의 경우:  

```
aws docdb describe-db-instances \
    --query 'DBInstances[*].[DBClusterIdentifier,DBInstanceIdentifier,PendingModifiedValues]'
```
Windows의 경우:  

```
aws docdb describe-db-instances ^
    --query 'DBInstances[*].[DBClusterIdentifier,DBInstanceIdentifier,PendingModifiedValues]'
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  
이 경우, `sample-cluster-instance`는 `db.r5.xlarge` 인스턴스 클래스에 대기 중인 변경 사항이 있고, `sample-cluster-instance-2`는 대기 중인 변경 사항이 없습니다.  

```
[
    [
        "sample-cluster",
        "sample-cluster-instance",
        {
            "DBInstanceClass": "db.r5.xlarge"
        }
    ],
    [
        "sample-cluster",
        "sample-cluster-instance-2",
        {}
    ]
]
```

## Amazon DocumentDB 유지 관리 기간 관리
<a name="maintenance-window"></a>

각 인스턴스 및 클러스터에는 대기 중인 변경 사항이 적용되는 주 단위 유지 관리 기간이 있습니다. 유지 관리 기간은 요청 또는 필요에 따라 수정하거나 소프트웨어 패치를 적용하는 시기를 조정할 수 있는 기간입니다. 유지 관리 이벤트가 특정 주에 예정되어 있는 경우 사용자가 지정하는 30분의 유지 관리 기간 중에 해당 이벤트가 시작됩니다. 또한 대부분의 유지 관리 이벤트가 30분의 유지 관리 기간 중에 완료됩니다. 단, 대규모 유지 관리 이벤트는 완료하는 데 30분이 넘게 걸릴 수 있습니다.

리전별로 8시간 블록 시간 중에서 30분 유지 관리 기간이 임의로 선택됩니다. 인스턴스 또는 클러스터를 생성할 때 기본 유지 관리 기간을 지정하지 않으면 Amazon DocumentDB에서 임의로 선택한 요일에 30분 유지 관리 기간을 배정합니다.

다음 표는 기본 유지 관리 기간을 할당하는 각 리전의 시간 블록 목록입니다.


| 리전 이름 | 리전 | UTC 시간 블록 | 
| --- | --- | --- | 
| 미국 동부(오하이오) | us-east-2 | 03:00\$111:00 | 
| 미국 동부(버지니아 북부) | us-east-1 | 03:00\$111:00 | 
| 미국 서부(오리건) | us-west-2 | 06:00\$114:00 | 
| Africa (Cape Town) | af-south-1 | 03:00\$111:00 | 
| Asia Pacific (Hong Kong) | ap-east-1 | 06:00\$114:00 | 
| 아시아 태평양(하이데라바드) | ap-south-2 | 06:30-14:30 | 
| 아시아 태평양(말레이시아) | ap-southeast-5 | 13:00\$121:00 | 
| 아시아 태평양(뭄바이) | ap-south-1 | 06:00\$114:00 | 
| 아시아 태평양(오사카) | ap-northeast-3 | 12:00–20:00 | 
| 아시아 태평양(서울) | ap-northeast-2 | 13:00\$121:00 | 
| 아시아 태평양(싱가포르) | ap-southeast-1 | 14:00–22:00 | 
| 아시아 태평양(시드니) | ap-southeast-2 | 12:00–20:00 | 
| 아시아 태평양(자카르타) | ap-southeast-3 | 08:00\$116:00 | 
| 아시아 태평양(멜버른) | ap-southeast-4 | 11:00\$119:00 | 
| 아시아 태평양(태국) | ap-southeast-7 | 15:00\$123:00 | 
| 아시아 태평양(도쿄) | ap-northeast-1 | 13:00\$121:00 | 
| 캐나다(중부) | ca-central-1 | 03:00\$111:00 | 
| 중국(베이징) | cn-north-1 | 06:00\$114:00 | 
| 중국(닝샤) | cn-northwest-1 | 06:00\$114:00 | 
| 유럽(프랑크푸르트) | eu-central-1 | 21:00\$105:00 | 
| 유럽(취리히) | eu-central-2 | 02:00\$110:00 | 
| 유럽(아일랜드) | eu-west-1 | 22:00\$106:00 | 
| Europe (London) | eu-west-2 | 22:00\$106:00 | 
| Europe (Milan) | eu-south-1 | 02:00\$110:00 | 
| 유럽(파리) | eu-west-3 | 23:59\$107:29 | 
| 유럽(스페인) | eu-south-2 | 02:00\$110:00 | 
| 유럽(스톡홀름) | eu-north-1 | 04:00\$112:00 | 
| 멕시코(중부) | mx-central-1 | 03:00\$111:00 | 
| 중동(UAE) | me-central-1 | 05:00\$113:00 | 
| 남아메리카(상파울루) | sa-east-1 | 00:00\$108:00 | 
| 이스라엘(텔아비브) | il-central-1 | 04:00-12:00 | 
| AWS GovCloud(미국 동부) | us-gov-east-1 | 17:00–01:00 | 
| AWS GovCloud(미국 서부) | us-gov-west-1 | 06:00\$114:00 | 

### Amazon DocumentDB 유지 관리 윈도우 변경
<a name="maintenance-windows"></a>

유지 관리 기간은 사용률이 가장 낮은 시간에 할당되어야 하므로 수시로 변경되어야 할 수 있습니다. 시스템 변경 사항(스토리지 조정 작업 또는 인스턴스 클래스 변경 등)을 적용 중이고 가동 중단이 필요한 경우에만 인 이 기간 동안 클러스터 또는 인스턴스를 사용할 수 없습니다. 그런 다음 필수 변경 사항을 적용하는 데 필요한 최소 시간 동안만 사용이 불가능합니다.

데이터베이스 엔진 업그레이드를 위해 Amazon DocumentDB는 개별 인스턴스가 아닌 클러스터에 대한 기본 유지 관리 기간을 사용합니다.

**유지 관리 기간 변경하기**
+ 클러스터: [Amazon DocumentDB 클러스터 수정](db-cluster-modify.md) 단원을 참조하십시오.
+ 인스턴스: [Amazon DocumentDB 인스턴스 수정](db-instance-modify.md) 단원을 참조하십시오.

## Amazon DocumentDB 운영 체제 업데이트
<a name="os-system-updates"></a>

Amazon DocumentDB 클러스터의 인스턴스에는 때때로 운영 체제 업데이트가 필요합니다. Amazon DocumentDB는 운영 체제를 최신 버전으로 업그레이드하여 데이터베이스 성능과 고객의 전반적인 보안 태세를 개선합니다. 운영 체제 업데이트는 Amazon DocumentDB 인스턴스의 클러스터 엔진 버전이나 인스턴스 클래스를 변경하지 않습니다.

클러스터의 가용성을 최대화하기 위해서 클러스터의 리더 인스턴스를 먼저 업데이트한 다음 라이터 인스턴스를 업데이트하는 것이 좋습니다. 장애 조치 시 다운타임이 발생할 수 있으므로 리더 인스턴스와 라이터 인스턴스를 동시에 업데이트하지 않는 것이 좋습니다.

Amazon DocumentDB에 대한 대부분의 운영 체제 업데이트는 선택 사항이며 이를 적용할 설정된 날짜가 없습니다. 그러나 한동안 이러한 업데이트를 적용하지 않으면 결국 인스턴스의 유지 관리 기간 동안 업데이트가 필요해지고 자동으로 적용될 수 있습니다. 이는 데이터베이스의 보안 태세를 유지하는 데 도움이 됩니다. 예기치 않은 가동 중지 시간을 방지하려면 Amazon DocumentDB 인스턴스를 사용할 수 있게 되는 즉시 운영 체제 업데이트를 적용하고 비즈니스 요구 사항에 따라 편한 시간에 인스턴스 유지 관리 기간을 설정하는 것이 좋습니다.

새로운 선택적 업데이트가 제공될 때 알림을 받으려면 보안 패치 이벤트 범주에서 RDS-EVENT-0230 구독을 신청하면 됩니다. Amazon DocumentDB 이벤트 구독에 대한 자세한 내용은 [Amazon DocumentDB 이벤트 구독](https://docs.aws.amazon.com/documentdb/latest/developerguide/event-subscriptions.subscribe.html)을 참조하십시오.

클러스터나 인스턴스 유지 관리 수행 시에는 해당 인스턴스가 기본 인스턴스일 경우 장애 조치를 실시합니다. 가용성을 높이려면 Amazon DocumentDB 클러스터에 두 개 이상의 인스턴스를 사용하는 것이 좋습니다. 자세한 내용은 [Amazon DocumentDB 장애 조치](failover.md) 단원을 참조하십시오.

**참고**  
일부 관리 기능의 경우 Amazon DocumentDB는 Amazon Relational Database Service(RDS)와 공유되는 운영 기술을 사용합니다.

**중요**  
Amazon DocumentDB 인스턴스는 운영 체제 업그레이드 중에 오프라인 상태가 됩니다. 다중 인스턴스 클러스터를 사용하여 클러스터 가동 중지 시간을 최소화할 수 있습니다. 다중 인스턴스 클러스터가 없는 경우 이 유지 관리를 수행하기 위해 보조 인스턴스를 추가한 다음 유지 관리가 완료되면 추가 리더 인스턴스를 삭제하여 임시로 생성하도록 선택할 수 있습니다(보조 인스턴스에 대한 정규 요금이 적용됩니다).

**참고**  
여러 규정 준수 의무를 충족하려면 모든 선택 및 필수 업데이트를 적용하여 최신 상태를 유지해야 할 수 있습니다. 유지 관리 기간 동안 Amazon DocumentDB에서 제공하는 모든 업데이트를 정기적으로 적용하는 것이 좋습니다.

 AWS Management Console 또는를 사용하여 업데이트를 사용할 수 있는지 AWS CLI 확인할 수 있습니다.

------
#### [ Using the AWS Management Console ]

 AWS Management Console을 사용하여 업데이트를 사용할 수 있는지 확인하려면

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택한 후 해당 인스턴스를 선택합니다.

1. **유지 관리**를 선택합니다.

1. **대기 중인 유지 관리** 섹션에서 운영 체제 업데이트를 찾습니다.

![\[클러스터에 대한 유지 관리 열을 보여주는 Amazon DocumentDB 콘솔\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/maintenance-available-1.png)


운영 체제 업데이트를 선택하고 **대기 중 유지 관리** 섹션에서 **지금 적용** 또는 **다음 유지 관리 창에 적용**을 클릭할 수 있습니다. 유지 관리 값이 **다음 창**인 경우 작업에서 **Defer 업그레이드**를 선택하여 유지 관리 항목을 보류하십시오. 유지 관리 작업이 이미 시작된 경우에는 보류할 수 없습니다.

또는 탐색 창에서 **클러스터**를 클릭하여 클러스터 목록에서 인스턴스를 선택하고 **작업** 메뉴에서 **지금 적용** 또는 **다음 유지 관리 기간에 적용**을 선택할 수 있습니다.

------
#### [ Using the AWS CLI ]

를 사용하여 업데이트를 사용할 수 있는지 확인하려면 `describe-pending-maintenance-actions` 명령을 AWS CLI호출합니다.

```
aws docdb describe-pending-maintenance-actions
```

```
{
  "ResourceIdentifier": "arn:aws:docdb:us-east-1:123456789012:db:mydb2",
  "PendingMaintenanceActionDetails": [
    {
      "Action": "system-update",
      "Description": "New Operating System update is available"
    }
  ]
}
```

------

운영 체제 업데이트는 Amazon DocumentDB 엔진 버전 및 인스턴스 클래스에 따라 다릅니다. 따라서 Amazon DocumentDB 인스턴스는 서로 다른 시점에 업데이트를 받거나 이를 요구합니다. 엔진 버전 및 인스턴스 클래스에 따라 인스턴스에 운영 체제 업데이트가 지원되는 경우 업데이트가 콘솔에 표시됩니다. 명령을 실행 AWS CLI `describe-pending-maintenance-actions`하거나 `DescribePendingMaintenanceActions` API 작업을 호출하여 볼 수도 있습니다.

Amazon DocumentDB 엔진의 최신 클러스터 패치 릴리스를 실행하지 않는 경우 운영 체제 업데이트가 사용 가능한 유지 관리로 나열되지 않을 수 있습니다. 운영 체제 업데이트를 보고 관리하려면 먼저 최신 엔진 패치 버전으로 업그레이드해야 합니다.

# 서비스 연결 역할 이해
<a name="service-linked-roles"></a>

Amazon DocumentDB(MongoDB 호환)는 AWS Identity and Access Management (IAM) 서비스 연결 역할을 사용합니다. [서비스 연결 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)은 Amazon DocumentDB에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 Amazon DocumentDB에서 사전 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

필요한 권한을 수동으로 추가할 필요가 없으므로 서비스 연결 역할은 Amazon DocumentDB를 더 쉽게 사용할 수 있습니다. Amazon DocumentDB에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, Amazon DocumentDB만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 역할의 관련 리소스를 삭제해야만 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 실수로 삭제할 수 없기 때문에 Amazon DocumentDB 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 [IAM으로 작업하는AWS 서비스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)를 참조해 **서비스 연결 역할** 열이 **예(Yes)**인 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예(Yes)** 링크를 선택합니다.

## Amazon DocumentDB 서비스 연결 역할 권한
<a name="service-linked-role-permissions"></a>

Amazon DocumentDB(MongoDB 호환)는 **AWSServiceRoleForRDS**라는 서비스 연결 역할을 사용하여 Amazon DocumentDB가 클러스터를 대신하여 AWS 서비스를 호출하도록 허용합니다.

AWSServiceRoleForRDS 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `docdb.amazonaws.com`

역할 권한 정책은 Amazon DocumentDB가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다.
+ `ec2`에 대한 작업:
  + `AssignPrivateIpAddresses`
  + `AuthorizeSecurityGroupIngress`
  + `CreateNetworkInterface`
  + `CreateSecurityGroup`
  + `DeleteNetworkInterface`
  + `DeleteSecurityGroup`
  + `DescribeAvailabilityZones`
  + `DescribeInternetGateways`
  + `DescribeSecurityGroups`
  + `DescribeSubnets`
  + `DescribeVpcAttribute`
  + `DescribeVpcs`
  + `ModifyNetworkInterfaceAttribute`
  + `RevokeSecurityGroupIngress`
  + `UnassignPrivateIpAddresses`
+ `sns`에 대한 작업:
  + `ListTopic`
  + `Publish`
+ `cloudwatch`에 대한 작업:
  + `PutMetricData`
  + `GetMetricData`
  + `CreateLogStream`
  + `PullLogEvents`
  + `DescribeLogStreams`
  + `CreateLogGroup`

**참고**  
IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 생성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 다음과 같은 오류 메시지가 표시될 수 있습니다.  
**리소스를 만들 수 없습니다. 서비스 연결 역할을 생성할 권한이 있는지 확인하십시오. 그렇지 않은 경우 기다렸다가 나중에 다시 시도하십시오.**  
이러한 오류가 표시되면 다음 권한이 활성화되어 있는지 확인합니다.  

```
{
    "Action": "iam:CreateServiceLinkedRole",
    "Effect": "Allow",
    "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName":"rds.amazonaws.com"
        }
    }
}
```

자세한 내용은 IAM 사용 설명서**의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) 섹션을 참조하세요.

## Amazon DocumentDB 서비스 연결 역할 생성
<a name="service-linked-roles-create"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. 클러스터를 생성할 때 Amazon DocumentDB에서는 서비스 연결 역할을 생성합니다.

이 서비스 연결 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 클러스터를 생성할 때 Amazon DocumentDB에서는 서비스 연결 역할을 다시 생성합니다.

## Amazon DocumentDB 서비스 연결 역할 수정
<a name="service-linked-roles-edit"></a>

Amazon DocumentDB에서는 AWSServiceRoleForRDS 서비스 연결 역할을 수정할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 그러나 IAM을 사용하여 역할의 설명을 수정할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## Amazon DocumentDB 서비스 연결 역할 삭제
<a name="service-linked-roles-delete"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 그러나 서비스 연결 역할을 삭제하려면 먼저 모든 클러스터를 삭제해야 합니다.

### Amazon DocumentDB 서비스 연결 역할 정리
<a name="service-linked-roles-clean-up"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에 활성 세션이 없는지 확인하고 역할에서 사용되는 리소스를 모두 제거해야 합니다.

**콘솔을 사용하여 서비스 연결 역할에 활성 세션이 있는지 확인하려면 다음을 수행합니다.**

1. 에 로그인 AWS Management Console 하고에서 IAM 콘솔을 엽니다[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. IAM 콘솔의 탐색 창에서 **역할**을 선택한 다음 **AWSServiceRoleForRDS** 역할의 이름(확인란 아님)을 선택합니다.

1. 선택한 역할의 **요약** 페이지에서 **Access Advisor** 탭을 선택합니다.

1. **Access Advisor** 탭에서 서비스 연결 역할의 최근 활동을 검토합니다.
**참고**  
Amazon DocumentDB에서 AWSServiceRoleForRDS 역할을 사용하는지 잘 모를 경우에는 역할을 삭제할 수 있습니다. 서비스에서 역할을 사용하는 경우에는 삭제가 안 되어 역할이 사용 중인 리전을 볼 수 있습니다. 역할이 사용 중인 경우에는 세션이 종료될 때까지 기다렸다가 역할을 삭제해야 합니다. 서비스 연결 역할에 대한 세션은 취소할 수 없습니다.

AWSServiceRoleForRDS 역할을 제거하려면 먼저 *모든* 인스턴스 및 클러스터를 삭제해야 합니다. 인스턴스 및 클러스터 삭제에 대한 자세한 내용은 다음 주제를 참조하십시오.
+ [Amazon DocumentDB 인스턴스 삭제](db-instance-delete.md)
+ [Amazon DocumentDB 클러스터 삭제](db-cluster-delete.md)

## Amazon DocumentDB 서비스 연결 역할에 대해 지원되는 리전
<a name="slr-regions"></a>

Amazon DocumentDB는 서비스가 제공되는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [https://docs.aws.amazon.com/documentdb/latest/developerguide/regions-and-azs.html#regions-and-azs-availability](https://docs.aws.amazon.com/documentdb/latest/developerguide/regions-and-azs.html#regions-and-azs-availability) 단원을 참조하십시오.

 

# Amazon DocumentDB에서 변경 스트림 사용
<a name="change_streams"></a>

Amazon DocumentDB(MongoDB 호환)의 변경 스트림 기능은 클러스터의 컬렉션 내에서 시간순으로 발생하는 변경 이벤트 시퀀스를 제공합니다. 변경 스트림에서 이벤트를 읽어 다음을 비롯한 다양한 사용 사례를 구현할 수 있습니다.
+ 변경 알림
+ Amazon OpenSearch Service(OpenSearch Service)로 전체 텍스트 검색
+ Amazon Redshift로 분석

애플리케이션에서는 변경 스트림을 사용하여 개별 컬렉션의 데이터 변경 사항을 구독할 수 있습니다. 변경 스트림 이벤트는 클러스터에서 발생하는 순서대로 정렬되며 이벤트가 기록된 후 3시간(기본값) 동안 저장됩니다. 파라미터를 사용하여 보존 기간을 최대 7일까지 연장할 수 있습니다. `change_stream_log_retention_duration` 변경 스트림 보존 기간을 수정하려면 [변경 스트림 로그 보존 기간 수정](https://docs.aws.amazon.com/documentdb/latest/developerguide/change_streams.html#change_streams-modifying_log_retention)을 참조하세요.

**Topics**
+ [지원되는 연산자](#change_streams-supported_ops)
+ [결제](#change_streams-billing)
+ [제한 사항](#change_streams-limitations)
+ [변경 스트림 활성화](#change_streams-enabling)
+ [예: Python에서 변경 스트림 사용](#change_streams-using_example)
+ [전체 문서 조회](#change_streams-lookup)
+ [변경 스트림 재개](#change_streams-resuming)
+ [`startAtOperationTime`에서 변경 스트림 재개](#change_streams-startAtOperation)
+ [`postBatchResumeToken`에서 변경 스트림 재개](#change_streams-postBatchResumeToken)
+ [변경 스트림 내 트랜잭션](#change_streams-transactions)
+ [변경 스트림 로그 보존 기간 수정](#change_streams-modifying_log_retention)
+ [보조 인스턴스에서 변경 스트림 사용](#change-streams-secondary-instances)

## 지원되는 연산자
<a name="change_streams-supported_ops"></a>

Amazon DocumentDB는 변경 스트림에 대해 다음 작업을 지원합니다.
+ MongoDB `db.collection.watch()`, `db.watch()` 및 `client.watch()`API에서 지원되는 모든 변경 이벤트.
+ 업데이트를 위한 전체 문서 조회.
+ 집계 단계: `$match``$project`,`$redact`, 및 `$addFields`와 `$replaceRoot`.
+ 이력서 토큰에서 변경 스트림 재개
+ `startAtOperation` 항목을 사용하여 타임스탬프에서 변경 스트림 재개(Amazon DocumentDB 4.0\$1에 해당)

## 결제
<a name="change_streams-billing"></a>

Amazon DocumentDB 변경 스트림 기능은 기본적으로 비활성화되어 있으며 이 기능이 활성화될 때까지 추가 요금이 발생하지 않습니다. 클러스터에서 변경 스트림을 사용하면 추가 읽기 및 쓰기 IO와 스토리지 비용이 발생합니다. `modifyChangeStreams` API 작업을 사용하여 클러스터에 대해 이 기능을 활성화할 수 있습니다. 요금에 대한 자세한 내용은 [Amazon DocumentDB 요금](https://aws.amazon.com/documentdb/pricing/)을 참조하세요.

## 제한 사항
<a name="change_streams-limitations"></a>

Amazon DocumentDB에서 변경 스트림에는 다음과 같은 제한 사항이 있습니다.
+ Amazon DocumentDB 3.6. 및 Amazon DocumentDB 4.0에서 변경 스트림은 Amazon DocumentDB 클러스터의 기본 인스턴스에 대한 연결에서만 열 수 있습니다. Amazon DocumentDB 3.6. 및 Amazon DocumentDB 4.0에서는 복제본 인스턴스의 변경 스트림에서 읽기 기능이 지원되지 않습니다. `watch()` API 작업을 호출할 때 모든 읽기가 기본 인스턴스에 대해 수행되도록 `primary` 읽기 기본 설정을 지정해야 합니다([예제](#change_streams-using_example) 섹션 참조).
+ Amazon DocumentDB 5.0에서는 전역 클러스터를 포함하여 기본 인스턴스와 보조 인스턴스 모두에서 변경 스트림을 열 수 있습니다. 보조 읽기 기본 설정을 지정하여 변경 스트림을 보조 인스턴스로 리디렉션할 수 있습니다. 추가 모범 사례 및 제한 사항은 [보조 인스턴스에서 변경 스트림 사용](#change-streams-secondary-instances) 항목을 참조하세요.
+ 모음의 변경 스트림에 작성된 이벤트는 최대 7일 동안 사용할 수 있습니다(기본값은 3시간). 변경 스트림 데이터는 새 변경 사항이 발생하지 않은 경우에도 로그 보존 기간 후에 삭제됩니다.
+ 모음에서 `updateMany` 또는 `deleteMany` 같은 장기 실행 쓰기 작업을 수행하는 경우, 장기 실행 쓰기 작업이 완료될 때까지 변경 스트림 이벤트의 쓰기를 일시적으로 중단할 수 있습니다.
+ Amazon DocumentDB는 MongoDB 작업 로그(`oplog`)를 지원하지 않습니다.
+ Amazon DocumentDB를 사용하면 지정된 컬렉션에서 변경 스트림을 명시적으로 활성화해야 합니다.
+ 변경 스트림 이벤트의 총 크기(변경 데이터 및 요청된 경우 전체 문서 포함)가 `16 MB`보다 크면 클라이언트가 변경 스트림에서 읽기에 실패합니다.
+ Amazon DocumentDB v3.6과 `client.watch()` 및 `db.watch()` 항목을 사용할 때는 현재 Ruby 드라이버가 지원되지 않습니다.
+ 필드의 업데이트된 값이 이전 값과 동일한 경우 변경 스트림의 `updateDescription` 명령 출력은 Amazon DocumentDB와 MongoDB에서 다릅니다.
  + 제공된 필드가 `$set` 명령에 지정되어 있고 대상 값이 이미 소스 값과 동일한 경우 Amazon DocumentDB는 `updateDescription` 출력의 필드를 반환하지 않습니다.
  + MongoDB는 지정된 값이 현재 값과 같더라도 출력의 필드를 반환합니다.

## 변경 스트림 활성화
<a name="change_streams-enabling"></a>

해당 데이터베이스 내의 모든 모음 또는 선택한 모음에 대해 Amazon DocumentDB 변경 스트림을 활성화할 수 있습니다. 다음은 mongo 쉘을 사용하여 다른 사용 사례에 변경 스트림을 활성화하는 방법의 예입니다. 데이터베이스 및 모음 이름을 지정할 때 빈 문자열은 와일드카드로 취급됩니다.

```
//Enable change streams for the collection "foo" in database "bar"
db.adminCommand({modifyChangeStreams: 1,
    database: "bar",
    collection: "foo", 
    enable: true});
```

```
//Disable change streams on collection "foo" in database "bar"
db.adminCommand({modifyChangeStreams: 1,
    database: "bar",
    collection: "foo", 
    enable: false});
```

```
//Enable change streams for all collections in database "bar"
db.adminCommand({modifyChangeStreams: 1,
    database: "bar",
    collection: "", 
    enable: true});
```

```
//Enable change streams for all collections in all databases in a cluster
db.adminCommand({modifyChangeStreams: 1,
    database: "",
    collection: "", 
    enable: true});
```

다음과 같은 경우 컬렉션에 대해 변경 스트림이 활성화됩니다.
+ 데이터베이스와 컬렉션 모두 명시적으로 활성화되어 있습니다.
+ 컬렉션을 포함하는 데이터베이스가 활성화되어 있습니다.
+ 모든 데이터베이스가 활성화되어 있습니다.

상위 데이터베이스에도 변경 스트림이 활성화되어 있거나 클러스터의 모든 데이터베이스가 활성화되어 있는 경우 데이터베이스에서 컬렉션을 삭제해도 해당 컬렉션에 대한 변경 스트림이 비활성화되지 않습니다. 삭제된 컬렉션과 동일한 이름으로 새 컬렉션이 생성되면 해당 컬렉션에 대해 변경 스트림이 활성화됩니다.

`$listChangeStreams` 집계 파이프라인 단계를 사용하여 클러스터의 활성화된 모든 변경 스트림을 나열할 수 있습니다. Amazon DocumentDB에서 지원하는 모든 집계 단계는 추가 처리를 위해 파이프라인에서 사용할 수 있습니다. 이전에 활성화된 컬렉션이 비활성화된 경우 `$listChangeStreams` 출력에 나타나지 않습니다.

```
//List all databases and collections with change streams enabled
cursor = new DBCommandCursor(db,
    db.runCommand(
        {aggregate: 1,
        pipeline: [{$listChangeStreams: 1}], 
        cursor:{}}));
```

```
//List of all databases and collections with change streams enabled 
{ "database" : "test", "collection" : "foo" } 
{ "database" : "bar", "collection" : "" }
{ "database" : "", "collection" : "" }
```

```
//Determine if the database “bar” or collection “bar.foo” have change streams enabled
cursor = new DBCommandCursor(db,
  db.runCommand(
      {aggregate: 1,
       pipeline: [{$listChangeStreams: 1},
                  {$match: {$or: [{database: "bar", collection: "foo"},
                                  {database: "bar", collection: ""},
                                  {database: "", collection: ""}]}}
                 ],
      cursor:{}}));
```

## 예: Python에서 변경 스트림 사용
<a name="change_streams-using_example"></a>

다음은 컬렉션 수준의 Python에서 Amazon DocumentDB 변경 스트림을 사용하는 예입니다.

```
import os
import sys
from pymongo import MongoClient, ReadPreference
      
username = "DocumentDBusername"
password = <Insert your password> 

clusterendpoint = "DocumentDBClusterEndpoint”
client = MongoClient(clusterendpoint, username=username, password=password, tls='true', tlsCAFile='global-bundle.pem')

db = client['bar']
 
#While ‘Primary’ is the default read preference, here we give an example of
#how to specify the required read preference when reading the change streams
coll = db.get_collection('foo', read_preference=ReadPreference.PRIMARY)
#Create a stream object
stream = coll.watch()
#Write a new document to the collection to generate a change event
coll.insert_one({'x': 1})
#Read the next change event from the stream (if any)
print(stream.try_next())

"""
Expected Output:
{'_id': {'_data': '015daf94f600000002010000000200009025'},
'clusterTime': Timestamp(1571788022, 2),
'documentKey': {'_id': ObjectId('5daf94f6ea258751778163d6')},
'fullDocument': {'_id': ObjectId('5daf94f6ea258751778163d6'), 'x': 1},
'ns': {'coll': 'foo', 'db': 'bar'},
'operationType': 'insert'}
"""

#A subsequent attempt to read the next change event returns nothing, as there are no new changes
print(stream.try_next())

"""
Expected Output:
None
""" 
 
#Generate a new change event by updating a document
result = coll.update_one({'x': 1}, {'$set': {'x': 2}})
print(stream.try_next())

"""
Expected Output:
{'_id': {'_data': '015daf99d400000001010000000100009025'},
'clusterTime': Timestamp(1571789268, 1),
'documentKey': {'_id': ObjectId('5daf9502ea258751778163d7')},
'ns': {'coll': 'foo', 'db': 'bar'},
'operationType': 'update',
'updateDescription': {'removedFields': [], 'updatedFields': {'x': 2}}}
"""
```

다음은 데이터베이스 수준의 Python에서 Amazon DocumentDB 변경 스트림을 사용하는 예입니다.

```
import os
import sys
from pymongo import MongoClient

username = "DocumentDBusername"
password = <Insert your password>
clusterendpoint = "DocumentDBClusterEndpoint”
client = MongoClient(clusterendpoint, username=username, password=password, tls='true', tlsCAFile='global-bundle.pem')

db = client['bar']
#Create a stream object
stream = db.watch()
coll = db.get_collection('foo')
#Write a new document to the collection foo to generate a change event
coll.insert_one({'x': 1})
 
#Read the next change event from the stream (if any)
print(stream.try_next())

"""
Expected Output:
{'_id': {'_data': '015daf94f600000002010000000200009025'},
'clusterTime': Timestamp(1571788022, 2),
'documentKey': {'_id': ObjectId('5daf94f6ea258751778163d6')},
'fullDocument': {'_id': ObjectId('5daf94f6ea258751778163d6'), 'x': 1},
'ns': {'coll': 'foo', 'db': 'bar'},
'operationType': 'insert'}
"""
#A subsequent attempt to read the next change event returns nothing, as there are no new changes
print(stream.try_next())

"""
Expected Output:
None
""" 
 
coll = db.get_collection('foo1')

#Write a new document to another collection to generate a change event
coll.insert_one({'x': 1})
print(stream.try_next())

"""
Expected Output: Since the change stream cursor was the database level you can see change events from different collections in the same database
{'_id': {'_data': '015daf94f600000002010000000200009025'},
'clusterTime': Timestamp(1571788022, 2),
'documentKey': {'_id': ObjectId('5daf94f6ea258751778163d6')},
'fullDocument': {'_id': ObjectId('5daf94f6ea258751778163d6'), 'x': 1},
'ns': {'coll': 'foo1', 'db': 'bar'},
'operationType': 'insert'}
"""
```

## 전체 문서 조회
<a name="change_streams-lookup"></a>

변경 사항 업데이트 이벤트에는 전체 문서가 포함되지 않으며 변경된 내용만 포함됩니다. 사용 사례에 업데이트의 영향을 받는 전체 문서가 필요한 경우, 스트림을 열 때 전체 문서 조회를 활성화할 수 있습니다.

변경 스트림 업데이트 이벤트에 대한 `fullDocument` 문서는 문서 조회 시 업데이트된 문서의 최신 버전을 나타냅니다. 업데이트 작업과 `fullDocument` 조회 사이에 변경 사항이 발생한 경우 `fullDocument` 문서가 업데이트 당시의 문서 상태를 나타내지 않을 수 있습니다.

업데이트 조회가 활성화된 스트림 객체를 생성하려면 다음 예제를 사용하세요.

```
stream = coll.watch(full_document='updateLookup')
 
#Generate a new change event by updating a document
result = coll.update_one({'x': 2}, {'$set': {'x': 3}})

stream.try_next()
```

스트림 객체의 결과는 다음과 비슷합니다.

```
{'_id': {'_data': '015daf9b7c00000001010000000100009025'},
'clusterTime': Timestamp(1571789692, 1),
'documentKey': {'_id': ObjectId('5daf9502ea258751778163d7')},
'fullDocument': {'_id': ObjectId('5daf9502ea258751778163d7'), 'x': 3},
'ns': {'coll': 'foo', 'db': 'bar'},
'operationType': 'update',
'updateDescription': {'removedFields': [], 'updatedFields': {'x': 3}}}
```

## 변경 스트림 재개
<a name="change_streams-resuming"></a>

마지막으로 검색된 변경 이벤트 문서의 `_id` 필드와 동일한 다시 시작 토큰을 사용하여 나중에 변경 스트림을 다시 시작할 수 있습니다.

```
import os
import sys
from pymongo import MongoClient

username = "DocumentDBusername"
password = <Insert your password> 
clusterendpoint = "DocumentDBClusterEndpoint”
client = MongoClient(clusterendpoint, username=username, password=password, tls='true', tlsCAFile='global-bundle.pem', retryWrites='false')

db = client['bar']
coll = db.get_collection('foo')
#Create a stream object
stream = db.watch()
coll.update_one({'x': 1}, {'$set': {'x': 4}})
event = stream.try_next()
token = event['_id']
print(token)

"""
Output: This is the resume token that we will later us to resume the change stream
{'_data': '015daf9c5b00000001010000000100009025'}
"""
#Python provides a nice shortcut for getting a stream’s resume token
print(stream.resume_token)

"""
Output
{'_data': '015daf9c5b00000001010000000100009025'}
"""
#Generate a new change event by updating a document
result = coll.update_one({'x': 4}, {'$set': {'x': 5}})
#Generate another change event by inserting a document
result = coll.insert_one({'y': 5})
#Open a stream starting after the selected resume token
stream = db.watch(full_document='updateLookup', resume_after=token)
#Our first change event is the update with the specified _id
print(stream.try_next())

"""
#Output: Since we are resuming the change stream from the resume token, we will see all events after the first update operation. In our case, the change stream will resume from the update operation {x:5}

{'_id': {'_data': '015f7e8f0c000000060100000006000fe038'}, 
'operationType': 'update', 
'clusterTime': Timestamp(1602129676, 6), 
'ns': {'db': 'bar', 'coll': 'foo'}, 
'documentKey': {'_id': ObjectId('5f7e8f0ac423bafbfd9adba2')}, 
'fullDocument': {'_id': ObjectId('5f7e8f0ac423bafbfd9adba2'), 'x': 5}, 
'updateDescription': {'updatedFields': {'x': 5}, 'removedFields': []}}
"""
#Followed by the insert
print(stream.try_next())

"""
#Output:
{'_id': {'_data': '015f7e8f0c000000070100000007000fe038'}, 
'operationType': 'insert', 
'clusterTime': Timestamp(1602129676, 7), 
'ns': {'db': 'bar', 'coll': 'foo'}, 
'documentKey': {'_id': ObjectId('5f7e8f0cbf8c233ed577eb94')}, 
'fullDocument': {'_id': ObjectId('5f7e8f0cbf8c233ed577eb94'), 'y': 5}}
"""
```

## `startAtOperationTime`에서 변경 스트림 재개
<a name="change_streams-startAtOperation"></a>

`startAtOperationTime`을 사용하여 특정 타임스탬프에서 나중에 변경 스트림을 재개할 수 있습니다. 

**참고**  
`startAtOperationTime`을 사용하는 기능은 Amazon DocumentDB 4.0 이상에서 사용할 수 있습니다. `startAtOperationTime`을 사용하는 경우, 변경 스트림 커서는 지정된 타임스탬프 시점 또는 이후에 발생한 변경 사항만 반환합니다. `startAtOperationTime` 및 `resumeAfter` 명령은 상호 배타적이므로 함께 사용할 수 없습니다.

```
import os
import sys
from pymongo import MongoClient

username = "DocumentDBusername"
password = <Insert your password> 
clusterendpoint = "DocumentDBClusterEndpoint”
client = MongoClient(clusterendpoint, username=username, password=password, tls='true', tlsCAFile='rds-root-ca-2020.pem',retryWrites='false')
db = client['bar']
coll = db.get_collection('foo')
#Create a stream object
stream = db.watch()
coll.update_one({'x': 1}, {'$set': {'x': 4}})
event = stream.try_next()
timestamp = event['clusterTime']
print(timestamp)
"""
Output
Timestamp(1602129114, 4)
"""
#Generate a new change event by updating a document
result = coll.update_one({'x': 4}, {'$set': {'x': 5}})
result = coll.insert_one({'y': 5})
#Generate another change event by inserting a document
#Open a stream starting after specified time stamp

stream = db.watch(start_at_operation_time=timestamp)
print(stream.try_next())

"""
#Output: Since we are resuming the change stream at the time stamp of our first update operation (x:4), the change stream cursor will point to that event
{'_id': {'_data': '015f7e941a000000030100000003000fe038'}, 
'operationType': 'update', 
'clusterTime': Timestamp(1602130970, 3), 
'ns': {'db': 'bar', 'coll': 'foo'}, 
'documentKey': {'_id': ObjectId('5f7e9417c423bafbfd9adbb1')}, 
'updateDescription': {'updatedFields': {'x': 4}, 'removedFields': []}}
"""

print(stream.try_next())
"""
#Output: The second event will be the subsequent update operation (x:5)
{'_id': {'_data': '015f7e9502000000050100000005000fe038'}, 
'operationType': 'update', 
'clusterTime': Timestamp(1602131202, 5),
'ns': {'db': 'bar', 'coll': 'foo'}, 
'documentKey': {'_id': ObjectId('5f7e94ffc423bafbfd9adbb2')}, 
'updateDescription': {'updatedFields': {'x': 5}, 'removedFields': []}}
"""

print(stream.try_next())

"""
#Output: And finally the last event will be the insert operation (y:5)
{'_id': {'_data': '015f7e9502000000060100000006000fe038'}, 
'operationType': 'insert', 
'clusterTime': Timestamp(1602131202, 6), 
'ns': {'db': 'bar', 'coll': 'foo'}, 
'documentKey': {'_id': ObjectId('5f7e95025c4a569e0f6dde92')}, 
'fullDocument': {'_id': ObjectId('5f7e95025c4a569e0f6dde92'), 'y': 5}}
"""
```

## `postBatchResumeToken`에서 변경 스트림 재개
<a name="change_streams-postBatchResumeToken"></a>

이제 Amazon DocumentDB 변경 스트림은 `postBatchResumeToken`이라는 추가 필드를 반환합니다. 이 필드는 `$changestream` 명령 및 `getMore` 명령에서 반환됩니다.

Python의 `$changestream` 명령 예제:

```
db.command({"aggregate": "sales", "pipeline": [{ "$changeStream": {}}], "cursor": {"batchSize": 1}})
```

예상 결과:

```
cursor" : {
   "firstBatch" : [ ],
   "postBatchResumeToken" : {"_data" : "0167c8cbe60000000004"},
   "id" : NumberLong("9660788144470"),
   "ns" : "test.sales"
}
```

Python의 `getMore` 명령 예제:

```
db.command({"getMore": NumberLong(<cursor id>), "collection": "sales", "batchSize": 1 })
```

예상 결과

```
cursor" : {
   "nextBatch" : [ ],
   "postBatchResumeToken" : {"_data" : "0167c8cbe60000000004"},
   "id" : NumberLong("9660788144470"),
   "ns" : "test.sales"
}
```

`postBatchResumeToken` 필드는 재개 토큰이 사용되는 방식과 마찬가지로 `resumeAfter` 필드에서 새 변경 스트림 커서를 여는 데 사용할 수 있습니다.

선택한 `postBatchResumeToken` 이후에 시작하는 스트림을 엽니다.

```
post_batch_resume_token = output['cursor']['postBatchResumeToken']
stream = db.watch(full_document='updateLookup', resume_after=post_batch_resume_token)
```

실제 이벤트를 반영하는 작업 로그(oplog) 항목에 항상 해당하는 일반 재개 토큰과 달리, `postBatchResumeToken`은 변경 스트림이 서버에서 스캔한 oplog 항목에 해당하며, 반드시 일치하는 변경 사항은 아닙니다.

이전 일반 재개 토큰으로 다시 시작하려고 시도하는 경우 데이터베이스가 지정된 타임스탬프 및 현재 시간 간의 모든 oplog 항목을 강제로 스캔합니다. 이를 통해 짧은 시간 동안 각 하위 쿼리 스캔을 통해 내부적으로 많은 쿼리가 생성될 수 있습니다. 이로 인해 CPU 사용량이 급증하고 데이터베이스 성능이 저하됩니다. 마지막 `postBatchResumeToken`으로 재개하면 일치하지 않는 oplog 항목의 스캔을 건너뜁니다.

## 변경 스트림 내 트랜잭션
<a name="change_streams-transactions"></a>

변경 스트림 이벤트에는 커밋되지 않았거나 중단된 트랜잭션의 이벤트는 포함되지 않습니다. 예를 들어 하나의 `INSERT` 작업과 하나의 `UPDATE` 작업으로 트랜잭션을 시작하고 `INSERT` 작업이 성공하지만 `UPDATE` 작업이 실패하면 트랜잭션이 롤백됩니다. 이 트랜잭션이 롤백되었으므로 변경 스트림에는 이 트랜잭션에 대한 이벤트가 포함되지 않습니다.

## 변경 스트림 로그 보존 기간 수정
<a name="change_streams-modifying_log_retention"></a>

 AWS Management Console 또는를 사용하여 변경 스트림 로그 보존 기간을 1시간에서 7일로 수정할 수 있습니다 AWS CLI.

------
#### [ Using the AWS Management Console ]

**변경 스트림 로그 보존 기간을 수정하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. **파라미터 그룹** 창에서 클러스터와 연결된 클러스터 파라미터 그룹을 선택합니다. 클러스터와 연결된 클러스터 파라미터 그룹을 식별하려면 [Amazon DocumentDB 클러스터의 파라미터 그룹 확인](cluster_parameter_groups-describe.md#cluster_parameter_groups-determine) 단원을 참조하십시오.

1. 결과 페이지에는 이 클러스터 파라미터 그룹에 대한 파라미터 및 해당 세부 정보가 표시됩니다. `change_stream_log_retention_duration` 파라미터를 선택합니다.

1. 페이지 오른쪽 상단에서 **편집**을 선택하여 파라미터의 값을 변경합니다. `change_stream_log_retention_duration` 파라미터는 1시간\$17일 사이로 수정할 수 있습니다.

1. 변경한 다음 **클러스터 파라미터 수정**을 선택하여 변경 사항을 저장합니다. 변경 사항을 취소하려면 **취소**를 선택합니다.

------
#### [ Using the AWS CLI ]

클러스터 파라미터 그룹의 `change_stream_log_retention_duration` 파라미터를 수정하려면 다음 파라미터와 함께 `modify-db-cluster-parameter-group` 작업을 사용합니다.
+ **--db-cluster-parameter-group-name** - 필수입니다. 수정하려는 클러스터 파라미터 그룹의 이름입니다. 클러스터와 연결된 클러스터 파라미터 그룹을 식별하려면 [Amazon DocumentDB 클러스터의 파라미터 그룹 확인](cluster_parameter_groups-describe.md#cluster_parameter_groups-determine) 단원을 참조하십시오.
+ **--parameters** - 필수입니다. 수정 중인 파라미터입니다. 각 파라미터 요소는 다음을 포함해야 합니다.
  + **ParameterName** — 수정 중인 파라미터의 이름입니다. 이 경우에는 `change_stream_log_retention_duration`입니다.
  + **ParameterValue** — 이 파라미터의 새 값입니다.
  + **ApplyMethod** - 파라미터에 대한 변경 사항을 적용할 방법입니다. 허용된 값은 `immediate` 및 `pending-reboot`입니다.
**참고**  
`static`의 `ApplyType` 파라미터에는 `pending-reboot`의 `ApplyMethod`이 있어야 합니다.

1. 파라미터 `change_stream_log_retention_duration`의 값을 변경하려면 다음 명령을 실행하고 `parameter-value`를 파라미터를 수정할 값으로 바꿉니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters "ParameterName=change_stream_log_retention_duration,ParameterValue=<parameter-value>,ApplyMethod=immediate"
   ```

   Windows의 경우:

   ```
   aws docdb modify-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --parameters "ParameterName=change_stream_log_retention_duration,ParameterValue=<parameter-value>,ApplyMethod=immediate"
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
       "DBClusterParameterGroupName": "sample-parameter-group"
   }
   ```

1. 적어도 5분을 기다립니다.

1. `sample-parameter-group`의 파라미터 값을 나열하여 변경 사항을 확인합니다.

   Linux, macOS, Unix의 경우:

   ```
   aws docdb describe-db-cluster-parameters \
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   Windows의 경우:

   ```
   aws docdb describe-db-cluster-parameters ^
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   이 작업의 출력은 다음과 같습니다(JSON 형식).

   ```
   {
       "Parameters": [
           {
               "ParameterName": "audit_logs",
               "ParameterValue": "disabled",
               "Description": "Enables auditing on cluster.",
               "Source": "system",
               "ApplyType": "dynamic",
               "DataType": "string",
               "AllowedValues": "enabled,disabled",
               "IsModifiable": true,
               "ApplyMethod": "pending-reboot"
           },
           {
               "ParameterName": "change_stream_log_retention_duration",
               "ParameterValue": "12345",
               "Description": "Duration of time in seconds that the change stream log is retained and can be consumed.",
               "Source": "user",
               "ApplyType": "dynamic",
               "DataType": "integer",
               "AllowedValues": "3600-86400",
               "IsModifiable": true,
               "ApplyMethod": "immediate"
           }
       ]
   }
   ```

------

**참고**  
변경 스트림 로그 보존은 로그 크기가 (>) 51,200MB보다 커질 때까지 구성된 `change_stream_log_retention_duration` 값보다 오래된 로그를 삭제하지 않습니다.

## 보조 인스턴스에서 변경 스트림 사용
<a name="change-streams-secondary-instances"></a>

보조 인스턴스에서 변경 스트림 사용을 시작하려면 `readPreference` 항목을 보조 인스턴스로 사용하여 변경 스트림 커서를 엽니다.

변경 스트림 커서를 열어 클러스터 또는 데이터베이스의 특정 컬렉션 또는 모든 컬렉션에 대한 변경 이벤트를 감시할 수 있습니다. Amazon DocumentDB 인스턴스에서 변경 스트림 커서를 열고 라이터 인스턴스와 리더 인스턴스 모두에서 변경 스트림 문서를 가져올 수 있습니다. 라이터 및 리더 인스턴스에서 열린 다양한 변경 스트림 커서에서 변경 스트림 토큰(예: `resumeToken` 또는 `startOperationTime`)을 공유할 수 있습니다.

**예제**

```
import os
import sys
from pymongo import MongoClient, ReadPreference
      
username = "DocumentDBusername"
password = <Your password> 

clusterendpoint = "DocumentDBClusterEndpoint"

client = MongoClient(clusterendpoint, username=username, password=password, tls='true', tlsCAFile='global-bundle.pem')

db = client['bar']
 
# Make sure to use SECONDARY to redirect cursor reads from secondary instances
coll = db.get_collection('foo', read_preference=ReadPreference.SECONDARY)

# Create a stream object on RO. The token needs to generated from PRIMARY.
stream = coll.watch(resumeAfter=token)

for event in stream:
   print(event)
```

**보조 인스턴스의 변경 스트림에 대한 지침 및 제한 사항**
+ 스트림 변경 이벤트는 기본 인스턴스에서 보조 인스턴스로 복제해야 합니다. Amazon CloudWatch를 사용하여 `DBInstanceReplicaLag` 지표를 모니터링할 수도 있습니다.
+ 보조 인스턴스의 타임스탬프가 항상 기본 인스턴스와 동기화되지는 않을 수 있습니다. 이 경우 보조 인스턴스 타임스탬프가 지연될 수 있어 따라잡을 수 있습니다. 모범 사례로 `startAtOperationTime` 또는 `resumeToken`를 사용하여 보조 인스턴스에서 감시를 시작하는 것이 좋습니다.
+ 문서 크기가 크고, `fullDocumentLookup` 작업을 수행 중이며, 기본 인스턴스에 동시 쓰기 워크로드가 많은 경우 기본 인스턴스에 비해 보조 인스턴스의 처리량이 낮은 상황을 경험할 수도 있습니다. 가장 좋은 방법은 보조 인스턴스에서 버퍼 캐시 적중률을 모니터링하고 버퍼 캐시 적중률이 높은지 확인하는 것입니다.

# Amazon DocumentDB 8.0에서 데이터 정렬 사용
<a name="collation"></a>

Amazon DocumentDB 8.0은 이제 데이터 정렬을 지원합니다. 데이터 정렬을 사용하면 문자열 비교를 위한 언어별 규칙을 구성할 수 있습니다. 데이터 정렬을 사용하면 대/소문자를 구분하는 비교에 대한 규칙을 지정하거나 언어 로캘을 지정할 수 있습니다. 데이터 정렬은 DocumentDB 8.0의 컬렉션 수준 또는 인덱스 수준에서 구성할 수 있습니다. DocumentDB에서 데이터 정렬을 사용하면 내부적으로 다음 파라미터와 함께 데이터 정렬 문서가 생성됩니다.

```
{
locale: string,
caseLevel: boolean,
caseFirst: string,
strength: int,
numericOrdering: boolean,
alternate: string,
maxVariable: string,
backwards: boolean,
normalization: boolean
}
```

## 제한 사항
<a name="collation-limitations"></a>

데이터 정렬에는 Amazon DocumentDB에서 다음과 같은 제한 사항이 있습니다.
+ 데이터 정렬은 Amazon DocumentDB 8.0에서 사용할 수 있는 플래너 v3와 호환됩니다. plannerv2 또는 plannerv1로 전환하면 “인덱스를 찾을 수 없음” 오류를 포함한 일관되지 않은 동작이 발생할 수 있습니다.
+ 고유한 라이브러리 차이로 인해 데이터 정렬이 포함된 mongodb 컬렉션을 내보내는 경우 마이그레이션 전에 metadata.bson 파일을 업데이트하고 해당 버전을 57.1에서 60.2로 변경해야 합니다.
+ 드문 경우지만 데이터 정렬 설정이 문자 수에 대한 내부 제한을 위반하여 아래 오류가 발생할 수 있습니다. “오류: 데이터 정렬 문서에 기본값이 아닌 속성이 지원되는 속성보다 많습니다. 옵션 수를 줄이세요.” 이 경우 데이터 정렬 문서에 제공하는 옵션을 줄이거나 가능하면 기본값을 사용해 볼 수 있습니다.

# Amazon DocumentDB 8.0에서 보기 사용
<a name="views"></a>
+ 이제 Amazon DocumentDB 8.0에서 뷰를 지원합니다. 지정된 집계 작업을 기반으로 데이터를 제공하는 가상 컬렉션으로 함수를 봅니다. 뷰를 생성할 때 하나 이상의 소스 컬렉션에서 데이터를 변환하는 쿼리를 정의합니다. Amazon DocumentDB 8.0은 추가 스토리지 리소스를 소비하지 않고 뷰에 액세스할 때마다이 쿼리를 실행합니다. 표준 컬렉션과 달리 Amazon DocumentDB 8.0의 뷰는 문서를 디스크에 저장하지 않으므로 변환되거나 필터링된 데이터를 애플리케이션에 제공하는 효율적인 솔루션입니다. Amazon DocumentDB에서 뷰를 생성하려면 createView 명령 또는 db.createView() 헬퍼 메서드를 사용할 수 있습니다.

  ```
  db.createView("viewName","sourceCollection",
  [
      { $match: { status: "active" } },
      { $project: { _id: 1, name: 1, email: 1 } }
  ]
  )
  ```

  이렇게 하면 활성 문서만 포함하고 \$1id, 이름 및 이메일 필드만 프로젝트하는 "sourceCollection"을 기반으로 "viewName"이라는 뷰가 생성됩니다. Amazon DocumentDB의 보기는 읽기 전용입니다. 뷰에 대한 쓰기 작업은 오류를 반환합니다. 대규모 데이터 세트로 최적의 성능을 위해 뷰 파이프라인을 구성하여 효율성을 극대화할 수 있습니다. 복잡한 집계 파이프라인의 경우 \$1match 단계를 파이프라인의 첫 번째 단계 또는 초기 단계로 사용하여 후속 단계에서 처리해야 하는 문서 수를 줄여 쿼리 성능을 개선하는 것이 좋습니다.

## 모범 사례
<a name="views-bestpractices"></a>

보기에서 따라야 할 몇 가지 모범 사례는 다음과 같습니다.
+ 조기 필터링: 뷰 파이프라인 초기에 \$1match 단계를 사용하여 처리되는 데이터의 양을 줄입니다.
+ 복잡한 집계 방지: 복잡한 집계로 자주 액세스하는 뷰의 경우 주기적으로 업데이트되는 사전 계산된 결과로 별도의 컬렉션을 생성하는 것이 좋습니다.
+ 인덱스 계획: 뷰 파이프라인, 특히 \$1match 및 \$1sort 작업에 사용되는 필드가 소스 컬렉션에서 제대로 인덱싱되었는지 확인합니다.
+ 쿼리 최적화: explain 명령을 사용하여 뷰 쿼리가 실행되는 방식을 이해하고 그에 따라 최적화합니다.
+ 뷰에 대한 대안: Amazon DocumentDB 뷰와 MongoDB 뷰의 기능적 차이를 고려할 때 제한 사항이 발생할 때 뷰 대신 예약된 업데이트가 있는 정기 컬렉션을 사용하는 것이 좋습니다.

## 집계자 연산자 호환성
<a name="views-aggregators"></a>

Amazon DocumentDB는 호환성을 계속 확장하면서 뷰 정의에서 많은 집계 연산자를 지원합니다. 뷰를 사용할 때는 다음과 같은 지원되는 연산자에 집중하세요.
+ 문서 필터링을 위한 \$1match
+ 필드 선택 및 변환을 위한 \$1project
+ 계산된 필드를 추가하기 위한 \$1addFields 
+ 결과 주문에 대한 \$1sort
+ 페이지 매김에 대한 \$1limit 및 \$1skip

\$1currentOp, \$1replaceRoot 및 \$1geoNear와 같은 일부 특수 연산자는 현재 뷰 정의가 아닌 직접 집계 쿼리에서 작동합니다.

## 인덱스 및 뷰 활용
<a name="views-indexes"></a>

Amazon DocumentDB 8.0의 뷰는 기본 컬렉션의 인덱스를 사용합니다. 따라서 뷰에서 인덱스를 직접 생성, 삭제 또는 재구축할 수 없습니다. 그러나 소스 컬렉션에서 잘 설계된 인덱스는 보기 쿼리 성능을 크게 개선할 수 있습니다. 다음은 보기에서 쿼리 성능을 최적화하기 위한 몇 가지 단계입니다.
+ 뷰의 파이프라인, 특히 \$1match 및 \$1sort 작업에 사용되는 소스 컬렉션 필드에 적절한 인덱스가 있는지 확인합니다.
+ explain() 메서드를 사용하여 쿼리 실행 계획을 분석하고 인덱스 사용량을 확인합니다. 예: `db.viewName.find({...}).explain() `

# 변경 스트림과 함께 AWS Lambda 사용
<a name="using-lambda"></a>

Amazon DocumentDB는 AWS Lambda과 통합되므로 Lambda 함수를 사용하여 변경 스트림의 레코드를 처리할 수 있습니다. Lambda 이벤트 소스 매핑은 Lambda를 직접 호출하지 않는 Amazon DocumentDB 이벤트를 처리하기 위해 Lambda 함수를 호출하는 데 사용할 수 있는 리소스입니다. Amazon DocumentDB 변경 스트림을 이벤트 소스로 사용하면 데이터 변경에 응답하는 이벤트 기반 애플리케이션을 구축할 수 있습니다. 예를 들어 Lambda 함수를 사용하여 새 문서를 처리하거나, 기존 문서에 대한 업데이트를 추적하거나, 삭제된 문서를 로그할 수 있습니다.

이벤트 소스 매핑을 구성하여 Amazon DocumentDB 변경 스트림의 레코드를 Lambda 함수로 전송하도록 할 수 있습니다. 이벤트는 효율성 향상을 위해 한 번에 하나씩 보내거나 배치할 수 있으며 순서대로 처리됩니다. 이벤트 소스 매핑의 배치 동작은 특정 시간대(0 - 300초) 또는 배치 레코드 수(최대 10,000개 레코드 제한)를 기준으로 구성할 수 있습니다. 여러 개의 이벤트 소스 매핑을 생성하여 동일한 데이터를 여러 개의 Lambda 함수로 처리하거나 여러 스트림에서 구별되는 항목을 단일 함수로 처리할 수 있습니다.

함수가 오류를 반환하면 Lambda는 처리가 성공할 때까지 배치를 재시도합니다. 변경 스트림의 이벤트가 만료된 경우 Lambda는 이벤트 소스 매핑을 비활성화합니다. 이 경우 새 이벤트 소스 매핑을 생성하고 원하는 시작 위치로 구성할 수 있습니다. Lambda 이벤트 소스 매핑은 폴러의 분산 특성으로 인해 이벤트를 한 번 이상 처리합니다. 결과적으로 Lambda 함수는 드물게 중복 이벤트를 수신할 수 있습니다. 중복 이벤트와 관련된 문제를 피하기 위해 AWS Lambda 함수로 작업하는 모범 사례를 따르고 멱등성 함수를 구축합니다. 자세한 내용은 *AWS Lambda개발자 가이드*의 [Amazon DocumentDB와 함께 AWS Lambda console 사용](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)을 참조하세요.

성능 모범 사례에 따라 Lambda 함수는 수명이 짧아야 합니다. 불필요한 처리 지연을 방지하기 위해 복잡한 로직도 실행하지 않아야 합니다. 특히 고속 스트림의 경우 장기 실행 중인 동기식 Lambda보다 비동기식 사후 처리 단계 함수 워크플로를 트리거하는 것이 좋습니다. AWS Lambda에 대한 자세한 내용은 [AWS Lambda개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)를 참조하세요.

## 제한 사항
<a name="lambda-limitations"></a>

다음은 Amazon DocumentDB와 AWS Lambda을 사용할 때 고려해야 할 제한 사항입니다.
+ AWS Lambda은 현재 Amazon DocumentDB 4.0 및 5.0에서만 지원됩니다.
+ AWS Lambda은 탄력적 클러스터 또는 글로벌 클러스터에서는 현재 지원되지 않습니다.
+ AWS Lambda 페이로드 크기는 6MB를 초과할 수 없습니다. Lambda 배치 크기에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [Lambda 이벤트 소스 매핑](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-batching) 섹션의 "배치 동작"을 참조하세요.