

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

# クラスタースナップショットからの復元
<a name="backup_restore-restore_from_snapshot"></a>

Amazon DocumentDB (MongoDB 互換) は、ストレージボリュームのクラスタースナップショットを作成します。クラスタースナップショットから復元することで、新しいクラスターを作成できます。クラスターを復元するときは、復元元のクラスタースナップショットの名前と、復元によって作成される新しいクラスターの名前を指定します。スナップショットから既存のクラスターに復元することはできません。復元時に新しいクラスターが作成されるためです。

クラスタースナップショットからクラスターを復元する場合:
+ このアクションではクラスターのみを復元し、そのクラスターのインスタンスは復元しません。復元されたクラスターのインスタンスを作成するには、`create-db-instance` アクションを呼び出し、復元されたクラスターの識別子を `--db-cluster-identifier` に指定する必要があります。インスタンスを作成できるのは、クラスターが*使用可能*になった後のみです。
+ 暗号化されたスナップショットを暗号化されていないクラスターに復元することはできません。ただし、 AWS KMS キーを指定することで、暗号化されていないスナップショットを暗号化されたクラスターに復元できます。
+ 暗号化されたスナップショットからクラスターを復元するには、 AWS KMS キーにアクセスできる必要があります。

**注記**  
3.6 クラスターを 4.0 クラスターに復元することはできませんが、あるクラスタバージョンから別のクラスタバージョンに移行できます。詳細については、「[Amazon DocumentDB への移行](docdb-migration.md)」を参照してください。

------
#### [ Using the AWS マネジメントコンソール ]

次の手順は、Amazon DocumentDB 管理コンソールを使用して Amazon DocumentDB クラスタースナップショットから Amazon DocumentDB クラスターを復元する方法を示しています。

1. にサインインし AWS マネジメントコンソール、[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/ja_jp/documentdb/latest/developerguide/images/docdb-menu-icon.png)) を選択します。

1. [**アクション**] メニューで、[**復元**] を選択します。

1. [**スナップショットの復元**] ページで、[**設定**] セクションに入力します。

   1. **クラスター識別子** - 新しいクラスターの名前。Amazon DocumentDB が指定した名前をそのまま使用するか、希望する名前を入力します。[Amazon DocumentDBsupplied] の名前は、`docdb-` に UTC タイムスタンプを付加した形式 (例: `docdb-yyyy-mm-dd-hh-mm-ss`)です。

   1. **インスタンスクラス** - 新しいクラスターのインスタンスクラス。デフォルトのインスタンスクラスをそのまま使用することも、ドロップダウンリストからインスタンスクラスを選択することもできます。

   1. **インスタンス数** - このクラスターで作成するインスタンスの数。デフォルトの 3 つのインスタンス (プライマリ読み取り/書き込みレプリカ 1 つ、読み取り専用レプリカ 2 つ) をそのまま使用するか、ドロップダウンリストからインスタンス数を選択できます。

1. **[クラスターストレージ設定]**では、ストレージオプションを選択します。
**注記**  
**Amazon DocumentDB I/O 最適化**ストレージ設定は、Amazon DocumentDB 5.0 および 8.0 エンジンバージョンでのみ使用できます。

1. クラスター設定に問題がなければ、[**クラスターの復元**] を選択し、クラスターが復元されるのを待ちます。

1. デフォルトでない Amazon VPC やセキュリティグループの指定など一部の設定を変更する場合は、ページの左下にある [**詳細設定の表示**] を選択し、以下のステップに進みます。

   1. [**ネットワーク設定**] セクションに入力します。
      + **仮想プライベートクラウド（VPC）** - 現在の VPC を受け入れるか、ドロップダウンリストから VPC を選択します。
      + **サブネットグループ** - `default` サブネットグループを使用するか、ドロップダウンリストからいずれかのサブネットグループを選択します。
      + **VPC セキュリティグループ** - `default (VPC)` セキュリティグループを使用するか、リストからいずれのセキュリティグループを選択します。

   1. [**クラスターオプション**] セクションに入力します。
      + **データベースポート** - デフォルトのポート `27017` を使用するか、上下の矢印を使用してアプリケーション接続に使用するポートを設定します。

   1. [**暗号化**] セクションに入力します。
      + **保管時の暗号化** - スナップショットが暗号化されている場合、ここでのオプションは使用できません。暗号化されていない場合は、以下のいずれかを選択できます。
        + すべてのクラスターのデータを暗号化するには、[**保管時の暗号化の有効化**] を選択します。このオプションを選択した場合は、KMS キーを指定する必要があります。
        + クラスターのデータを暗号化しない場合は、[**保管時の暗号化の無効化**] を選択します。このオプションを選択した場合、暗号化セクションは完了です。
      + **AWS KMS キー** — ドロップダウンリストから次のいずれかを選択します。
        + **(デフォルト) aws/rds** — アカウント番号と AWS KMS キー ID は、このオプションの後に表示されます。
        + **カスタマーマネージドキー** — このオプションは、 AWS Identity and Access Management (IAM) コンソールで IAM 暗号化キーを作成した場合にのみ使用できます。クラスターを暗号化するためのキーを選択できます。
        + **キー ARN の入力** — **ARN** ボックスに、 AWS KMS キーの Amazon リソースネーム (ARN) を入力します。ARN の形式は `arn:aws:kms:<region>:<accountID>:key/<key-id>` です。

   1. [**ログのエクスポート**] セクションに入力します。
      + **CloudWatch に公開するログの種類を選択する** - 以下のいずれかを選択します。
        + **有効** — クラスターで DDL ログ記録を Amazon CloudWatch Logs にエクスポートできるようにします。
        + **無効** — クラスターで DDL ログ記録を Amazon CloudWatch Logs にエクスポートできないようにします。デフォルトは [**無効**] です。
      + **IAM ロール** - リストから [*RDS サービスにリンクされたロール*] を選択します。

   1. [**タグ**] セクションに入力します。
      + **タグの追加** - *キー* ボックスに、クラスターのためのタグの名前を入力します。*値* ボックスに、必要に応じてタグ値を入力します。タグは、Amazon DocumentDB リソースへのアクセスを管理し、リソースに適用できるアクションを制御するために AWS Identity and Access Management (IAM) ポリシーとともに使用されます。

   1. [**削除保護**] セクションに入力します。
      + **削除保護を有効にする** - クラスターが誤って削除されないように保護します。このオプションが有効になっていると、クラスターを削除できません。

1. [**クラスターの復元**] を選択します。

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

を使用してスナップショットからクラスターを復元するには AWS CLI、次のパラメータを指定して `restore-db-cluster-from-snapshot`オペレーションを使用します。詳細については、「[RestoreDBClusterFromSnapshot](API_RestoreDBClusterFromSnapshot.md)」を参照してください。
+ **--db-cluster-identifier** — 必須。オペレーションによって作成されるクラスターの名前。この名前のクラスターは、このオペレーションの前に存在することはできません。

  クラスターの名前付けの制約:
  + 長さは [1 〜 63] 個の英字、数字、またはハイフンです。
  + 1 字目は英字である必要があります。
  + ハイフンで終わることも、2 つのハイフンを連続して含むこともできません。
  + Amazon RDS、Neptune、Amazon DocumentDB のすべてのクラスターで AWS アカウント、リージョンごとに一意である必要があります。
+ **--snapshot-identifier** — 必須。復元前に使用されたスナップショットの名前。この名前のスナップショットが存在し、*利用可能* 状態である必要があります。
+ **--engine** — 必須。`docdb` を指定してください。
+ **--storage-type standard \$1 iopt1** - オプション。デフォルト: `standard`。
+ **--kms-key-id** - オプション。暗号化されたスナップショットを復元するとき、または暗号化されていないスナップショットから復元するときにクラスターを暗号化するときに使用する AWS KMS キー識別子の ARN。キー ID を指定すると AWS KMS 、スナップショットが暗号化されたかどうかにかかわらず、復元されたクラスターが AWS KMS キーで暗号化されます。

  `--kms-key-id` の形式は `arn:aws:kms:<region>:<accountID>:key/<key-id>` です。`--kms-key-id` パラメータの値を指定しない場合は、以下のようになります。
  + のスナップショット`--snapshot-identifier`が暗号化されている場合、復元されたクラスターは、スナップショットの暗号化に使用されたのと同じ AWS KMS キーを使用して暗号化されます。
  + `--snapshot-identifier` のスナップショットが暗号化されていない場合、復元されたクラスターは暗号化されません。

Linux、macOS、Unix の場合:

```
aws docdb restore-db-cluster-from-snapshot \
    --db-cluster-identifier sample-cluster-restore \
    --snapshot-identifier sample-cluster-snapshot \
    --engine docdb \
    --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID
```

Windows の場合:

```
aws docdb restore-db-cluster-from-snapshot ^
    --db-cluster-identifier sample-cluster-restore ^
    --snapshot-identifier sample-cluster-snapshot ^
    --engine docdb ^
    --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID
```

このオペレーションによる出力は、次のようになります。

```
{
    "DBCluster": {
        "AvailabilityZones": [
            "us-east-1c",
            "us-east-1b",
            "us-east-1a"
        ],
        "BackupRetentionPeriod": 1,
        "DBClusterIdentifier": "sample-cluster-restore",
        "DBClusterParameterGroup": "default.docdb4.0",
        "DBSubnetGroup": "default",
        "Status": "creating",
        "Endpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com",
        "ReaderEndpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com",
        "MultiAZ": false,
        "Engine": "docdb",
        "EngineVersion": "4.0.0",
        "Port": 27017,
        "MasterUsername": "<master-user>",
        "PreferredBackupWindow": "02:00-02:30",
        "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
        "DBClusterMembers": [],
        "VpcSecurityGroups": [
            {                             
                "VpcSecurityGroupId": "sg-abcdefgh",
                "Status": "active"
            }
        ],               
        "HostedZoneId": "ABCDEFGHIJKLM",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/<sample-key-id>",
        "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster-restore",
        "AssociatedRoles": [],
        "ClusterCreateTime": "2020-04-01T01:43:40.871Z",
        "DeletionProtection": true
    }
}
```

クラスターのステータスが [*使用可能*] になったら、そのクラスターに 1 つ以上のインスタンスを作成します。

Linux、macOS、Unix の場合:

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

Windows の場合:

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

このオペレーションによる出力は、次のようになります。

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

------