

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

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