

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 つまたは複数の *レプリカ* を追加することができます。レプリカは、2 つの目的に対応する読み取り専用インスタンスです。
+ **スケーラビリティ** - 同時アクセスを必要とするクライアントが多数ある場合は、レプリカを追加して読み取りをスケーリングできます。
+ **高可用性** - プライマリインスタンスに障害が発生した場合、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]'
```

出力は次のようになります。この出力には、2 つのインスタンスがあります。プライマリインスタンスは `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 は自動的にクラスターに 1 つを割り当てます。

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