

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

# 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 では、クローン作成に、*コピーオンライトプロトコル* が使用されます。このメカニズムでは、初期クローンを作成するために使用する追加領域は最小限です。クローンが初期に作成されると、Amazon DocumentDB は、作成元 DB クラスターと新しい (クローンの) Amazon DocumentDB クラスターで使用されるデータのコピーを 1 つだけ保持します。追加のストレージは、作成元の Amazon DocumentDB クラスターまたは Amazon DocumentDB クラスターのクローンが (Amazon DocumentDB ストレージボリューム上の) データに変更を加えた場合にのみ割り当てられます。コピーオンライトプロトコルの詳細については、「[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 クラスターからクローンを作成することはできません。少なくとも 1 つの DB インスタンスを持つ Amazon DocumentDB クラスターのクローン作成のみが可能です。
+ クローンは、Amazon DocumentDB クラスターとは異なる仮想プライベートクラウド (VPC) で作成できます。その場合、VPCのサブネットは同じアベイラビリティーゾーンにマッピングする必要があります。

## Amazon DocumentDB のクローン作成の仕組み
<a name="db-how-db-cloning-works"></a>

Amazon DocumentDB のクローン作成は Amazon DocumentDB クラスターのストレージレイヤーで動作します。これには、*コピーオンライト* プロトコルが使用されます。これは、Amazon DocumentDB ストレージボリュームをサポートする基盤となる耐久性の高いメディアという点で、高速かつスペース効率に優れています。Amazon DocumentDB クラスターボリュームの詳細については、「[Amazon DocumentDB クラスターの管理](db-clusters.md)」を参照してください。

**Topics**
+ [コピーオンライトプロトコルの理解](#db-copy-on-write-protocol)
+ [ソースクラスターボリュームの削除](#db-deleting-source-cluster-volume)

### コピーオンライトプロトコルの理解
<a name="db-copy-on-write-protocol"></a>

Amazon DocumentDB クラスターでは、基盤となる Amazon DocumentDB ストレージボリュームのページにデータが格納されます。

例えば、次の図には、4 つのデータページ 1、2、3、4 を持つ Amazon DocumentDB クラスター (A) があります。クローン B が Amazon DocumentDB クラスターから作成されたとします。クローンが作成されても、データはコピーされません。クローンは、作成元の Amazon DocumentDB クラスターと同じページのセットを参照しています。

![\[作成元のクラスター A とクローン B 用の Amazon DocumentDB クラスターボリューム (4 ページ)\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-1.png)


クローンが作成されたとき、通常は追加のストレージは必要ありません。コピーオンライトプロトコルでは、ソースセグメントと同じ物理ストレージメディア上のセグメントを使用します。追加のストレージが必要になるのは、ソースセグメントの容量がクローンセグメント全体に対して十分でない場合のみです。この場合、ソースセグメントは別の物理デバイスにコピーされます。

次の図に、前述と同様にクラスター A とそのクローン B を使用して動作中のコピーオンライトプロトコルの例を示します。Amazon DocumentDB クラスター (A) に変更を加えて、ページ 1 に保持されているデータが変更されたとします。元のページ 1 に書き込む代わりに、Amazon DocumentDB は新しいページ 1[A] を作成します。クラスター (A) の Amazon DocumentDB クラスターボリュームは、1[A]、2、3、4 ページを参照していますが、クローン (B) は引き続き元のページを参照しています。

![\[Amazon DocumentDB の作成元 DB クラスターボリュームとそのクローンのどちらにも変更が加えられた場合。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-2.png)


クローンでは、ストレージボリュームのページ 4 に変更が加えられています。元のページ 4 に書き込む代わりに、Amazon DocumentDB は新しいページ 4[B] を作成します。クローンはページ 1、2、3、およびページ 4[B] を参照し、クラスター (A) は引き続き 1[A]、2、3、4 を参照しています。

![\[Amazon DocumentDB の作成元 DB クラスターボリュームとそのクローンのどちらにも変更が加えられた場合。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-copy-on-write-protocol-3.png)


時間が経過して作成元 Amazon DocumentDB クラスターボリュームとクローンの両方で追加の変更があると、その変更をキャプチャして保存するためにさらにストレージが必要になります。

### ソースクラスターボリュームの削除
<a name="db-deleting-source-cluster-volume"></a>

1 つ以上のクローンが関連付けられているソースクラスターボリュームを削除しても、そのクローンには影響しません。クローンは、ソースクラスターボリュームが前に所有していたページをポイントし続けます。

## Amazon DocumentDB のクローンの作成
<a name="db-creating-db-clone"></a>

クローンは、ソース Amazon DocumentDB クラスターと同じ AWS アカウントに作成できます。これを行うには、 AWS マネジメントコンソール または AWS CLI と以下の手順を使用します。

Amazon DocumentDB のクローン作成を使用すると、プロビジョニングされた Amazon DocumentDB クラスターから Amazon DocumentDB クラスターのプロビジョニングクローンを作成できます。

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

 AWS マネジメントコンソールを使用して Amazon DocumentDB クラスターのクローンを作成する手順を以下に示します。

1 つの Amazon DocumentDB インスタンスを持つ Amazon DocumentDB クラスターで AWS マネジメントコンソール 結果を使用してクローンを作成します。

 これらの手順は、クローンを作成しているのと同じ AWS アカウントが所有する DB クラスターに適用されます。クロス AWS アカウントのクローン作成は Amazon DocumentDB ではサポートされていないため、DB クラスターは同じアカウントによって所有されている必要があります。

**を使用して、 AWS アカウントが所有する DB クラスターのクローンを作成するには AWS マネジメントコンソール**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) で Amazon DocumentDB コンソールを開きます。

1. ナビゲーションペインで **[Clusters]** (クラスター) を選択してください。

1. リストから Amazon DocumentDB クラスターを選択し、**[アクション]** で、**[クローンの作成]** を選択します。  
![\[クローンの作成には、まず Amazon DocumentDB クラスターを選択します。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-create-clone-1.png)

   [クローンの作成] ページが開きます。そこで、**[クラスター識別子]**、**[インスタンスクラス]** などの Amazon DocumentDB クラスタークローンのオプションが設定できます。

1. **[設定]** セクションで、以下の手順を実行します。

   1. **[DB クラスター識別子]** に、作成する Amazon DocumentDB クラスターのクローンに付ける名前を入力します。

   1. **[インスタンス設定]** では、クローンとして作成された Amazon DocumentDB クラスターに適した **[インスタンスクラス]** を選択します。  
![\[クローンの作成には、まず Amazon DocumentDB クラスターを選択し、DB インスタンスのサイズを指定します。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-create-clone-2.png)

   1.  **[ネットワーク設定]** では、ユースケースに適した**サブネットグループ**と、関連する VPC セキュリティグループを選択します。

   1.  **[保管時の暗号化]**では、作成元クラスター (クローンが作成されるクラスター) で暗号化が有効になっている場合、クローンとして作成されたクラスターでも暗号化が有効になっている必要があります。このシナリオに当てはまる場合、**[暗号化を有効にする]** オプションはグレー表示 (無効) になりますが、**[暗号化を有効にする]** オプションが選択されています。逆に、作成元クラスターで暗号化が有効になっていない場合は、**[暗号化を有効にする]** オプションが使用でき、暗号化を有効または無効にすることができます。  
![\[Amazon DocumentDB クラスタークローンのネットワーク設定と暗号化設定を指定します。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cloning-create-clone-3-nw-encryption.png)

   1. エクスポートするログの種類を選択し (オプション)、クラスターへの接続に使用する特定のポートを入力し、クラスターの誤削除からの保護を有効にして (デフォルトで有効) 、新しいクラスタークローンの設定を完了します。  
![\[エクスポートするログのタイプ、クラスターへの接続に使用する特定のポート、およびクラスターの誤削除からの保護フォームをオプションで選択して、新しいクローンの設定を完了します。\]](http://docs.aws.amazon.com/ja_jp/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 インスタンスは復元しません。これは、クローンが使用可能になった後に別途行います。プロセスは 2 ステップで、次のとおりです。

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` - 出典 DB クラスターのクローンの作成に `copy-on-write` を使用します。このパラメータを指定しない場合、`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 インスタンスの作成**

クローン用の DB インスタンスを作成するには、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI コマンドを使用します。

`--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 | `--restore-type` として `copy-on-write` を指定すると、作成元 Amazon DocumentDB クラスターを復元するのではなく、作成元 DB クラスターのクローンを作成します。 | 
|  --use-latest-restorable-time | この値は、クローンの最新の復元可能なボリュームデータを指します。 | 

------