

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

# Amazon Neptune DB クラスターのバックアップと復元
<a name="backup-restore"></a>

このセクションでは、Amazon Neptune DB クラスターをバックアップおよび復元する方法を示します。

**Topics**
+ [Neptune バックアップ](#backup-restore-overview-backups)
+ [Neptune DB クラスターの耐障害性](backup-restore-overview-fault-tolerance.md)
+ [Neptune バックアップストレージの管理に役立つ CloudWatch メトリクス](backup-restore-overview-metrics.md)
+ [Neptune バックアップからのデータの復元](backup-restore-overview-restore.md)
+ [Neptune のバックアップウィンドウ](backup-restore-overview-backup-window.md)
+ [Neptune での DB クラスタースナップショットの作成](backup-restore-create-snapshot.md)
+ [DB クラスタースナップショットの復元](backup-restore-restore-snapshot.md)
+ [DB クラスタースナップショットのコピー](backup-restore-copy-snapshot.md)
+ [DB クラスターのスナップショットの共有](backup-restore-share-snapshot.md)
+ [Neptune スナップショットの削除](backup-restore-delete-snapshot.md)

## Neptune バックアップ
<a name="backup-restore-overview-backups"></a>

Neptune は、クラスターボリュームを自動的にバックアップし、*バックアップ保持期間*中、復元データを保持します。Neptune のバックアップは連続的かつ増分的であるため、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップデータが書き込まれるときに、データベースサービスのパフォーマンスに影響が出たり、中断が発生したりすることはありません。DB クラスターを作成または変更するときに、バックアップ保持期間 (1 ～ 35 日) を指定できます。

バックアップストレージの使用状況を管理するには、バックアップの保存間隔を短縮するか、不要になった古い手動スナップショットを削除するか、またはその両方を行います。コストを管理するには、保存期間を超えて保持されている継続的バックアップと手動スナップショットに使用されているストレージの量をモニタリングできます。バックアップの保存期間を短縮し、不要になった手動スナップショットを削除できます。

バックアップ保持期間を超えたバックアップを保持する場合は、クラスターボリュームの中にデータのスナップショットを作成できます。スナップショットの保存には、Neptune の標準ストレージ料金がかかります。Neptune のストレージ料金の詳細については、[Amazon Neptune 料金表](https://aws.amazon.com/neptune/pricing/)を参照してください。

Neptune は、バックアップ保存期間全体にわたって増分リストアデータを保持します。したがって、バックアップ保持期間を超えて保持したいデータのスナップショットを作成するだけで済みます。スナップショットから新しい DB クラスターを作成できます。

**重要**  
DB クラスターを削除すると、自動バックアップはすべて同時に削除され、復旧できません。つまり、最終的な DB スナップショットを手動で作成しない限り、後で DB インスタンスを最終状態に復元することはできません。手動スナップショットは、クラスターを削除したときに削除されません。

**注記**  
Amazon Neptune DB クラスターの場合、DB クラスターの作成方法に関係なく、デフォルトのバックアップ保持期間は 1 日です。
Neptune の自動バックアップを無効にすることはできません。Neptune のバックアップ保持期間は、DB クラスターによって管理されます。

# Neptune DB クラスターの耐障害性
<a name="backup-restore-overview-fault-tolerance"></a>

Neptune DB クラスターは、耐障害性を持つように設計されています。クラスターボリュームは 1 つの AWS リージョン内の複数のアベイラビリティーゾーンにまたがり、各アベイラビリティーゾーンにはクラスターボリュームデータのコピーが含まれます。この機能は、DB クラスターがデータ喪失なしでアベイラビリティーゾーンの障害に耐えることができ、発生するのはサービスの短時間の中断のみであることを意味します。

DB クラスターのプライマリインスタンスが失敗した場合、Neptune は以下のいずれかの方法で、新しいプライマリインスタンスに自動的にフェイルオーバーします。
+ 既存の Neptune レプリカを新しいプライマリインスタンスに昇格する
+ 新しいプライマリインスタンスを作成する

DB クラスターに 1 つ以上の Neptune レプリカがある場合は、障害発生中に 1 つの Neptune レプリカがプライマリインスタンスに昇格されます。障害イベントによって短い中断が発生し、その間例外によって読み取りと書き込みオペレーションが失敗します。ただし、一般的なサービスの復元時間は 120 秒未満であり、多くの場合 60 秒未満で復元されます。DB クラスターの可用性を高めるために、複数のアベイラビリティーゾーン内で少なくとも 1 つ以上の Neptune レプリカを作成することをお勧めします。

各レプリカに優先度を割り当てることで、Neptune レプリカがプライマリインスタンスに昇格される順序をカスタマイズできます。優先度の範囲は、最も高い 0 から最も低い 15 までです。プライマリインスタンスが失敗した場合、Neptune は最も高い優先度の Neptune レプリカを新しいプライマリインスタンスに昇格します。Neptune レプリカの優先度はいつでも変更できます。優先度を変更しても、フェイルオーバーはトリガーされません。

を使用して、DB インスタンスのフェイルオーバー優先度を次のように AWS CLI 設定できます。

```
aws neptune modify-db-instance --db-instance-identifier (the instance ID) --promotion-tier (the failover priority value)
```

複数の Neptune レプリカで同じ優先度を共有できる場合は、昇格階層が発生します。複数の Neptune レプリカで同じ優先度を共有する場合、Neptune は最大サイズのレプリカを昇格します。複数の Neptune レプリカで同じ優先度とサイズを共有する場合、Neptune は同じ昇格階層の任意のレプリカを昇格します。

DB クラスターに Neptune レプリカが含まれていない場合、障害イベントの発生時にプライマリインスタンスが再作成されます。障害イベントによって中断が発生し、その間例外によって読み取りと書き込みオペレーションが失敗します。新しいプライマリインスタンスが再作成されると、サービスが回復します。これは、通常は 10 分未満で行われます。Neptune レプリカのプライマリインスタンスへの昇格は、新しいプライマリインスタンスの作成よりもはるかに短時間で実行されます。

# Neptune バックアップストレージの管理に役立つ CloudWatch メトリクス
<a name="backup-restore-overview-metrics"></a>

 Amazon CloudWatch `TotalBackupStorageBilled` メトリクス、`SnapshotStorageUsed` メトリクス、および `BackupRetentionPeriodStorageUsed` メトリクスを使用して、次に示すように、Neptune バックアップに使用されているストレージの量を確認およびモニタリングできます。
+ `BackupRetentionPeriodStorageUsed` は、継続的バックアップを保存するために現時点までに使用されたバックアップストレージの量 (バイト単位) を示します。この値は、クラスターボリュームのサイズと、保存期間中に行った変更の量によって変わります。ただし、請求のため、この値が保存期間中に累積的なクラスターボリュームのサイズを超えることはありません。たとえば、クラスターの `VolumeBytesUsed` サイズが 107,374,182,400 バイト (100 GiB) で、保持期間が 2 日間である場合、`BackupRetentionPeriodStorageUsed` の最大値は 214,748,364,800 バイト (100 GiB \$1 100 GiB) になります。
+ `SnapshotStorageUsed` は、バックアップ保持期間を超えて手動スナップショットを保存するために使用されたバックアップストレージの量 (バイト単位) を示します。手動スナップショットは、作成タイムスタンプが保持期間以内である間は、スナップショットのバックアップストレージにはカウントされません。すべての自動スナップショットも、スナップショットのバックアップストレージにはカウントされません。各スナップショットのサイズは、そのスナップショットを作成した時点のクラスターボリュームのサイズです。`SnapshotStorageUsed` 値は、保持するスナップショットの数と、各スナップショットのサイズによって異なります。たとえば、保持期間外のスナップショットが 1 つあり、このスナップショットを作成した時点のクラスターの `VolumeBytesUsed` サイズが 100 GiB であったとします。この場合、SnapshotStorageUsed の量は 107,374,182,400 バイト (100 GiB) です。
+ `TotalBackupStorageBilled` は、`BackupRetentionPeriodStorageUsed` と `SnapshotStorageUsed` の合計からバックアップストレージの空き容量 (1 日のクラスターボリュームのサイズと等しい) を引いた値を示します。バックアップストレージの空き容量は、最新のボリュームサイズと同じです。たとえば、クラスターの `VolumeBytesUsed` サイズが 100 GiB、保持期間が 2 日間、保持期間外の手動スナップショットが 1 つある場合、`TotalBackupStorageBilled` は 214,748,364,800 バイト (200 GiB \$1 100 GiB - 100 GiB) になります。

Neptune クラスターをモニタリングし、レポートを作成するには、[CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch/ )から CloudWatch メトリクスを使用できます。CloudWatch メトリクスを使用する詳しい方法については、「[Neptune のモニタリング](monitoring.md)」と、「[Neptune CloudWatch メトリクス](cw-metrics.md#cw-metrics-available)」のメトリクスの表を参照してください。

# Neptune バックアップからのデータの復元
<a name="backup-restore-overview-restore"></a>

Neptune が保持するバックアップデータから、または保存した DB クラスターのスナップショットから、新しい Neptune DB クラスターを作成することで、データを回復できます。バックアップデータから作成された DB クラスターの新しいコピーは、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップ保持期間中の Neptune バックアップが継続的かつ増分的であることは、復元時間を短縮するためにデータのスナップショットを頻繁に作成する必要がないことを意味します。

DB インスタンスの最新の復元可能時刻または最も早い復元可能時刻を判断するには、Neptune コンソールで `Latest Restorable Time` 値または `Earliest Restorable Time` 値を探します。DB クラスターの最新の復元可能時間は、DB クラスターを復元できる最も直近の時点であり、通常は現在時間の 5 分以内です。最も早い復元時間は、クラスターボリュームをバックアップ保持期間内でどこまで遡って復元できるかを示します。

DB クラスターの復元が完了したことは、`Latest Restorable Time` および `Earliest Restorable Time` の値を確認することでわかります。復元オペレーションが完了するまで、`Latest Restorable Time` と `Earliest Restorable Time` の値としては NULL が返されます。`Latest Restorable Time` または `Earliest Restorable Time` が NULL を返す場合、バックアップまたは復元オペレーションをリクエストすることはできません。

**を使用して DB インスタンスを指定された時刻に復元するには AWS マネジメントコンソール**

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

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

1. [**Instance actions**]、[**Restore to point in time**] の順に選択します。

   **[Launch DB Instance]** (DB インスタンスの起動) ウィンドウで、**[Restore time]** (復元時間) の下にある**[Custom]** (カスタム) を選びます。

1. [**Custom**] で、復元する日時を指定します。

1. **[Settings]** (設定) の下の**[DB instance identifier]** (DB インスタンス識別子) に新しい復元された DB インスタンスの名前を入力します。

1. [**DB インスタンスの起動**] を選択して、復元された DB インスタンスを起動します。

   指定した名前で新しい DB インスタンスが作成された後、新しい DB クラスターが作成されます。DB クラスター名は、新しい DB インスタンスの名前の後に `–cluster` を付けたものです。たとえば、新しい DB インスタンスの名前が `myrestoreddb` の場合、新しい DB クラスターの名前は `myrestoreddb-cluster` になります。

# Neptune のバックアップウィンドウ
<a name="backup-restore-overview-backup-window"></a>

自動バックアップは、優先されるバックアップウィンドウ中に毎日行われます。バックアップウィンドウに割り当てられた時間より長い時間がバックアップに必要な場合、ウィンドウが終了した後もバックアップが完了するまでバックアップが継続します。DB インスタンスの週 1 回のメンテナンス時間とバックアップウィンドウは重複できません。

自動バックアップウィンドウ中、バックアッププロセスのスタート時にストレージ I/O が一時中断することがあります (通常は数秒間)。マルチ AZ 配置のバックアップ中は、レイテンシーが数分間高くなることがあります。

バックアップウィンドウは通常、Neptune の基礎になる Amazon RDS コントロールプレーンによって、リージョンごとに 8 時間ブロックからランダムに選択されます。デフォルトのバックアップウィンドウが割り当てられる各リージョンの時間については、『Amazon RDS ユーザーガイド』の[バックアップウィンドウ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)セクションをご覧ください。

# Neptune での DB クラスタースナップショットの作成
<a name="backup-restore-create-snapshot"></a>

Neptune は DB クラスターのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB クラスター全体をバックアップします。DB クラスタースナップショットを作成するときは、どの DB クラスターをバックアップするのかを識別する必要があります。次に、DB クラスタースナップショットに名前を付けて、後でそこから復元できるようにします。DB クラスタースナップショットを作成するためにかかる時間は、データベースのサイズによって異なります。スナップショットにはストレージボリューム全体が含まれています。そのため、ファイル (一時ファイルなど) のサイズもスナップショットの作成にかかる時間に影響します。

DB クラスタースナップショットは、 AWS マネジメントコンソール、、 AWS CLIまたは Neptune API を使用して作成できます。

## コンソールを使用して DB クラスタースナップショットを作成します。
<a name="backup-restore-create-snapshot-console"></a>

**DB クラスタースナップショットを作成するには**

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

1. ナビゲーションペインで、**[Databases]** (データベース) を選択します。

1. DB インスタンスのリストで、DB クラスターのプライマリインスタンスを選択します。

1. [**Instance actions**] (インスタンスの操作) を選択してから、[**Take snapshot**] (スナップショットの取得) を選択します。

   [**DB スナップショットの取得**] ウィンドウが表示されます。

1. [**スナップショット名**] ボックスに DB クラスタースナップショットの名前を入力します。

1. [**Take Snapshot**] (スナップショットの取得) を選択します。

# DB クラスタースナップショットの復元
<a name="backup-restore-restore-snapshot"></a>

DB クラスターの Amazon Neptune のスナップショットを作成すると、Neptune はクラスターのストレージボリュームのスナップショットを作成し、個々のインスタンスだけではなく、すべてのデータをバックアップします。新しい DB クラスターは、この DB クラスタースナップショットから復元することで後に作成できます。DB クラスターを復元する場合は、復元の元となる DB クラスタースナップショットの名前を指定し、復元によって作成される新しい DB クラスターの名前を指定します。

**Contents**
+ [スナップショットから Neptune DB クラスターを復元する際に留意すべき事項](#backup-restore-restore-snapshot-considerations)
  + [既存の DB クラスターに復元することはできません。](#backup-restore-restores-to-new-cluster)
  + [インスタンスは復元されません。](#backup-restore-restore-no-restored-instances)
  + [カスタムパラメータグループは復元されません。](#backup-restore-restore-default-parameters)
  + [カスタムセキュリティグループは復元されません。](#backup-restore-restore-default-security-group)
  + [共有され暗号化されたスナップショットから復元することはできません。](#backup-restore-restore-not-shared-and-encrypted)
  + [復元された DB クラスターは、以前と同じ量のストレージを使用します。](#backup-restore-restore-same-storage-allocation)
+ [スナップショットからの復元方法](#backup-restore-restore-snapshot-restoring)
  + [コンソールを使用してスナップショットから復元する](#backup-restore-restore-snapshot-restoring-console)

## スナップショットから Neptune DB クラスターを復元する際に留意すべき事項
<a name="backup-restore-restore-snapshot-considerations"></a>

### 既存の DB クラスターに復元することはできません。
<a name="backup-restore-restores-to-new-cluster"></a>

復元プロセスでは常に新しい DB クラスターが作成されるため、すでに存在している DB クラスターには復元できません。

### インスタンスは復元されません。
<a name="backup-restore-restore-no-restored-instances"></a>

復元によって作成された新しい DB クラスターには、関連付けられたインスタンスがありません。

復元が完了し、新しい DB クラスターが利用できるようになると、必要なインスタンスが明示的に作成されます。これは、Neptune コンソールで、または [CreateDBInstance](api-instances.md#CreateDBInstance) API 使用のいずれかの方法で実行できます。

### カスタムパラメータグループは復元されません。
<a name="backup-restore-restore-default-parameters"></a>

復元によって作成される新しい DB クラスターには、デフォルトの DB パラメータグループが自動的に関連付けられます。

復元が完了し、新しい DB クラスターが利用できるようになった時点で、復元の元となるインスタンスによって使用されているカスタム DB パラメータグループを関連付ける必要があります。これを行うには、Neptune コンソールで **Modify** コマンドを実行するか、[ModifyDBInstance](api-instances.md#ModifyDBInstance) API を使用します。

**重要**  
スナップショットを作成している DB クラスターで使用されているカスタムパラメータグループを保存することをお勧めします。その後、そのスナップショットから復元するときに、復元された DB クラスターに正しいパラメータグループを容易に関連付けることができます。

### カスタムセキュリティグループは復元されません。
<a name="backup-restore-restore-default-security-group"></a>

復元によって作成される新しい DB クラスターには、デフォルトのセキュリティグループが自動的に関連付けられます。

復元が完了し、新しい DB クラスターが利用できるようになった時点で、復元の元となるインスタンスによって使用されているカスタムセキュリティグループを関連付ける必要があります。これを行うには、Neptune コンソールで **Modify** コマンドを実行するか、[ModifyDBInstance](api-instances.md#ModifyDBInstance) API を使用します。

### 共有され暗号化されたスナップショットから復元することはできません。
<a name="backup-restore-restore-not-shared-and-encrypted"></a>

共有および暗号化された DB クラスタースナップショットから、DB クラスターを復元することはできません。

代わりに、スナップショットの未共有コピーを作成し、そのコピーから復元できます。

### 復元された DB クラスターは、以前と同じ量のストレージを使用します。
<a name="backup-restore-restore-same-storage-allocation"></a>

DB クラスタースナップショットから DB クラスターを復元する場合、新しいクラスターに割り当てられるストレージの量は、その割り当て済みストレージが実際に使用されているかどうかにかかわらず、スナップショットの作成元の DB クラスターに割り当てられたストレージ量と同じです。

 つまり、請求対象の「高いウォーターマーク」は変更されません。高いウォーターマークをリセットするには、グラフからデータをエクスポートし、新しい DB クラスターに再ロードする必要があります (「[Neptune ストレージ請求](feature-overview-storage.md#feature-overview-storage-billing)」を参照)。

## スナップショットからの復元方法
<a name="backup-restore-restore-snapshot-restoring"></a>

DB クラスタースナップショットから DB クラスターを復元するには AWS マネジメントコンソール、、 AWS CLI、または Neptune API を使用します。

### コンソールを使用してスナップショットから復元する
<a name="backup-restore-restore-snapshot-restoring-console"></a>

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

1. ナビゲーションペインで、[**Snapshots**] を選択します。

1. 復元の元にする DB クラスタースナップショットを選択します。

1. [**アクション**]、[**スナップショットの復元**] の順に選択します。

1. [**DB インスタンスの復元**] ページの [**DB インスタンス識別子**] テキストボックスに、復元された DB クラスターの名前を入力します。

1. [**DB インスタンスの復元**] を選択します。

1. スナップショットが作成された DB クラスターの DB クラスター機能を復元する場合は、セキュリティグループを使用するように DB クラスターを変更する必要があります。次のステップは、DB インスタンスが仮想プライベートクラウド (VPC) 内にあることを前提としています。DB インスタンスが VPC 内にない場合は、Amazon EC2 コンソールを使用して、DB クラスターに必要なセキュリティグループを見つけます。

   1. Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。

   1. ナビゲーションペインで、**[Security Groups]** (セキュリティグループ) をクリックします。

   1. DB クラスターで使用するセキュリティグループを選択します。必要に応じて、EC2 インスタンスのセキュリティグループにセキュリティグループをリンクするためのルールを追加します。

# DB クラスタースナップショットのコピー
<a name="backup-restore-copy-snapshot"></a>

Neptune を使用すると、自動または手動 DB クラスタースナップショットをコピーできます。スナップショットをコピーすると、そのコピーは手動スナップショットになります。

スナップショットは、同じ AWS リージョン内および AWS リージョン間でコピーできます。スナップショットは、複数のリージョンとアカウント間で 1 つのステップでコピーできます。

自動スナップショットを別の AWS アカウントにコピーするには、2 つのステップがあります。まず、自動スナップショットから手動スナップショットを作成し、次に手動スナップショットを別のアカウントにコピーします。

 コピーの代わりに、手動スナップショットを他の AWS アカウントと共有することもできます。詳細については、「[DB クラスターのスナップショットの共有](backup-restore-share-snapshot.md)」を参照してください。

**Topics**
+ [スナップショットのコピーに関する制限](#backup-restore-copy-snapshot-limitations)
+ [DB クラスターのスナップショットのコピーの保持](#backup-restore-copy-snapshot-retention)
+ [スナップショットのコピー時の暗号化の処理](#backup-restore-copy-snapshot-encryption)
+ [AWS リージョン間でのスナップショットのコピー](#backup-restore-copy-snapshot-cross-region)
+ [コンソールを使用した DB クラスタースナップショットのコピー](#backup-restore-copy-snapshot-console)
+ [を使用した DB クラスタースナップショットのコピー AWS CLI](#backup-restore-copy-snapshot-cli)

## スナップショットのコピーに関する制限
<a name="backup-restore-copy-snapshot-limitations"></a>

スナップショットをコピーする際の制約は以下のとおりです。
+ 中国 (北京) と中国 (寧夏) の間でスナップショットをコピーすることはできますが、これらの中国リージョンと他の AWS リージョンの間でスナップショットをコピーすることはできません。
+  AWS GovCloud (米国東部) と AWS GovCloud (米国西部) の間でスナップショットをコピーできますが、これらの AWS GovCloud (US) リージョンと他の AWS リージョンの間でスナップショットをコピーすることはできません。
+ ターゲットスナップショットが使用可能になる前に出典スナップショットを削除すると、スナップショットはコピーされない場合があります。ターゲットスナップショットのステータスが `AVAILABLE` になったことを確認してから、出典スナップショットを削除してください。
+ アカウントあたり 1 つのリージョンに対して、最大 5 つのスナップショットコピーリクエストを実行できます。
+ コピー元とコピー先のリージョンおよびデータのコピー量に応じて、リージョン間のスナップショットのコピーは完了するまでに長時間かかることがあります。

  特定のソースリージョンからのクロスリージョンスナップショットコピーリクエストが多数ある場合 AWS 、Neptune は進行中のコピーが完了するまで、そのソース AWS リージョンからの新しいクロスリージョンコピーリクエストをキューに入れることがあります。そのキューにコピーリクエストが入っている間は、そのリクエストに関する進行状況の情報は表示されません。進行状況の情報は、コピーの開始後にのみ表示されます。

## DB クラスターのスナップショットのコピーの保持
<a name="backup-restore-copy-snapshot-retention"></a>

Neptune では、自動スナップショットを次のように削除します。
+ 保持期間の終了時。
+ DB クラスターの自動スナップショットを無効にした場合。
+ DB クラスターを削除した場合。

自動スナップショットをもっと長い期間保持したい場合は、そのコピーを手動スナップショットとして作成します。そうすると、削除するまで保持されます。デフォルトのストレージ領域を超える場合、手動スナップショットに Neptune ストレージコストが適用される場合があります。

バックアップストレージコストの詳細については、[Neptune 料金表](https://aws.amazon.com/neptune/pricing/)を参照してください。

## スナップショットのコピー時の暗号化の処理
<a name="backup-restore-copy-snapshot-encryption"></a>

暗号化キーを使用して AWS KMS 暗号化されたスナップショットをコピーできます。暗号化された スナップショットをコピーする場合は、スナップショットのコピーも暗号化する必要があります。コピーは、元のスナップショットと同じ AWS KMS 暗号化キーで暗号化することも、別の AWS KMS 暗号化キーを指定することもできます。

コピーするときに、暗号化されていない DB クラスタースナップショットを暗号化することはできません。

Amazon Neptune DB クラスタースナップショットの場合、DB クラスタースナップショットを暗号化せずに残し、代わりに復元時に AWS KMS 暗号化キーを指定することもできます。復元された DB クラスターは、指定されたキーを使用して暗号化されます。

## AWS リージョン間でのスナップショットのコピー
<a name="backup-restore-copy-snapshot-cross-region"></a>

スナップショットをソーススナップショットの AWS リージョンとは異なる AWS リージョンにコピーする場合、最初のコピーは増分スナップショットをコピーした場合でも、完全なスナップショットコピーになります。フルスナップショットコピーには、DB インスタンスを復元するために必要なデータやメタデータすべてが含まれます。最初のスナップショットコピー後、同じ DB インスタンスの増分スナップショットを同じ AWS アカウント内の同じコピー先リージョンにコピーできます。

差分スナップショットには、同じ DB インスタンスの最新のスナップショット以降に変更されたデータのみが含まれます。差分スナップショットのコピーは高速であり、フルスナップショットコピーよりストレージコストが低くなります。 AWS リージョン間の増分スナップショットコピーは、暗号化されていないスナップショットと暗号化されたスナップショットの両方でサポートされています。

**重要**  
共有スナップショットの場合、増分スナップショットのコピーはサポートされていません。共有スナップショットの場合、同じリージョン内であっても、すべてのコピーは完全なスナップショットになります。

関連する AWS リージョンとコピーするデータの量によっては、クロスリージョンスナップショットのコピーが完了するまでに数時間かかる場合があります。

## コンソールを使用した DB クラスタースナップショットのコピー
<a name="backup-restore-copy-snapshot-console"></a>

コピー元のデータベースエンジンが Neptune である場合、スナップショットは DB クラスタースナップショットになります。 AWS アカウントごとに、 AWS リージョンごとに一度に最大 5 つの DB クラスタースナップショットをコピーできます。暗号化されている DB クラスタースナップショットと暗号化されていない DB クラスタースナップショットのどちらのコピーもサポートされています。

データ転送料金の詳細については、[Neptune 料金表](https://aws.amazon.com/neptune/pricing/)を参照してください。

コピーオペレーションが進行中にキャンセルするには、DB クラスタースナップショットが [**copying (コピー)**] ステータスの間にターゲット DB クラスタースナップショットを削除します。

次の手順は、暗号化されている DB クラスタースナップショットや暗号化されていない DB クラスタースナップショットのコピーに使用できます。

**DB クラスタースナップショットをコピーするには**

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

1. ナビゲーションペインで、[**Snapshots**] を選択します。

1. コピーする DB クラスタースナップショットのチェックボックスをオンにします。

1. [**Actions**] を選択してから、[**Copy Snapshot**] を選択します。[**Make Copy of DB Snapshot**] ページが表示されます。

1. [**New DB Snapshot Identifier (新しい DB スナップショットの識別子)**] に、DB クラスタースナップショットのコピーの名前を入力します。

1. スナップショットからスナップショットのコピーにタグと値をコピーするには、[**Copy Tags**] を選択します。

1. [**Enable Encryption**] で、次のいずれかのオプションを選択します。
   + DB クラスタースナップショットが暗号化されていなく、コピーを暗号化しない場合、[**Disable encryption**] を選択します。
   + DB クラスタースナップショットは暗号化されていないが、コピーを暗号化する場合、[**Enable encryption**] を選択します。この場合、**マスターキー**には、DB クラスタースナップショットコピーの暗号化に使用する AWS KMS キー識別子を指定します。
   + DB クラスタースナップショットが暗号化されている場合は、[**Enable encryption**] を選択します。この場合、コピーを暗号化する必要があるため、[**はい**] が既に選択されています。**マスターキー**には、DB クラスタースナップショットコピーの暗号化に使用する AWS KMS キー識別子を指定します。

1. [**スナップショットをコピー**] を選択します。

## を使用した DB クラスタースナップショットのコピー AWS CLI
<a name="backup-restore-copy-snapshot-cli"></a>

[copy-db-cluster-snapshot](api-snapshots.md#CopyDBClusterSnapshot) AWS CLI のコマンドを使用して、DB スナップショットをコピーできます。

スナップショットを新しい AWS リージョンにコピーする場合は、新しいリージョンで コマンドを実行します。

次のパラメータの説明と例を使用して、 AWS CLIでスナップショットをコピーするときに使用するパラメータを判断してください。
+ `--source-db-cluster-snapshot-identifier` - コピー元の DB スナップショットの識別子。
  + ソーススナップショットがコピーと同じ AWS リージョンにある場合は、 のような有効な DB スナップショット識別子を指定します`neptune:instance1-snapshot-20130805`。
  + ソーススナップショットがコピーとは異なる AWS リージョンにある場合は、 のような有効な DB スナップショット ARN を指定します`arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20130805`。
  + 共有された手動 DB スナップショットからコピーする場合、このパラメータは、共有された DB スナップショットの Amazon リソースネーム (ARN) であることが必要です。
  + 暗号化されたスナップショットをコピーする場合、このパラメータはソース AWS リージョンの ARN 形式であり、 `PreSignedUrl`パラメータ`SourceDBSnapshotIdentifier`の と一致する必要があります。
+ `--target-db-cluster-snapshot-identifier` –   –   暗号化された DB スナップショットの新しいコピーの識別子。
+ `--kms-key-id` –   –   暗号化された DB スナップショットの AWS KMS キー ID。 AWS KMS キー ID は、Amazon リソースネーム (ARN)、 AWS KMS キー識別子、または AWS KMS 暗号化 AWS KMS キーのキーエイリアスです。
  +  AWS アカウントから暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定して、コピーを新しい暗号化キーで AWS KMS 暗号化できます。このパラメータの値を指定しない場合、DB スナップショットのコピーはソース DB スナップショットと同じ AWS KMS キーで暗号化されます。
  + このパラメータを使用して、暗号化されていないスナップショットの暗号化されたコピーを作成することはできません。これを試みると、エラーが発生します。
  + 暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、コピー先の AWS リージョンの AWS KMS キーを指定する必要があります。 AWS KMS 暗号化キーは、作成された AWS リージョンに固有であり、別の AWS リージョンの 1 つの AWS リージョンの暗号化キーを使用することはできません。
+ `--source-region` –   –   ソース DB スナップショットがある AWS リージョンの ID。暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、このオプションを指定する必要があります。
+ `--region` –   –   スナップショットをコピーする AWS リージョンの ID。暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、このオプションを指定する必要があります。

**Example 暗号化されていないソースを同じリージョン内でコピー**  
次のコードは、 `us-east-1` AWS リージョン`mydbsnapshotcopy`から `us-west-2`リージョンへのスナップショットのコピーを新しい名前 で作成します。  
Linux、OS X、Unix の場合:  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier instance1-snapshot-20130805 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy
```
Windows の場合:  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier instance1-snapshot-20130805 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy
```

**Example 暗号化されていないソースをリージョン間でコピー**  
次のコードは、 `us-east-1` AWS リージョン`mydbsnapshotcopy`から `us-west-2`リージョンへのスナップショットのコピーを新しい名前 で作成します。`us-west-2` リージョンでコマンドを実行します。  
Linux、OS X、Unix の場合:  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy \
  --source-region us-east-1 \
  --region us-west-2
```
Windows の場合:  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy ^
  --source-region us-east-1 ^
  --region us-west-2
```

**Example 暗号化されたソースをリージョン間でコピー**  
次のコード例では、暗号化された DB スナップショットを `us-east-1` AWS リージョンから `us-west-2`リージョンにコピーします。`us-west-2` リージョンでコマンドを実行します。  
Linux、OS X、Unix の場合:  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115 \
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy \
  --source-region us-east-1 \
  --region us-west-2
  --kms-key-id my_us_west_2_key
```
Windows の場合:  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115 ^
  --target-db-cluster-snapshot-identifier mydbsnapshotcopy ^
  --source-region us-east-1 ^
  --region us-west-2
  --kms-key-id my-us-west-2-key
```

# DB クラスターのスナップショットの共有
<a name="backup-restore-share-snapshot"></a>

Neptune を使用すると、次の方法で手動 DB クラスタースナップショットを共有できます。
+ 手動 DB クラスタースナップショットを共有すると、暗号化されているかどうかにかかわらず、承認された AWS アカウントはスナップショットをコピーできます。
+ 暗号化されていない手動 DB クラスタースナップショットを共有すると、承認された AWS アカウントは DB クラスターのコピーを取得して復元するのではなく、スナップショットから DB クラスターを直接復元できます。暗号化されたスナップショットを直接復元することはできません。最初にコピーしてから、コピーから復元する必要があります。

**注記**  
自動 DB クラスタースナップショットを共有するには、自動化されたスナップショットをコピーしてそのコピーを共有することで、手動 DB クラスタースナップショットを作成します。

DB クラスタースナップショットから DB クラスターを復元する方法の詳細については、「[スナップショットからの復元方法](backup-restore-restore-snapshot.md#backup-restore-restore-snapshot-restoring)」を参照してください。

手動スナップショットは、最大 20 の他の AWS アカウントと共有できます。暗号化されていない手動スナップショットをパブリックとして共有することもできます。これにより、スナップショットはすべての AWS アカウントで利用できるようになります。スナップショットをパブリックとして共有する場合には、パブリック スナップショットにプライベート情報が含まれないように注意してください。

**注記**  
 AWS Command Line Interface (AWS CLI) または Neptune API を使用して共有スナップショットから DB クラスターを復元する場合は、スナップショット識別子として共有スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。

**Topics**
+ [暗号化された DB クラスタースナップショットの共有](#backup-restore-share-snapshot-encrypted)
+ [DB クラスターのスナップショットの共有](#backup-restore-share-snapshot-sharing)

## 暗号化された DB クラスタースナップショットの共有
<a name="backup-restore-share-snapshot-encrypted"></a>

AES-256 暗号化アルゴリズムを使用して暗号化された「保存中」である DB クラスタースナップショットを共有できます。詳細については、「[Amazon Neptune データベースに保管中のデータの暗号化](encrypt.md)」を参照してください。これを行うには、次のステップを実行する必要があります。

1. スナップショットの暗号化に使用された AWS Key Management Service (AWS KMS) 暗号化キーを、スナップショットにアクセスできる任意のアカウントと共有します。

   別の AWS アカウントを KMS キーポリシーに追加することで、 AWS KMS 暗号化キーを別のアカウントと共有できます。キーポリシーの更新の詳細については、[AWS KMS デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)の*キーポリシー*を参照してください。キーポリシーの作成例については、このトピックで後述する[暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成](#backup-restore-share-snapshot-encrypted-key-iam)を参照してください。

1.  AWS マネジメントコンソール、 AWS CLI、または Neptune API を使用して、暗号化されたスナップショットを他のアカウントと共有します。

以下の制限は、暗号化されたスナップショットの共有に適用されます。
+ 暗号化されたスナップショットをパブリックとして共有することはできません。
+ スナップショットを共有した AWS アカウントのデフォルトの AWS KMS 暗号化キーを使用して暗号化されたスナップショットを共有することはできません。

### AWS KMS 暗号化キーへのアクセスを許可する
<a name="backup-restore-share-snapshot-encrypted-key"></a>

別の AWS アカウントがアカウントから共有された暗号化された DB クラスタースナップショットをコピーするには、スナップショットを共有するアカウントが、スナップショットを暗号化した KMS キーにアクセスできる必要があります。別の AWS アカウントに AWS KMS キーへのアクセスを許可するには、KMS キーポリシーのキーポリシーを、KMS キーポリシーの として共有している AWS アカウントの ARN で更新`Principal`します。次に、`kms:CreateGrant` アクションを許可します。全般的な説明については、*AWS Key Management Service デベロッパーガイド*の[「他のアカウントのユーザーに KMS キーの使用を許可する」](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)を参照してください。

KMS 暗号化キーへのアクセス権を AWS アカウントに付与した後、暗号化されたスナップショットをコピーするには、その AWS アカウントに IAM ユーザーがない場合は作成する必要があります。KMS セキュリティ制限では、このためにルート AWS アカウント ID を使用することは許可されません。 AWS アカウントは、IAM ユーザーが KMS キーを使用して暗号化された DB クラスタースナップショットをコピーできるようにする IAM ポリシーをその IAM ユーザーにアタッチする必要があります。

次のキーポリシーの例では、ユーザー `111122223333` が KMS 暗号化キーの所有者であり、ユーザー `444455556666` がキーの共有先のアカウントです。この更新されたキーポリシーは、ユーザーのルート AWS アカウント ID の ARN をポリシー`Principal`の `444455556666`として含め、 `kms:CreateGrant`アクションを許可することで、 AWS アカウントに KMS キーへのアクセスを許可します。

------
#### [ JSON ]

****  

```
{
    "Id": "key-policy-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAttachmentOfPersistentResources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

#### 暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成
<a name="backup-restore-share-snapshot-encrypted-key-iam"></a>

外部 AWS アカウントが KMS キーにアクセスできるようになると、そのアカウントの所有者は、アカウント用に作成された IAM ユーザーがその KMS キーで暗号化された暗号化されたスナップショットをコピーできるようにするポリシーを作成できます。

次の例では、 AWS アカウント `444455556666` の IAM ユーザーにアタッチできるポリシーを示します。これにより、IAM ユーザーは、`us-west-2` リージョンの KMS キー `c989c1dd-a3f2-4a5d-8d96-e793d082ab26` で暗号化されている AWS アカウント `111122223333` から共有スナップショットをコピーできます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey",
                "kms:CreateGrant",
                "kms:RetireGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"]
        },
        {
            "Sid": "AllowAttachmentOfPersistentResources",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

キーポリシーの更新の詳細については、[AWS Key Management Service デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)の*キーポリシー*を参照してください。

## DB クラスターのスナップショットの共有
<a name="backup-restore-share-snapshot-sharing"></a>

DB クラスタースナップショットは、 AWS マネジメントコンソール、、 AWS CLIまたは Neptune API を使用して共有できます。

### コンソールを使用した DB クラスタースナップショットの共有
<a name="backup-restore-share-snapshot-sharing-console"></a>

Neptune コンソールを使用して、手動 DB クラスタースナップショットを最大 20 の AWS アカウントと共有することができます。また、1 つ以上のアカウントでの手動スナップショットの共有を停止できます。

**手動の DB クラスタースナップショットを共有するには**

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

1. ナビゲーションペインで、[**Snapshots**] を選択してください。

1. 共有する手動スナップショットを選択します。

1. [**アクション**]、[**スナップショットの共有**] の順に選択します。

1. [**DB snapshot visibility**] で次のいずれかのオプションを選択します。
   + ソースが暗号化されていない場合は、手動の DB クラスタースナップショットからすべての AWS アカウントに DB クラスターの復元を許可するには、**[Public]** (公開) を選択します。または**、プライベート を選択して**、指定した AWS アカウントのみが手動 DB クラスタースナップショットから DB クラスターを復元できるようにします。
**警告**  
**DB スナップショットの可視性**を **Public** に設定すると、すべての AWS アカウントが手動 DB クラスタースナップショットから DB クラスターを復元し、データにアクセスできます。プライベート情報を含む手動 DB クラスタースナップショットは、[**Public**] として共有しないでください。
   + 出典 DB クラスターが暗号化されている場合、暗号化されているスナップショットはパブリックとして共有できないため、[**DB snapshot visibility**] が [**Private**] に設定されます。

1. **AWS アカウント ID** には、手動スナップショットから DB クラスターを復元することを許可するアカウントのアカウント AWS 識別子を入力します。その後、**[Add]** (追加) を選択します。繰り返して、最大 20 AWS 個の AWS アカウント識別子を追加します。

   許可された AWS アカウントのリストにアカウント識別子を追加するときにエラーが発生した場合は、間違った AWS アカウント識別子の右側にある**削除**を選択して、リストから削除できます。

1. 手動スナップショットの復元を許可するすべての AWS アカウントの識別子を追加したら、**保存**を選択します。

**AWS アカウントとの手動 DB クラスタースナップショットの共有を停止するには**

1. Amazon Neptune コンソール ([https://console.aws.amazon.com/neptune/home](https://console.aws.amazon.com/neptune/home)) を開きます。

1. ナビゲーションペインで、[**Snapshots**] を選択してください。

1. 共有を停止する手動スナップショットを選択します。

1. [**Actions**] を選択してから、[**Share Snapshot**] を選択します。

1.  AWS アカウントのアクセス許可を削除するには、承認された AWS アカウントのリストから、そのアカウントのアカウント識別子**の削除**を選択します。

1. **[保存]** を選択します。

# Neptune スナップショットの削除
<a name="backup-restore-delete-snapshot"></a>

DB スナップショットは、AWS マネジメントコンソール、AWS CLI、または 管理 API を使用して削除できます。

## コンソールによる削除
<a name="backup-restore-delete-snapshot-console"></a>

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

1. ナビゲーションペインで、「**Snapshots**」 を選択します。

1. 削除する DB スナップショットを選択します。

1. [**アクション**] で、[**スナップショットの削除**] を選択します。

1. 確認ページで、「**削除**」 を選択します。

## AWS CLI による削除
<a name="backup-restore-delete-snapshot-cli"></a>

DB スナップショットは、AWS CLI [delete\$1db\$1cluster\$1snapshot](api-snapshots.md#DeleteDBClusterSnapshot) コマンドを使用して削除することもできます。この場合、`--db-snapshot-identifier` パラメータを使用して削除対象のスナップショットを特定します。

Linux、OS X、Unix の場合:

```
1. aws neptune delete-db-cluster-snapshot \
2.     --db-snapshot-identifier <name-of-the-snapshot-to-delete>
```

Windows の場合:

```
1. aws neptune delete-db-cluster-snapshot ^
2.     --db-snapshot-identifier <name-of-the-snapshot-to-delete>
```

## Neptune 管理 API による削除
<a name="backup-restore-delete-snapshot-api"></a>

いずれかの SDK を使用して DB スナップショットを削除するには、[DeleteDBClusterSnapshot](api-snapshots.md#DeleteDBClusterSnapshot) API を呼び出し、`DBSnapshotIdentifier` パラメータで削除対象の DB スナップショットを特定します。