

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

# Neptune のデータベースのクローン化
<a name="manage-console-cloning"></a>

DB のクローン作成を使用すると、Amazon Neptune ですべてのデータベースのクローンを迅速かつ高いコスト効率で作成できます。クローンデータベースの初回作成時に必要な追加スペースは最小限です。データベースのクローン作成では、 *コピーオンライトプロトコル*が使用されます。データは、ソースデータベースまたはクローンデータベースのいずれかで、変更時にコピーされます。同じ DB クラスターから複数のクローンを作成できます。また、そのほかのクローンから追加のクローンを作成することもできます。Neptune ストレージのコンテキストにおけるコピーオンライトプロトコルの詳しい動作については、[コピーオンライトプロトコル](#manage-console-cloning-protocol) を参照してください。

DB クローン作成はさまざまなユースケースで使用でき、特に、次のような稼働環境で影響を及ぼさないために役立ちます。
+ スキーマの変更やパラメータグループの変更など、変更の影響を試したり評価したりする場合。
+ データのエクスポートや分析クエリの実行など、大量のワークロードを扱うオペレーションを実行する場合。
+ 開発やテストの目的で試験的な環境で本番稼働用の DB クラスターのコピーを作成する場合

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

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

1. ナビゲーションペインで、[**インスタンス**] を選択してください。クローンを作成する DB クラスターのプライマリインスタンスを選択します。

1. [**Instance actions**] を選択してから、[**Create clone**] を選択します。

1. [**Create Clone (クローンの作成)**] ページで、[**DB instance identifier (DB インスタンス識別子)**] としてクローン DB クラスターのプライマリインスタンスの名前を入力します。

   希望する場合には、クローン DB クラスターのそのほかの設定を行います。各種の DB クラスターの設定についての詳細は、「[コンソールを使用して起動する](manage-console-launch-console.md)」を参照してください。

1. [**Create Clone**] を選択してクローン DB クラスターを起動します。

**AWS CLI を使用して DB クラスターのクローンを作成するには**
+ Neptune [restore-db-cluster-to-point-in-time](api-snapshots.md#RestoreDBClusterToPointInTime) AWS CLI コマンドを呼び出し、以下の値を指定します。
  + `--source-db-cluster-identifier`   –   クローンを作成するソース DB クラスターの名前。
  + `--db-cluster-identifier`   –   クローン DB クラスターの名前。
  + `--restore-type copy-on-write`   –   `copy-on-write` 値は、クローン DB クラスターを作成する必要があることを示します。
  + `--use-latest-restorable-time`   –   これにより、復元可能な最新のバックアップ時間が使用されることが指定されます。
**注記**  
[restore-db-cluster-to-point-in-time](api-snapshots.md#RestoreDBClusterToPointInTime) AWS CLI コマンドは、その DB クラスターの DB インスタンスではなく、DB クラスターのみをクローン作成します。

  次の Linux/UNIX の例では、`source-db-cluster-id` DB クラスターからクローンを作成し、クローンに `db-clone-cluster-id` という名前を付けます。

  ```
  aws neptune restore-db-cluster-to-point-in-time \
    --region us-east-1 \
    --source-db-cluster-identifier source-db-cluster-id \
    --db-cluster-identifier db-clone-cluster-id \
    --restore-type copy-on-write \
    --use-latest-restorable-time
  ```

  `\` 行末のエスケープ文字が Windows の `^` と同等のものに置き換えられている場合、同じ例が Windows でも機能します。

  ```
  aws neptune restore-db-cluster-to-point-in-time ^
    --region us-east-1 ^
    --source-db-cluster-identifier source-db-cluster-id ^
    --db-cluster-identifier db-clone-cluster-id ^
    --restore-type copy-on-write ^
    --use-latest-restorable-time
  ```

## 制限
<a name="manage-console-cloning-limitations"></a>

Neptune での DB クローン作成には以下の制限があります。
+ AWS リージョンをまたぐクローンデータベースは作成できません。クローンデータベースはソース データベースと同じリージョンで作成する必要があります。
+ クローンされたデータベースは、クローンされたデータベースで使用されている Neptune エンジンバージョンの最新のパッチを常に使用します。これは、ソースデータベースがそのパッチバージョンにアップグレードされていない場合でも当てはまります。ただし、エンジンのバージョン自体は変更されません。
+ 現在、他のクローンに基づくクローンを含め、Neptune DB クラスターの 1 つのコピーについて、15 クローンに制限されます。この制限に達したら、データベースを複製するのではなく、データベースのコピーをもう 1 つ作成する必要があります。ただし、新しいコピーから最大で 15 クローンまで作成できます。
+ アカウント間での DB クローン作成は現在サポートされていません。
+ クローンに異なる virtual private cloud (VPC) を提供できます。ただし、この VPCのサブネットは同じアベイラビリティゾーンにマッピングする必要があります。

## DB クローン作成のためのコピーオンライトプロトコル
<a name="manage-console-cloning-protocol"></a>

以下の例で、コピーオンライトプロトコルの動作について説明します。
+ [クローン作成前の Neptune データベース](#manage-console-cloning-protocol-before)
+ [クローン作成後の Neptune データベース](#manage-console-cloning-protocol-after)
+ [ソースデータベースが変更されたとき](#manage-console-cloning-protocol-source-write)
+ [クローンデータベースが変更されたとき](#manage-console-cloning-protocol-clone-write)

### クローン作成前の Neptune データベース
<a name="manage-console-cloning-protocol-before"></a>

ソースデータベースのデータはページに保存されています。次の図では、ソースデータベースに 4 つのページがあります。

![\[4 ページで DB クローンを作成する前の Neptune ソースデータベース。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/neptune-clone-1.png)


### クローン作成後の Neptune データベース
<a name="manage-console-cloning-protocol-after"></a>

次の図に示すように、DB クローン作成後、ソースデータベースに変更はありません。ソースデータベースとクローンデータベースの両方が同じ 4 つのページを指しています。どのページも物理的にコピーされていないため、追加のストレージは不要です。

![\[同じページを指す Neptune ソースデータベースとクローンデータベース (DB クローン作成後)。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/neptune-clone-2.png)


### ソースデータベースが変更されたとき
<a name="manage-console-cloning-protocol-source-write"></a>

次の例では、ソースデータベースの `Page 1` のデータに変更があります。元の `Page 1` に書き込む代わりに、追加のストレージを使用して `Page 1'` という新しいページが作成されます。ソースデータベースはこれで新しい `Page 1'`、および `Page 2`、`Page 3` と `Page 4` を指すようになります。クローンデータベースは、これまでと同じく `Page 1` から `Page 4` を指します。

![\[Neptune ソースデータベースとクローンデータベース (ソースデータベースの変更後)。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/neptune-clone-3.png)


### クローンデータベースが変更されたとき
<a name="manage-console-cloning-protocol-clone-write"></a>

次の図では、クローンデータベースにも変更があります。今回の変更は `Page 4` です。元の `Page 4` に書き込む代わりに、追加のストレージを使用して `Page 4'` という新しいページが作成されます。ソースデータベースはこれまで同様、`Page 1'` および `Page 2` から `Page 4` を指しますが、クローンデータベースは `Page 1` から `Page 3` までと `Page 4'` を指すようになります。

![\[Neptune ソースデータベースとクローンデータベース（クローンデータベースの変更後）。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/neptune-clone-4.png)


2 番目の例で示すように、DB クローン作成時点では追加のストレージは不要です。ただし、例 3 と例 4 で示すように、ソースデータベースとクローンデータベースで変更があると、変更があったページだけが作成されます。時間が経過してソースデータベースとクローンデータベースの両方で追加の変更があると、その変更をキャプチャして保存するために増分のストレージが必要になります。

## ソースデータベースの削除
<a name="manage-console-cloning-source-deleting"></a>

ソースデータベースを削除しても、それに関連付けられているクローンデータベースには影響しません。クローンデータベースは、ソースデータベースが前に所有していたページを指し続けます。