

# データのバックアップ、復元、エクスポート
<a name="CHAP_CommonTasks.BackupRestore"></a>

このセクションでは、Amazon RDS DB インスタンスまたはマルチ AZ DB クラスターをバックアップする方法、復元する方法、エクスポートする方法について説明します。

Amazon RDS DB インスタンスまたはマルチ AZ DB クラスターのバックアップの詳細については、以下のトピックを参照してください。
+ [バックアップの概要](USER_WorkingWithAutomatedBackups.md)
+ [自動バックアップの管理](USER_ManagingAutomatedBackups.md)
+ [手動バックアップの管理](USER_ManagingManualBackups.md)

Amazon RDS DB インスタンスまたはマルチ AZ DB クラスターの復元の詳細については、「[DB インスタンスへの復元](USER_RestoreFromSnapshot.md)」を参照してください。

DB スナップショットのコピー、共有、エクスポートについては、以下のトピックを参照してください。
+ [Amazon RDS の DB スナップショットのコピー](USER_CopySnapshot.md)
+ [Amazon RDS の DB スナップショットを共有する](USER_ShareSnapshot.md)
+ [Amazon RDS の Amazon S3 への DB スナップショットデータのエクスポート](USER_ExportSnapshot.md)

AWS Backup が管理する自動バックアップの詳細については、「[Amazon RDS の自動バックアップの管理に AWS Backup を使用する](AutomatedBackups.AWSBackup.md)」を参照してください。

# バックアップの概要
<a name="USER_WorkingWithAutomatedBackups"></a>

Amazon RDS は、DB インスタンスのバックアップ期間中に、DB インスタンスまたはマルチ AZ DB クラスターの自動バックアップを作成して保存します。RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、DB インスタンス全体をバックアップします。RDS は、指定したバックアップ保持期間に従って DB インスタンスの自動バックアップを保存します。必要に応じて、バックアップ保持期間内の任意の時点に DB インスタンスを回復できます。

自動バックアップは次のルールに従います。
+ 自動バックアップを行うには、DB インスタンスが `available` 状態になっている必要があります。DB インスタンスが `storage_full` など、`available` 以外の状態にある間は、自動バックアップは行われません。
+ DB スナップショットのコピーが同じデータベースの同じ AWS リージョン で実行している間は、自動バックアップは行われません。

DB スナップショットを作成することにより、手動で DB インスタンスをバックアップすることもできます。DB スナップショットの手動作成について詳しくは、「[Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成](USER_CreateSnapshot.md)」を参照してください。

スナップショットおよびバックアップ機能は、マルチボリューム設定をサポートします。すべてのバックアップオペレーションには、プライマリボリュームと追加のストレージボリュームの両方が含まれます。スナップショットは、データベースストレージ設定全体をキャプチャします。ポイントインタイムリカバリ (PITR) は、すべてのストレージボリュームで機能します。

DB インスタンスの最初のスナップショットには、データベース全体のデータが含まれます。同じ DB インスタンスの後続のスナップショットは増分です。つまり、直近のスナップショットの保存後に変更されたデータのみが含まれます。

自動および手動 DB スナップショットのコピー、および手動 DB スナップショットの共有を行うことができます。DB スナップショットのコピーに関する詳細は、「[Amazon RDS の DB スナップショットのコピー](USER_CopySnapshot.md)」を参照してください。DB スナップショットの共有に関する詳細は、「[Amazon RDS の DB スナップショットを共有する](USER_ShareSnapshot.md)」を参照してください。

## バックアップストレージ
<a name="USER_WorkingWithAutomatedBackups.BackupStorage"></a>

各 AWS リージョン の Amazon RDS バックアップストレージは、そのリージョンの自動バックアップと手動 DB スナップショットで構成されています。バックアップストレージの合計容量は、そのリージョンのすべてのバックアップに対するストレージの合計と等しくなります。DB スナップショットを他のリージョンに移動すると、移動先リージョンのバックアップストレージは増加します。バックアップは Amazon S3 に保存されます。

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

DB インスタンスの削除時に自動バックアップを保持することを選択した場合、自動バックアップは全保持期間にわたって保存されます。DB インスタンスの削除時に、[**Retain automated backups (自動バックアップの保持)**] を選択しない場合、すべての自動バックアップは DB インスタンスと一緒に削除されます。削除後は、自動バックアップを復旧することはできません。Amazon RDS によって DB インスタンスの削除前に最終的な DB スナップショットが作成されるように選択した場合、そのスナップショットを使用して DB インスタンスを復元できます。オプションで、以前に作成した手動スナップショットを使用できます。手動スナップショットは削除されません。リージョンあたり最大 100 個の手動スナップショットを作成することができます。

# 自動バックアップの管理
<a name="USER_ManagingAutomatedBackups"></a>

このセクションでは、DB インスタンスとマルチ AZ DB クラスターの自動バックアップを管理する方法について説明します。

**Topics**
+ [バックアップウィンドウ](#USER_WorkingWithAutomatedBackups.BackupWindow)
+ [バックアップの保存期間](USER_WorkingWithAutomatedBackups.BackupRetention.md)
+ [自動バックアップの有効化](USER_WorkingWithAutomatedBackups.Enabling.md)
+ [自動バックアップの保持](USER_WorkingWithAutomatedBackups.Retaining.md)
+ [保持している自動バックアップの削除](USER_WorkingWithAutomatedBackups-Deleting.md)
+ [サポートされない MySQL ストレージエンジンを使用した自動バックアップ](Overview.BackupDeviceRestrictions.md)
+ [サポートされない MariaDB ストレージエンジンを使用した自動バックアップ](Overview.BackupDeviceRestrictionsMariaDB.md)
+ [別の AWS リージョン への自動バックアップのレプリケーション](USER_ReplicateBackups.md)

## バックアップウィンドウ
<a name="USER_WorkingWithAutomatedBackups.BackupWindow"></a>

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

自動バックアップウィンドウ中、バックアッププロセスのスタート時にストレージ I/O が一時中断することがあります (通常は数秒間)。マルチ AZ 配置のバックアップ中は、レイテンシーが数分間高くなることがあります。MariaDB、MySQL、Oracle、PostgreSQL の場合、バックアップはスタンバイから取られるため、マルチ AZ 配置のバックアップ中、プライマリの I/O アクティビティは中断しません。SQL Server の場合、バックアップはプライマリから取られるため、シングル AZ 配置とマルチ AZ 配置のバックアップ中に I/O アクティビティが短時間だけ中断します。Db2 では、バックアップがスタンバイから取得されている場合でも、バックアップ中に I/O アクティビティが短時間、中断されます。

バックアップが開始するときに、DB インスタンスまたはクラスターの負荷が大きい場合、自動バックアップがスキップされることがあります。バックアップがスキップされた場合でも、ポイントインタイムリカバリ (PITR) を実行し、次のバックアップウィンドウ中にバックアップを試行できます。PITR の詳細については「[Amazon RDS の DB インスタンスを特定の時点に復元する](USER_PIT.md)」を参照してください。

DB インスタンスまたはマルチ AZ DB クラスターの作成時に優先バックアップ期間を指定しなかった場合、Amazon RDS によってデフォルトの 30 分のバックアップ期間が割り当てられます。この期間は、各 AWS リージョン の 8 時間の時間ブロックからランダムに選択されます。次の表は、デフォルトのバックアップ期間が割り当てられる各 AWS リージョン の時間ブロックを示しています。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ManagingAutomatedBackups.html)

# バックアップの保存期間
<a name="USER_WorkingWithAutomatedBackups.BackupRetention"></a>

DB インスタンスまたはマルチ AZ DB クラスターを作成または復元するときに、バックアップ保持期間を設定できます。Amazon RDS API または AWS CLI を使用して DB インスタンスを作成し、バックアップ保持期間を設定しない場合、デフォルトのバックアップ保持期間は 1 日です。コンソールを使用して DB インスタンスを作成する場合、デフォルトのバックアップ保持期間は 7 日です。

DB インスタンスまたはクラスターを作成した後、バックアップ保持期間を変更できます。DB インスタンスのバックアップ保持期間は、0 ～ 35 日間で設定できます。バックアップ保持期間を 0 に設定すると、自動バックアップが無効になります。マルチ AZ DB クラスターのバックアップ保持期間は、1 ～ 35 日の間で設定できます。手動スナップショットの制限 (リージョンごとに 100) は、自動バックアップには適用されません。

復元オペレーション中に、DB インスタンスまたはマルチ AZ DB クラスターのバックアップ保持期間を指定できます。この値を明示的に設定しない場合、復元されたデータベースはソーススナップショットまたはインスタンスからバックアップ保持期間を継承します。この継承動作は復元オペレーションに固有であることに注意してください。新しいデータベースを作成すると、代わりにデフォルトの保持期間が適用されます。

**重要**  
DB インスタンスのバックアップ保持期間を 0 から 0 以外の値、または 0 以外の値から 0 に変更すると、停止します。

RDS では、バックアップ保存期間の計算時に `stopped` 状態にあった時間は含まれません。DB インスタンスまたはクラスターの停止中は、自動バックアップは作成されません。DB インスタンスが停止している場合、バックアップ保持期間より長くバックアップを保持できます。

# 自動バックアップの有効化
<a name="USER_WorkingWithAutomatedBackups.Enabling"></a>

DB インスタンスで自動バックアップが有効になっていない場合、いつでも有効にすることができます。バックアップ保持期間を 0 以外の正の値に設定することで自動バックアップを有効にします。自動バックアップが有効なとき、DB インスタンスがオフラインになり、ただちにバックアップが作成されます。

**注記**  
AWS Backup でバックアップを管理している場合、自動バックアップを有効にすることはできません。詳細については、「[Amazon RDS の自動バックアップの管理に AWS Backup を使用する](AutomatedBackups.AWSBackup.md)」を参照してください。

## コンソール
<a name="USER_WorkingWithAutomatedBackups.Enabling.CON"></a>

**自動バックアップをすぐに有効にするには**

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

1. ナビゲーションペインで、**[データベース]** を選択し、変更する DB インスタンスまたはマルチ AZ DB クラスターを選択します。

1. **[Modify]** (変更) を選択します。

1. **[バックアップ保持期間]** で、ゼロ以外の正の値 (3 日など) を選択します。

1. **[続行]** を選択します。

1. **[すぐに適用]** を選択します。

1. **[DB インスタンスの変更]** または **[クラスターの変更]** を選択して変更を保存し、自動バックアップを有効にします。

## AWS CLI
<a name="USER_WorkingWithAutomatedBackups.Enabling.CLI"></a>

自動バックアップを有効にするには、AWS CLI の [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドまたは [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを使用します。

以下のパラメータを含めます。
+ `--db-instance-identifier` (またはマルチ AZ DB クラスターの場合は `--db-cluster-identifier`)
+ `--backup-retention-period`
+ `--apply-immediately` または `--no-apply-immediately`

次の例では、バックアップ保持期間を 3 日に設定して、自動バックアップを有効にします。変更はすぐに適用されます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

## RDS API
<a name="USER_WorkingWithAutomatedBackups.Enabling.API"></a>

自動バックアップを有効にするには、以下の必須パラメータを指定して RDS API の [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) オペレーションまたは [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) オペレーションを使用します。
+ `DBInstanceIdentifier`-または-`DBClusterIdentifier`
+ `BackupRetentionPeriod`

## 自動バックアップの表示
<a name="USER_WorkingWithAutomatedBackups.viewing"></a>

自動バックアップを表示するには、ナビゲーションペインで「**自動バックアップ**」を選択します。自動バックアップに関連付けられている個々のスナップショットを表示するには、ナビゲーションペインで 「**Snapshots**」 (スナップショット) を選択します。または、自動バックアップに関連付けられた個別のスナップショットを説明できます。そのページで、スナップショットのいずれかから DB インスタンスを直接復元できます。

自動スナップショットの名前はパターン `rds:<database-name>-yyyy-mm-dd-hh-mm` に従い、`yyyy-mm-dd-hh-mm` はスナップショットが作成された日時を表します。

AWS CLI を使用してDB インスタンスに既存の自動バックアップを説明するには、次のいずれかのコマンドを使用します。

```
aws rds describe-db-instance-automated-backups --db-instance-identifier DBInstanceIdentifier
```

または

```
aws rds describe-db-instance-automated-backups --dbi-resource-id DbiResourceId
```

RDS API を使用して保持されている自動バックアップを説明するには、以下のパラメータのいずれかを指定して [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstanceAutomatedBackups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstanceAutomatedBackups.html) アクションを呼び出します。
+ `DBInstanceIdentifier`
+ `DbiResourceId`

# 自動バックアップの保持
<a name="USER_WorkingWithAutomatedBackups.Retaining"></a>

**注記**  
DB インスタンスの自動バックアップのみを保持でき、マルチ AZ DB クラスターは保持できません。

DB インスタンスを削除するときに、自動バックアップを保持することを選択できます。自動バックアップは、DB インスタンスの削除時に設定したバックアップ保持期間と同じ日数だけ保持されます。

保持されている自動バックアップには、DB インスタンスからのシステムスナップショットとトランザクションログが含まれます。割り当て済みストレージや DB インスタンスクラスなど、アクティブなインスタンスに復元するために必要な DB インスタンスプロパティも含まれます。

自動バックアップと手動スナップショットを保持すると、削除されるまで請求が発生します。詳細については、「[保持コスト](#USER_WorkingWithAutomatedBackups.RetentionCosts)」を参照してください。

Db2、MariaDB、MySQL、PostgreSQL、Oracle、および Microsoft SQL Server の各エンジンを実行している RDS インスタンスの自動バックアップを保持できます。

AWS マネジメントコンソール、RDS API、および AWS CLI を使用すると、保持されている自動バックアップを復元または削除できます。

**Topics**
+ [保持期間](#USER_WorkingWithAutomatedBackups.RetentionPeriods)
+ [保持されたバックアップの表示](#USER_WorkingWithAutomatedBackups.viewing-retained)
+ [復元](#USER_WorkingWithAutomatedBackups.Restoration)
+ [保持コスト](#USER_WorkingWithAutomatedBackups.RetentionCosts)
+ [制約事項](#USER_WorkingWithAutomatedBackups.Limits)

## 保持期間
<a name="USER_WorkingWithAutomatedBackups.RetentionPeriods"></a>

保持されている自動バックアップのシステムスナップショットやトランザクションログは、ソース DB インスタンスの期限切れと同じ方法で期限切れになります。このインスタンス用に作成された新しいスナップショットやログがないため、保持されている自動バックアップは最終的には完全に期限切れになります。実際には、ソースインスタンスを削除したときに設定されていた保持期間の設定に基づいて、最後のシステムスナップショットが実行されている間は存続します。保持されている自動バックアップは、最後のシステムスナップショットの有効期限が切れると、システムによって削除されます。

保持されている自動バックアップは、DB インスタンスを削除するのと同じ方法で削除できます。コンソールまたは RDS API オペレーション `DeleteDBInstanceAutomatedBackup` を使用すると、保持されている自動バックアップを削除できます。

最終スナップショットは、保持されている自動バックアップから独立しています。自動バックアップを保持している場合でも、保持されている自動バックアップは最終的に期限切れになるため、最終スナップショットを作成しておくことを強くお勧めします。最終スナップショットに有効期限はありません。

## 保持されたバックアップの表示
<a name="USER_WorkingWithAutomatedBackups.viewing-retained"></a>

保持されている自動バックアップを表示するには、ナビゲーションペインで [**Automated backups**] (自動バックアップ) を選択し、[**Retained**] (保持) を選択します。保持された自動バックアップに関連付けられている個々のスナップショットを表示するには、ナビゲーションペインで [**Snapshots**] (スナップショット) を選択します。または、保持されている自動バックアップに関連付けられた個別のスナップショットを記述できます。そのページで、スナップショットのいずれかから DB インスタンスを直接復元できます。

AWS CLI を使用して保持されている自動バックアップを説明するには、次のいずれかのコマンドを使用します。

```
aws rds describe-db-instance-automated-backups --dbi-resource-id DbiResourceId
```

RDS API を使用して保持されている自動バックアップを説明するには、以下のパラメータのいずれかを指定して[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstanceAutomatedBackups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstanceAutomatedBackups.html)アクション`DbiResourceId`を呼び出します。

## 復元
<a name="USER_WorkingWithAutomatedBackups.Restoration"></a>

自動バックアップから DB インスタンスを復元する方法については、「[Amazon RDS の DB インスタンスを特定の時点に復元する](USER_PIT.md)」を参照してください。

## 保持コスト
<a name="USER_WorkingWithAutomatedBackups.RetentionCosts"></a>

保持されている自動バックアップのコストは、関連付けられているシステムスナップショットの合計ストレージ容量のコストです。トランザクションログまたはインスタンスメタデータには追加料金はかかりません。バックアップのその他の料金ルールはすべて復元可能なインスタンスに適用されます。

例えば、実行中のインスタンスの割り当て済みストレージの合計が 100 GB であるとします。また、保持されている自動バックアップに関連付けられた手動スナップショットが 50 GB、システムスナップショットが 75 GB であるとします。この場合、25 GB の追加バックアップストレージについてのみ請求されます。(50 GB \$1 75 GB) - 100 GB = 25 GB。

## 制約事項
<a name="USER_WorkingWithAutomatedBackups.Limits"></a>

保持されている自動バックアップには､次の制限が適用されます｡
+ 1 つの AWS リージョンで保持できる自動バックアップの最大数は 40 個です。これは、DB インスタンスのクォータには含まれません。40 の実行 DB インスタンスと追加の 40 の自動バックアップを同時に保持できます。
+ 保持されている自動バックアップには、パラメータグループまたはオプショングループについての情報は含まれません。
+ 削除したインスタンスは、削除時の保持期間内の時点に復元できます。
+ 保持された自動バックアップは変更できません。これは、システムバックアップ、トランザクションログ、およびソースインスタンスを削除したときに存在した DB インスタンスプロパティで構成されているためです。

# 保持している自動バックアップの削除
<a name="USER_WorkingWithAutomatedBackups-Deleting"></a>

保持された自動バックアップは、不要になったら削除できます。

## コンソール
<a name="USER_WorkingWithAutomatedBackups-Deleting.CON"></a>

**保持されている自動バックアップを削除するには**

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

1. ナビゲーションペインで、[**Automated backups (自動バックアップ)**] を選択します。

1. **Retained**タブで、削除する保持された自動バックアップを選択します。

1. [**アクション**] で、[**削除**] を選択します。

1. 確認ページで、「**delete me**」を入力し、[**Delete (削除)**] を選択します。

## AWS CLI
<a name="USER_WorkingWithAutomatedBackups-Deleting.CLI"></a>

次のオプションを指定して AWS CLI コマンド [delete-db-instance-automated-backup](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance-automated-backup.html) を使用すると、保持されている自動バックアップを削除できます。
+ `--dbi-resource-id` - ソース DB インスタンスのリソース識別子です。

  AWS CLI コマンド [describe-db-instance-automated-backups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instance-automated-backups.html) を実行すると、保持された自動バックアップのソース DB インスタンスのリソース識別子を見つけることができます。

**Example**  
次の例では、ソース DB インスタンスのリソース識別子 `db-123ABCEXAMPLE` を持つ保持された自動バックアップを削除します。  
Linux、macOS、Unix の場合:  

```
1. aws rds delete-db-instance-automated-backup \
2.     --dbi-resource-id db-123ABCEXAMPLE
```
Windows の場合:  

```
1. aws rds delete-db-instance-automated-backup ^
2.     --dbi-resource-id db-123ABCEXAMPLE
```

## RDS API
<a name="USER_WorkingWithAutomatedBackups-Deleting.API"></a>

次のパラメータを指定して Amazon RDS API オペレーション [DeleteDBInstanceAutomatedBackup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstanceAutomatedBackup.html) を使用すると、保持されている自動バックアップを削除できます。
+ `DbiResourceId` - ソース DB インスタンスのリソース識別子です。

  Amazon RDS API オペレーション [DescribeDBInstanceAutomatedBackups](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstanceAutomatedBackups.html) を使用して、保持された自動バックアップのソース DB インスタンスのリソース識別子を見つけることができます。

## 自動バックアップの無効化
<a name="USER_WorkingWithAutomatedBackups.Disabling"></a>

大量のデータをロードする場合など、特定の状況では、自動バックアップを一時的に無効にすることができます。

**重要**  
自動バックアップは、無効にするとポイントインタイムリカバリも無効になるため、無効にしないことを強くお勧めします。DB インスタンスまたはマルチ AZ DB クラスターの自動バックアップを無効にすると、データベースの既存の自動バックアップがすべて削除されます。自動バックアップを無効にしてから再度有効にすると、自動バックアップを再度有効にした時点からリストアをスタートできます。

### コンソール
<a name="USER_WorkingWithAutomatedBackups.Disabling.CON"></a>

**自動バックアップをすぐに無効にするには**

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

1. ナビゲーションペインで、**[データベース]** を選択し、変更する DB インスタンスまたはマルチ AZ DB クラスターを選択します。

1. **[変更]** を選択します。

1. [**バックアップ保持期間**] で [**0 日**] を選択します。

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

1. **[すぐに適用]** を選択します。

1. **[DB インスタンスの変更]** または **[クラスターの変更]** を選択して変更を保存し、自動バックアップを無効にします。

### AWS CLI
<a name="USER_WorkingWithAutomatedBackups.Disabling.CLI"></a>

自動バックアップをすぐに無効にするには、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) または [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを使用して、バックアップ保持期間を 0 に設定し、`--apply-immediately` を指定します。

**Example**  
次の例では、マルチ AZ DB クラスターの自動バックアップをただちに無効にします。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --backup-retention-period 0 \
    --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --backup-retention-period 0 ^
    --apply-immediately
```

変更が有効になるタイミングを知るには、バックアップ保持期間の値が 0 になり、`mydbcluster` ステータスが available になるまで、DB インスタンスに対して `describe-db-instances` (マルチ AZ DB クラスターの場合は `describe-db-clusters`) を呼び出します。

```
aws rds describe-db-clusters --db-cluster-identifier mydcluster
```

### RDS API
<a name="USER_WorkingWithAutomatedBackups.Disabling.API"></a>

自動バックアップをすぐに無効にするには、以下のパラメータを指定して、[ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) または [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) オペレーションを呼び出します。
+ `DBInstanceIdentifier = mydbinstance`\$1 または `DBClusterIdentifier = mydbcluster`-
+ `BackupRetentionPeriod = 0`

**Example**  

```
https://rds.amazonaws.com/
    ?Action=ModifyDBInstance
    &DBInstanceIdentifier=mydbinstance
    &BackupRetentionPeriod=0
    &SignatureVersion=2
    &SignatureMethod=HmacSHA256
    &Timestamp=2009-10-14T17%3A48%3A21.746Z
    &AWSAccessKeyId=<&AWS; Access Key ID>
    &Signature=<Signature>
```

# サポートされない MySQL ストレージエンジンを使用した自動バックアップ
<a name="Overview.BackupDeviceRestrictions"></a>

MySQL DB エンジン、自動バックアップは InnoDB ストレージエンジンでのみサポートされています。これらの機能を他の MySQL ストレージエンジン (MyISAM など) で使用すると、バックアップからの復元中に動作の信頼性が失われる場合があります。具体的には、MyISAM などのストレージエンジンは信頼性の高いクラッシュリカバリをサポートしていないため、クラッシュ時にテーブルが破損する可能性があります。このため、InnoDB ストレージエンジンを使用することをお勧めします。
+ 既存の MyISAM テーブルを InnoDB テーブルに変換する場合は、`ALTER TABLE` コマンド (`ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;` など) を使用できます。
+ MyISAM の使用を選択した場合、`REPAIR` コマンドを使用して、クラッシュ後に破損したテーブルの修復を手動で試みることができます。詳細については、MySQL ドキュメントの「[REPAIR TABLE 構文](https://dev.mysql.com/doc/refman/8.0/en/repair-table.html)」を参照してください。ただし、MySQL ドキュメントで説明されているとおり、すべてのデータを復旧できない可能性が高くなります。
+ 復元前に MyISAM テーブルのスナップショットを作成する場合は、次のステップに従います。

  1. MyISAM テーブルに対するすべてのアクティビティを停止します (つまり、すべてのセッションを閉じます)。

     `SHOW FULL PROCESSLIST` コマンドから返される各プロセスの [mysql.rds\$1kill](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html) コマンドを呼び出すことによって、すべてのセッションを閉じます。

  1. 各 MyISAM テーブルをロックしてフラッシュします。例えば、次のコマンドは、`myisam_table1` および `myisam_table2` という名前の 2 つのテーブルをロックしてフラッシュします。

     ```
     mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
     ```

  1. DB インスタンスまたはマルチ AZ DB クラスターのスナップショットを作成します。スナップショットが完了したら、ロックを解除し、MyISAM テーブルでのアクティビティを再開します。次のコマンドを使用して、テーブルのロックを解除できます。

     ```
     mysql> UNLOCK TABLES;
     ```

  これらのステップでは、MyISAM によってメモリに保存されたデータがディスクに強制的にフラッシュされるため、DB スナップショットから復元する際のクリーンスタートを確実にできます。DB スナップショットの作成の詳細については、「[Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成](USER_CreateSnapshot.md)」を参照してください。

# サポートされない MariaDB ストレージエンジンを使用した自動バックアップ
<a name="Overview.BackupDeviceRestrictionsMariaDB"></a>

MariaDB DB エンジン、自動バックアップは InnoDB ストレージエンジンでのみサポートされています。これらの機能を他の MariaDB ストレージエンジン (Aria など) で使用すると、バックアップからの復元中に動作の信頼性が失われる場合があります。Aria が MyISAM の代替となる耐クラッシュ性を備えたものであっても、テーブルはクラッシュ時に破損する可能性があります。このため、InnoDB ストレージエンジンを使用することをお勧めします。
+ 既存の Aria テーブルを InnoDB テーブルに変換するには、`ALTER TABLE` コマンドを使用できます。例: `ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;` 
+ Aria の使用を選択した場合、`REPAIR TABLE` コマンドを使用して、クラッシュ後に破損したテーブルの修復を手動で試みることができます。詳細については、[http://mariadb.com/kb/en/mariadb/repair-table/](http://mariadb.com/kb/en/mariadb/repair-table/) を参照してください。
+ 復元前に Aria テーブルのスナップショットを作成する場合は、次のステップに従います。

  1. Aria テーブルに対するすべてのアクティビティを停止します (つまり、すべてのセッションを閉じます)。

  1. 各 Aria テーブルをロックしてフラッシュします。

  1. DB インスタンスまたはマルチ AZ DB クラスターのスナップショットを作成します。スナップショットが完了したら、ロックを解除し、Aria テーブルでのアクティビティを再開します。これらのステップでは、Aria のメモリに保存されたデータがディスクに強制的にフラッシュされるため、DB スナップショットから復元する際に確実にクリーンスタートできます。

# 別の AWS リージョン への自動バックアップのレプリケーション
<a name="USER_ReplicateBackups"></a>

ディザスタリカバリ機能を向上させるため、任意の送信先 AWS リージョン にスナップショットとトランザクションログをレプリケーションするよう Amazon RDS データベースインスタンスを設定できます。DB インスタンスにバックアップレプリケーションを設定すると、RDS は DB インスタンスで準備ができるとすぐに、すべてのスナップショットとトランザクションログのクロスリージョンコピーをスタートします。

データ転送には、DB スナップショットコピー料金が適用されます。DB スナップショットがコピーされると、コピー先リージョンのストレージにスタンダード料金が適用されます。詳細については、[RDS の料金](https://aws.amazon.com/rds/oracle/pricing/)を参照してください。

バックアップレプリケーションの使用例については、AWS オンラインテクニカルトークの「[Managed Disaster Recovery with Amazon RDS for Oracle Cross-Region Automated Backups](https://pages.awscloud.com/Managed-Disaster-Recovery-with-Amazon-RDS-for-Oracle-Cross-Region-Automated-Backups_2021_0908-DAT_OD.html)」を参照してください。

**注記**  
自動バックアップレプリケーションは、マルチ AZ DB クラスターではサポートされていません。ただし、マルチ AZ DB インスタンスのデプロイではサポートされています。自動バックアップの制限の詳細については、「[Amazon RDS のクォータと制約](CHAP_Limits.md)」を参照してください。

Amazon RDS の自動バックアップの設定と管理の詳細については、以下のトピックを参照してください。

**トピック**
+ [Amazon RDS のクロスリージョン自動バックアップの有効化](AutomatedBackups.Replicating.Enable.md)
+ [Amazon RDS のレプリケートされたバックアップに関する情報の検索](AutomatedBackups.Replicating.Describe.md)
+ [Amazon RDS のレプリケートされたバックアップから指定された時刻への復元](AutomatedBackups.PiTR.md)
+ [Amazon RDS の自動バックアップレプリケーションの停止](AutomatedBackups.StopReplicating.md)
+ [Amazon RDS のレプリケートされたバックアップの削除](AutomatedBackups.Delete.md)
+ [停止したクロスリージョン自動バックアップのトラブルシューティング](AutomatedXREGBackups.Troubleshooting.md)

## マルチ AZ 配置のサポート
<a name="USER_ReplicateBackups.Multi-AZ-deployments"></a>

クロスリージョンの自動バックアップレプリケーションは、以下のエンジンのマルチ AZ DB インスタンスデプロイでサポートされています。
+ RDS for Db2
+ RDS for MariaDB
+ RDS for MySQL
+ RDS for Oracle
+ RDS for PostgreSQL
+ RDS for SQL Server

クロスリージョンの自動バックアップレプリケーションは、マルチ AZ DB クラスターではサポートされていません。

## 利用可能なリージョンとバージョン
<a name="USER_ReplicateBackups.RegionVersionAvailability"></a>

機能の可用性とサポートは、各データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。クロスリージョン自動バックアップによるバージョンとリージョンの可用性の詳細については、「[Amazon RDS でのクロスリージョン自動バックアップでサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.CrossRegionAutomatedBackups.md)」を参照してください。

## 送信元と送信先 AWS リージョン サポート
<a name="USER_ReplicateBackups.Regions"></a>

バックアップレプリケーションは、次の AWS リージョン 間でサポートされます。


****  

| 送信元リージョン | 利用可能な送信先リージョン | 
| --- | --- | 
| アフリカ (ケープタウン) |  欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)  | 
| アジアパシフィック (香港) | アジアパシフィック (シンガポール)、アジアパシフィック (東京) | 
| アジアパシフィック (ハイデラバード) | アジアパシフィック (ムンバイ) | 
| アジアパシフィック (ジャカルタ) | アジアパシフィック (マレーシア)、アジアパシフィック (シンガポール) | 
| アジアパシフィック (メルボルン) | アジアパシフィック (シドニー) | 
| アジアパシフィック (マレーシア) | アジアパシフィック (シンガポール) | 
| アジアパシフィック (ムンバイ) |  アジアパシフィック (ハイデラバード)、アジアパシフィック (シンガポール) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| アジアパシフィック (大阪) | アジアパシフィック (東京) | 
| アジアパシフィック (ソウル) |  アジアパシフィック (シンガポール)、アジアパシフィック (東京) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| アジアパシフィック (シンガポール) |  アジアパシフィック (香港)、アジアパシフィック (マレーシア)、アジアパシフィック (ムンバイ)、アジアパシフィック (ソウル)、アジアパシフィック (シドニー)、アジアパシフィック (東京) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| アジアパシフィック (シドニー) |  アジアパシフィック (メルボルン)、アジアパシフィック (シンガポール) 米国東部 (バージニア北部)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)  | 
| アジアパシフィック (東京) |  アジアパシフィック (香港)、アジアパシフィック (大阪)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| カナダ (中部) |  カナダ西部 (カルガリー) 欧州 (アイルランド) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)  | 
| カナダ西部 (カルガリー) | カナダ (中部) | 
| 中国 (北京) | 中国 (寧夏) | 
| 中国 (寧夏) | 中国 (北京) | 
| 欧州 (フランクフルト) |  アフリカ (ケープタウン) 欧州 (アイルランド)、欧州 (ロンドン)、欧州 (パリ)、欧州 (ストックホルム)、欧州 (チューリッヒ) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| 欧州 (アイルランド) |  アフリカ (ケープタウン) カナダ (中部) 欧州 (フランクフルト)、欧州 (ロンドン)、欧州 (パリ)、欧州 (ストックホルム)、欧州 (チューリッヒ) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)  | 
| 欧州 (ロンドン) |  アフリカ (ケープタウン) 欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (パリ)、欧州 (ストックホルム) 米国東部 (バージニア北部)  | 
| 欧州 (ミラノ) |  欧州 (フランクフルト)  | 
| 欧州 (パリ) |  欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (ストックホルム) 米国東部 (バージニア北部)  | 
| 欧州 (スペイン) |  欧州 (アイルランド)、欧州 (パリ)  | 
| 欧州 (ストックホルム) |  欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (パリ) 米国東部 (バージニア北部)  | 
| 欧州 (チューリッヒ) | 欧州 (フランクフルト)、欧州 (アイルランド) | 
| イスラエル (テルアビブ) | 欧州 (アイルランド) | 
| 中東 (アラブ首長国連邦) | 欧州 (フランクフルト) | 
| 南米 (サンパウロ) | 米国東部 (バージニア北部)、米国東部 (オハイオ) | 
| AWS GovCloud (米国東部) | AWS GovCloud (米国西部) | 
| AWS GovCloud (米国西部) | AWS GovCloud (米国東部) | 
| 米国東部 (バージニア北部) |  アジアパシフィック (ムンバイ)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京) カナダ (中部) 欧州 (フランクフルト)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (パリ)、欧州 (ストックホルム) 南米 (サンパウロ) 米国東部 (オハイオ)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)  | 
| 米国東部 (オハイオ) |  アジアパシフィック (ムンバイ)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (東京) カナダ (中部) 欧州 (フランクフルト)、欧州 (アイルランド) 南米 (サンパウロ) 米国東部 (バージニア北部)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)  | 
| 米国西部 (北カリフォルニア) |  アジアパシフィック (シドニー) カナダ (中部) 欧州 (アイルランド) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)  | 
| 米国西部 (オレゴン) |  アジアパシフィック (ムンバイ)、アジアパシフィック (ソウル)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京) カナダ (中部) 欧州 (フランクフルト)、欧州 (アイルランド) 米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)  | 

また、`describe-source-regions` AWS CLI コマンドを使用して、相互にレプリケートできる AWS リージョン を調べることもできます。詳細については、「[Amazon RDS のレプリケートされたバックアップに関する情報の検索](AutomatedBackups.Replicating.Describe.md)」を参照してください。

## 制限事項
<a name="USER_ReplicateBackups.Limitations"></a>

Amazon RDS のクロスリージョン自動バックアップの制限は次のとおりです。
+ 自動バックアップレプリケーションは、マルチ AZ DB クラスターではサポートされていません。
+ デフォルトでは、AWS アカウントごとに最大 20 個のクロスリージョン自動バックアップを設定できます。

# Amazon RDS のクロスリージョン自動バックアップの有効化
<a name="AutomatedBackups.Replicating.Enable"></a>

Amazon RDS コンソールを使用して、新規または既存の DB インスタンスでバックアップレプリケーションを有効にできます。`start-db-instance-automated-backups-replication` AWS CLI コマンドまたは `StartDBInstanceAutomatedBackupsReplication` RDS API オペレーションを使用することもできます。各 AWS アカウント の各送信先 AWS リージョン に最大 20 のバックアップを複製できます。

**注記**  
自動バックアップをレプリケーションするには、必ず有効にしてください。詳しくは、「[自動バックアップの有効化](USER_WorkingWithAutomatedBackups.Enabling.md)」を参照してください。

## コンソール
<a name="AutomatedBackups.Replicating.Enable.Console"></a>

新規または既存の DB インスタンスのバックアップレプリケーションを有効にできます。
+ 新しい DB インスタンスの場合、インスタンスを起動する時に有効にします。詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。
+ 既存の DB インスタンスの場合、以下の手順に従います。

**既存の DB インスタンスのバックアップレプリケーションを有効にするには**

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

1. ナビゲーションペインで、[**Automated backups (自動バックアップ)**] を選択します。

1. [**現在のリージョン**] タブで、バックアップレプリケーションを有効にする DB インスタンスを選択します。

1. [**アクション**] で、[**クロスリージョンレプリケーションの管理 **] を選択します。

1. **[Backup replication]** (バックアップレプリケーション) で、**[Enable replication to another AWS リージョン]** (別の へのレプリケーションを有効にする) を選択します。

1. [**送信先リージョン**] を選択します。

1. [**レプリケーションされたバックアップの保持期間**] を選択します。

1. ソース DB インスタンスで暗号化を有効にしている場合は、バックアップを暗号化するための [**AWS KMS key**] を選択するか、キー ARN を入力します。

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

ソースリージョンでは、レプリケーションされたバックアップは [**自動バックアップ**] ページの [**現在のリージョン**] タブに表示されます。送信先リージョンでは、レプリケーションされたバックアップは [**自動バックアップ**] ページの [**レプリケーションされたバックアップ**] タブに一覧表示されます。

## AWS CLI
<a name="AutomatedBackups.Replicating.Enable.CLI"></a>

AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/start-db-instance-automated-backups-replication.html](https://docs.aws.amazon.com/cli/latest/reference/rds/start-db-instance-automated-backups-replication.html) コマンドを使用して、バックアップレプリケーションを有効にします。

次の CLI の例では、米国西部 (オレゴン) リージョン の DB インスタンスから 米国東部 (バージニア北部) リージョン への自動バックアップをレプリケーションします。また、送信先リージョンの AWS KMS key を使用して、レプリケートされたバックアップも暗号化されます。

**バックアップレプリケーションを有効にするには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds start-db-instance-automated-backups-replication \
  --region us-east-1 \
  --source-db-instance-arn "arn:aws:rds:us-west-2:123456789012:db:mydatabase" \
  --kms-key-id "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE" \
  --backup-retention-period 7
  ```

  Windows の場合:

  ```
  aws rds start-db-instance-automated-backups-replication ^
  --region us-east-1 ^
  --source-db-instance-arn "arn:aws:rds:us-west-2:123456789012:db:mydatabase" ^
  --kms-key-id "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE" ^
  --backup-retention-period 7
  ```

  `--source-region` オプションは、AWS GovCloud (米国東部) と AWS GovCloud (米国西部) リージョン間でバックアップを暗号化する場合に必要です。`--source-region` には、ソース DB インスタンスの AWS リージョン を指定します。

  `--source-region` を指定しない場合、必ず `--pre-signed-url` の値を指定する必要があります。署名付きの URL は、ソースの AWS リージョン で呼び出される `start-db-instance-automated-backups-replication` コマンドに対する、署名バージョン 4 で署名されたリクエストを含む URL です。`pre-signed-url` オプションの詳細は、*AWS CLI コマンドリファレンス*の「[start-db-instance-automated-backups](https://docs.aws.amazon.com/cli/latest/reference/rds/start-db-instance-automated-backups-replication.html)」を参照してください。

## RDS API
<a name="AutomatedBackups.Replicating.Enable.API"></a>

次のパラメータで [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) RDS API オペレーションを使用して、バックアップレプリケーションを有効にします。
+ `Region` (送信先リージョンから API オペレーションを呼び出さない場合)
+ `SourceDBInstanceArn`
+ `BackupRetentionPeriod`
+ `KmsKeyId` (省略可能)
+ `PreSignedUrl` ( を使用する場合は必須)`KmsKeyId`

**注記**  
バックアップを暗号化する場合は、署名付き URL も含める必要があります。署名付き URL の詳細については、*Amazon Simple Storage Service API リファレンス*の「[リクエストの認証: クエリパラメータの使用 (AWS 署名バージョン 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)」および *AWS 全般のリファレンス*の「[署名バージョン 4 署名プロセス](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)」を参照してください。

# Amazon RDS のレプリケートされたバックアップに関する情報の検索
<a name="AutomatedBackups.Replicating.Describe"></a>

レプリケーションされたバックアップに関する情報を検索するには、次の CLI コマンドを使用します。
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-source-regions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-source-regions.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instance-automated-backups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instance-automated-backups.html)

次の `describe-source-regions` の例では、送信先の 米国西部 (オレゴン) リージョンに自動バックアップをレプリケーションできるソースの AWS リージョン が示されています。

**ソースリージョンに関する情報を表示するには**
+ 次のコマンドを実行します。

  ```
  aws rds describe-source-regions --region us-west-2
  ```

出力は、バックアップの 米国西部 (オレゴン) へのレプリケーションは US East (N. Virginia) からはできるが 米国東部 (オハイオ) または 米国西部 (北カリフォルニア) からはできないことを示しています。

```
{
    "SourceRegions": [
        ...
        {
            "RegionName": "us-east-1",
            "Endpoint": "https://rds.us-east-1.amazonaws.com",
            "Status": "available",
            "SupportsDBInstanceAutomatedBackupsReplication": true
        },
        {
            "RegionName": "us-east-2",
            "Endpoint": "https://rds.us-east-2.amazonaws.com",
            "Status": "available",
            "SupportsDBInstanceAutomatedBackupsReplication": false
        },
            "RegionName": "us-west-1",
            "Endpoint": "https://rds.us-west-1.amazonaws.com",
            "Status": "available",
            "SupportsDBInstanceAutomatedBackupsReplication": false
        }
    ]
}
```

次の `describe-db-instances` の例では、DB インスタンスの自動バックアップを示しています。

**DB インスタンスのレプリケーションされたバックアップを表示するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds describe-db-instances \
  --db-instance-identifier mydatabase
  ```

  Windows の場合:

  ```
  aws rds describe-db-instances ^
  --db-instance-identifier mydatabase
  ```

出力は、レプリケーションされたバックアップを含みます。

```
{
    "DBInstances": [
        {
            "StorageEncrypted": false,
            "Endpoint": {
                "HostedZoneId": "Z1PVIF0B656C1W",
                "Port": 1521,
            ...

            "BackupRetentionPeriod": 7,
            "DBInstanceAutomatedBackupsReplications": [{"DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"}]
        }
    ]
}
```

次の `describe-db-instance-automated-backups` の例では、DB インスタンスの自動バックアップを示しています。

**DB インスタンスの自動バックアップを表示するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds describe-db-instance-automated-backups \
  --db-instance-identifier mydatabase
  ```

  Windows の場合:

  ```
  aws rds describe-db-instance-automated-backups ^
  --db-instance-identifier mydatabase
  ```

出力は、バックアップが US East (N. Virginia) にレプリケーションされた 米国西部 (オレゴン) のソース DB インスタンスと自動バックアップを表示します。

```
{
    "DBInstanceAutomatedBackups": [
        {
            "DBInstanceArn": "arn:aws:rds:us-west-2:868710585169:db:mydatabase",
            "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE",
            "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE",
            "BackupRetentionPeriod": 7,
            "DBInstanceAutomatedBackupsReplications": [{"DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"}]
            "Region": "us-west-2",
            "DBInstanceIdentifier": "mydatabase",
            "RestoreWindow": {
                "EarliestTime": "2020-10-26T01:09:07Z",
                "LatestTime": "2020-10-31T19:09:53Z",
            }
            ...
        }
    ]
}
```

次の `describe-db-instance-automated-backups` の例では、`--db-instance-automated-backups-arn` オプションを使用して、送信先リージョンでレプリケーションされたバックアップを表示します。

**レプリケーションされたバックアップを表示するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds describe-db-instance-automated-backups \
  --db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"
  ```

  Windows の場合:

  ```
  aws rds describe-db-instance-automated-backups ^
  --db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"
  ```

出力は、バックアップが US East (N. Virginia) でレプリケーションされた 米国西部 (オレゴン) のソース DB インスタンスを表示します。

```
{
    "DBInstanceAutomatedBackups": [
        {
            "DBInstanceArn": "arn:aws:rds:us-west-2:868710585169:db:mydatabase",
            "DbiResourceId": "db-L2IJCEXJP7XQ7HOJ4SIEXAMPLE",
            "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE",
            "Region": "us-west-2",
            "DBInstanceIdentifier": "mydatabase",
            "RestoreWindow": {
                "EarliestTime": "2020-10-26T01:09:07Z",
                "LatestTime": "2020-10-31T19:01:23Z"
            },
            "AllocatedStorage": 50,
            "BackupRetentionPeriod": 7,
            "Status": "replicating",
            "Port": 1521,
            ...
        }
    ]
}
```

# Amazon RDS のレプリケートされたバックアップから指定された時刻への復元
<a name="AutomatedBackups.PiTR"></a>

Amazon RDS コンソールを使用して、レプリケーションされたバックアップから、特定の時点にDB インスタンスを復元できます。`restore-db-instance-to-point-in-time` AWS CLI コマンドまたは `RestoreDBInstanceToPointInTime` RDS API オペレーションを使用することもできます。

ポイントインタイムリカバリ (PITR) の一般情報については、「[Amazon RDS の DB インスタンスを特定の時点に復元する](USER_PIT.md)」を参照してください。

**注記**  
自動バックアップが AWS リージョン間でレプリケートされる場合、次の DB エンジンの制限に注意してください。  
RDS for SQL Server では、オプショングループはコピーされません。
RDS for Oracle では、`NATIVE_NETWORK_ENCRYPTION`、`OEM`、`OEM_AGENT` および `SSL` のオプションはコピーされません。
カスタムオプショングループを DB インスタンスに関連付けた場合、そのオプショングループを送信先リージョンで再作成できます。その後、送信先リージョンで DB インスタンスを復元し、カスタムオプショングループを関連付けます。詳しくは、「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。

## コンソール
<a name="AutomatedBackups.PiTR.Console"></a>

**レプリケーションされたバックアップから指定された時刻に DB インスタンスを復元するには**

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

1. リージョンの選択から、(バックアップがレプリケーションされる) 送信先リージョンを選択します。

1. ナビゲーションペインで、[**Automated backups (自動バックアップ)**] を選択します。

1. [**レプリケーションされたバックアップ**] タブで、復元する DB インスタンスを選択します。

1. [**アクション**] で、[**特定時点への復元**] を選択します。

1. [**Latest restorable time**] を選択してできるだけ最新の時点に復元するか、[**Custom**] を選択して時刻を選択します。

   [**Custom (カスタム)**] を選択した場合、インスタンスを復元する日時を入力します。
**注記**  
時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

1. [**DB インスタンス識別子**] に、ターゲットが復元された DB インスタンスの名前を入力します。

1. (オプション) 必要に応じて、オートスケーリングを有効にするなど、その他のオプションを選択します。

1. [**Restore to point in time (特定時点への復元)**] を選択します。

## AWS CLI
<a name="AutomatedBackups.PiTR.CLI"></a>

[https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) AWS CLI コマンドを使用して、DB インスタンスを作成します。

**レプリケーションされたバックアップから指定された時刻に DB インスタンスを復元するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  1. aws rds restore-db-instance-to-point-in-time \
  2.     --source-db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE" \
  3.     --target-db-instance-identifier mytargetdbinstance \
  4.     --restore-time 2020-10-14T23:45:00.000Z
  ```

  Windows の場合:

  ```
  1. aws rds restore-db-instance-to-point-in-time ^
  2.     --source-db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE" ^
  3.     --target-db-instance-identifier mytargetdbinstance ^
  4.     --restore-time 2020-10-14T23:45:00.000Z
  ```

## RDS API
<a name="AutomatedBackups.PiTR.API"></a>

DB インスタンスを指定された時刻に復元するには、以下のパラメータを指定して [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) Amazon RDS API オペレーションを呼び出します。
+ `SourceDBInstanceAutomatedBackupsArn`
+ `TargetDBInstanceIdentifier`
+ `RestoreTime`

# Amazon RDS の自動バックアップレプリケーションの停止
<a name="AutomatedBackups.StopReplicating"></a>

Amazon RDSコンソールを使用して、DB インスタンスのバックアップレプリケーションを停止できます。`stop-db-instance-automated-backups-replication` AWS CLI コマンドまたは `StopDBInstanceAutomatedBackupsReplication` RDS API オペレーションを使用することもできます。

レプリケーションされたバックアップは、作成時に設定したバックアップの保持期間に従って保持されます。

## コンソール
<a name="AutomatedBackups.StopReplicating.Console"></a>

ソースリージョンの [**自動バックアップ**] ページからバックアップレプリケーションを停止します。

**AWS リージョン へのバックアップレプリケーションを停止するには**

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

1. **リージョンの選択**からソースリージョンを選択します。

1. ナビゲーションペインで、[**Automated backups (自動バックアップ)**] を選択します。

1. [**現在のリージョン**] タブで、バックアップレプリケーションを停止する DB インスタンスを選択します。

1. [**アクション**] で、[**クロスリージョンレプリケーションの管理 **] を選択します。

1. **[Backup replication]** (バックアップレプリケーション) で、**[Enable replication to another AWS リージョン]** (別の へのレプリケーションを有効にする) チェックボックスをオフにします。

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

レプリケーションされたバックアップは、送信先リージョンの [**自動バックアップ**] ページの [**保持**] タブに一覧表示されます。

## AWS CLI
<a name="AutomatedBackups.StopReplicating.CLI"></a>

[https://docs.aws.amazon.com/cli/latest/reference/rds/stop-db-instance-automated-backups-replication.html](https://docs.aws.amazon.com/cli/latest/reference/rds/stop-db-instance-automated-backups-replication.html) AWS CLIコマンドを使用して、バックアップレプリケーションを停止します。

次の CLI の例では、DB インスタンスの自動バックアップを 米国西部 (オレゴン) リージョンでレプリケーションするのを停止します。

**バックアップレプリケーションを停止するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds stop-db-instance-automated-backups-replication \
  --region us-east-1 \
  --source-db-instance-arn "arn:aws:rds:us-west-2:123456789012:db:mydatabase"
  ```

  Windows の場合:

  ```
  aws rds stop-db-instance-automated-backups-replication ^
  --region us-east-1 ^
  --source-db-instance-arn "arn:aws:rds:us-west-2:123456789012:db:mydatabase"
  ```

## RDS API
<a name="AutomatedBackups.StopReplicating.API"></a>

次のパラメータを指定して [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopDBInstanceAutomatedBackupsReplication.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopDBInstanceAutomatedBackupsReplication.html) RDS API オペレーションを使用して、バックアップレプリケーションを停止します。
+ `Region`
+ `SourceDBInstanceArn`

# Amazon RDS のレプリケートされたバックアップの削除
<a name="AutomatedBackups.Delete"></a>

Amazon RDS コンソールを使用して、DB インスタンスのレプリケーションされたバックアップを削除できます。`delete-db-instance-automated-backups` AWS CLI コマンドまたは `DeleteDBInstanceAutomatedBackup` RDS API オペレーションを使用することもできます。

## コンソール
<a name="AutomatedBackups.Delete.Console"></a>

[**自動バックアップ**] ページから、送信先リージョンでレプリケーションされたバックアップを削除します。

**レプリケーションされたバックアップを削除するには**

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

1. **リージョンの選択**から送信先リージョンを選択します。

1. ナビゲーションペインで、[**Automated backups (自動バックアップ)**] を選択します。

1. [**レプリケーションされたバックアップ**] タブで、レプリケーションされたバックアップを削除する DB インスタンスを選択します。

1. [**アクション**] で、[**削除**] を選択します。

1. 確認ページで、「**delete me**」を入力し、[**Delete (削除)**] を選択します。

## AWS CLI
<a name="AutomatedBackups.Delete.CLI"></a>

[https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance-automated-backup.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance-automated-backup.html) AWS CLI コマンドを使用して、レプリケーションされたバックアップを削除します。

[https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) CLI コマンドを使用して、レプリケーションされたバックアップの Amazon リソースネーム (ARN) を検索できます。詳細については、「[Amazon RDS のレプリケートされたバックアップに関する情報の検索](AutomatedBackups.Replicating.Describe.md)」を参照してください。

**レプリケーションされたバックアップを削除するには**
+ 以下のいずれかのコマンドを実行します。

  Linux、macOS、Unix の場合:

  ```
  aws rds delete-db-instance-automated-backup \
  --db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"
  ```

  Windows の場合:

  ```
  aws rds delete-db-instance-automated-backup ^
  --db-instance-automated-backups-arn "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE"
  ```

## RDS API
<a name="AutomatedBackups.Delete.API"></a>

`DeleteDBInstanceAutomatedBackup` パラメータを指定して [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstanceAutomatedBackup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstanceAutomatedBackup.html) RDS API オペレーションを使用して、レプリケーションされたバックアップを削除します。

# 停止したクロスリージョン自動バックアップのトラブルシューティング
<a name="AutomatedXREGBackups.Troubleshooting"></a>

 Amazon RDS は、特定の状況下でクロスリージョン自動バックアップレプリケーションを自動的に停止して、データを保護し、AWS 運用要件への準拠を維持します。

## アカウントの停止
<a name="AutomatedXREGBackups.Troubleshooting.AccountSuspension"></a>

AWS アカウントが停止されている場合、Amazon RDS はそのアカウント内のすべての DB インスタンスのクロスリージョン自動バックアップレプリケーションを自動的に停止します。レプリケート先の AWS リージョンに存在するレプリケートされたバックアップは、指定した保持期間まで保持されます。

アカウントの停止が解決されたら、クロスリージョン自動バックアップレプリケーションを手動で再度有効にして、レプリケート先の AWS リージョンへのバックアップのレプリケーションを再開する必要があります。

## オプトインリージョンの変更
<a name="AutomatedXREGBackups.Troubleshooting.OptInRegion"></a>

クロスリージョン自動バックアップレプリケーションは、ソース AWS リージョン (プライマリ DB インスタンスがある場所) または宛先 AWS リージョン (バックアップがレプリケートされる場所) のいずれかをオプトアウトすると、自動的に停止します。オプトインリージョンの詳細については、「[AWS リージョンの管理](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)」を参照してください。

レプリケート先の AWS リージョンに存在するレプリケートされたバックアップは、指定した保持期間まで保持されます。レプリケーションを再開するには、必要な AWS リージョンにオプトバックし直し、手動でクロスリージョン自動バックアップレプリケーションを再度有効にします。

## AWS KMS キーの問題
<a name="AutomatedXREGBackups.Troubleshooting.KMSKey"></a>

暗号化された DB インスタンスの場合、Amazon RDS はバックアップをレプリケートするためにソースと宛先 AWS リージョンの両方の AWS KMS キーにアクセスする必要があります。いずれかの AWS リージョン で AWS KMS キーを無効化または削除すると、クロスリージョン自動バックアップレプリケーションは自動的に停止します。レプリケート先の AWS リージョンに存在するレプリケートされたバックアップは、指定した保持期間まで保持されます。

クロスリージョン自動バックアップレプリケーションを再開するには

1. 無効化されている AWS KMS キーを再度有効にするか、元のキーが削除された場合は新しい AWS KMS キーを作成します。

1. 新しい AWS KMS キーを使用する場合、前のキーで暗号化された送信先 AWS リージョンの既存のレプリケートされたバックアップを削除します。

1. インスタンスのクロスリージョン自動バックアップレプリケーションを再度有効にする

AWS KMS キーの詳細については、「[AWS Key Management Service のドキュメント](https://docs.aws.amazon.com/kms/latest/developerguide/)」を参照してください。

**注記**  
前の AWS KMS キーが再度有効になっていない限り、送信先の AWS リージョンで以前にレプリケートされたバックアップから復元することはできません。バックアップは暗号化されたままで、有効な AWS KMS キーなしでアクセスできません。

## バックアップレプリケーションステータスのモニタリング
<a name="AutomatedXREGBackups.Troubleshooting.Monitoring"></a>

Amazon RDS コンソール、AWS CLI、または RDS API を使用して、クロスリージョン自動バックアップのステータスをモニタリングできます。詳細については、「[Amazon RDS のレプリケートされたバックアップに関する情報の検索](AutomatedBackups.Replicating.Describe.md)」を参照してください。

# 手動バックアップの管理
<a name="USER_ManagingManualBackups"></a>

このセクションでは、DB インスタンスと DB クラスターの手動バックアップを管理する方法について説明します。

Single-AZ DB インスタンスの DB スナップショットの作成について詳しくは、「[Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成](USER_CreateSnapshot.md)」を参照してください。

マルチ AZ DB クラスターの DB スナップショットの作成については、「[Amazon RDS のマルチ AZ DB クラスターのスナップショットの作成](USER_CreateMultiAZDBClusterSnapshot.md)」を参照してください。

DB スナップショットの削除については、「[Amazon RDS の DB スナップショットの削除](USER_DeleteSnapshot.md)」を参照してください。

# Amazon RDS のシングル AZ DB インスタンスの DB スナップショットの作成
<a name="USER_CreateSnapshot"></a>

Amazon RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB インスタンス全体をバックアップします。Single-AZ DB インスタンスでこの DB スナップショットを作成すると、I/O が短時間中断します。この時間は、DB インスタンスのサイズやクラスによって異なり、数秒から数分になります。MariaDB、MySQL、Oracle、PostgreSQL の場合、バックアップはスタンバイから取得されるため、マルチ AZ 配置のバックアップ中プライマリで I/O アクティビティは中断しません。SQL Server の場合、マルチ AZ 配置のバックアップ中 I/O アクティビティが一時中断します。

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

**注記**  
DB スナップショットを行うには、DB インスタンスが `available` 状態になっている必要があります。  
PostgreSQL DB インスタンスの場合、ログに記録されていないテーブルのデータはスナップショットから復元されないことがあります。詳細については、「[PostgreSQL を使用するためのベストプラクティス](CHAP_BestPractices.md#CHAP_BestPractices.PostgreSQL)」を参照してください。

自動バックアップとは異なり、手動スナップショットはバックアップ保持期間の影響を受けません。スナップショットは期限切れになりません。

MariaDB、MySQL、および PostgreSQL データの非常に長期間のバックアップの場合、スナップショットデータを Amazon S3 にエクスポートすることをお勧めします。DB エンジンのメジャーバージョンがサポートされなくなった場合、スナップショットからそのバージョンに復元することはできません。詳細については、「[Amazon RDS の Amazon S3 への DB スナップショットデータのエクスポート](USER_ExportSnapshot.md)」を参照してください。

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

## コンソール
<a name="USER_CreateSnapshot.CON"></a>

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

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

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

   **手動スナップショット**リストが表示されます。

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

   **[Take DB snapshot]** (DB スナップショットの取得) ウィンドウが表示されます。  
![\[スナップショットを取得します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/take_db_snapshot.png)

1. **[DB インスタンス]** のリストで、スナップショットを取得する DB インスタンスを選択します。

1. **[スナップショット名]** を入力します。

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

**[スナップショット]** ページが表示され、新しい DB スナップショットのステータスが「`Creating`」として表示されます。ステータスが `Available` になると、その作成時間が表示されます。

## AWS CLI
<a name="USER_CreateSnapshot.CLI"></a>

AWS CLI を使用して DB スナップショットを作成したら、バックアップする DB インスタンスを識別した後、DB スナップショットに名前を付けて後で復元できるようにする必要があります。そのためには、以下のパラメータを指定して AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) コマンドを使用します。
+ `--db-instance-identifier`
+ `--db-snapshot-identifier`

この例では、*mydbinstance* という DB インスタンスに *mydbsnapshot* という DB スナップショットを作成します。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier mydbinstance \
3.     --db-snapshot-identifier mydbsnapshot
```
Windows の場合:  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier mydbinstance ^
3.     --db-snapshot-identifier mydbsnapshot
```

## RDS API
<a name="USER_CreateSnapshot.API"></a>

Amazon RDS API を使用して DB スナップショットを作成したら、バックアップする DB インスタンスを識別した後、DB スナップショットに名前を付けて後で復元できるようにする必要があります。そのためには、以下のパラメータを指定して Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html) コマンドを使用します。
+ `DBInstanceIdentifier`
+ `DBSnapshotIdentifier`

# Amazon RDS のマルチ AZ DB クラスターのスナップショットの作成
<a name="USER_CreateMultiAZDBClusterSnapshot"></a>

マルチ AZ DB クラスタースナップショットを作成したら、バックアップするマルチ AZ DB クラスターを特定してから、DB クラスタースナップショットに名前を付けて後で復元できるようにする必要があります。マルチ AZ DB クラスターのスナップを共有することもできます。手順については、[Amazon RDS の DB スナップショットを共有する](USER_ShareSnapshot.md) を参照してください。

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

非常に長期間のバックアップの場合、スナップショットデータを Amazon S3 にエクスポートすることをお勧めします。DB エンジンのメジャーバージョンがサポートされなくなった場合、スナップショットからそのバージョンに復元することはできません。詳細については、「[Amazon RDS の Amazon S3 への DB スナップショットデータのエクスポート](USER_ExportSnapshot.md)」を参照してください。

## コンソール
<a name="USER_CreateMultiAZDBClusterSnapshot.CON"></a>

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

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

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

1. リストで、スナップショットを作成したいマルチ AZ DB クラスターを選択します。

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

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

1. **[スナップショット名]** に、スナップショットの名前を入力します。

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

**スナップショット**ページが表示され、新しい マルチ AZ DB スナップショットのステータスが`Creating`として表示されます。ステータスが `Available` になると、その作成時間が表示されます。

## AWS CLI
<a name="USER_CreateMultiAZDBClusterSnapshot.CLI"></a>

次のオプションを指定してAWS CLI[create-db-cluster-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-snapshot.html)コマンドを使用すると、マルチ AZ DB クラスタースナップショットを作成できます。
+ `--db-cluster-identifier`
+ `--db-cluster-snapshot-identifier`

この例では、*`mymultiazdbcluster`* という DB クラスターの *`mymultiazdbclustersnapshot`* というマルチ AZ DB クラスタースナップショットを作成します。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds create-db-cluster-snapshot \
2.     --db-cluster-identifier mymultiazdbcluster \
3.     --db-cluster-snapshot-identifier mymultiazdbclustersnapshot
```
Windows の場合:  

```
1. aws rds create-db-cluster-snapshot ^
2.     --db-cluster-identifier mymultiazdbcluster ^
3.     --db-cluster snapshot-identifier mymultiazdbclustersnapshot
```

## RDS API
<a name="USER_CreateMultiAZDBClusterSnapshot.API"></a>

次のパラメータを指定して Amazon RDS API [CreateDBClusterSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterSnapshot.html)オペレーションを使用すると、マルチ AZ DB クラスタースナップショットを作成できます。
+ `DBClusterIdentifier`
+ `DBClusterSnapshotIdentifier`

## マルチ AZ DB クラスターのスナップショットの削除
<a name="USER_DeleteMultiAZDBClusterSnapshot"></a>

Amazon RDS によって管理されているマルチ AZ DB のスナップショットは、不要になったら削除できます。手順については、[Amazon RDS の DB スナップショットの削除](USER_DeleteSnapshot.md) を参照してください。

# Amazon RDS の DB スナップショットの削除
<a name="USER_DeleteSnapshot"></a>

Amazon RDS で管理されている DB のスナップショットは、不要になったら削除することができます。

**注記**  
AWS Backup で管理されているバックアップを削除するには、AWS Backup コンソールを使用します。AWS Backup の詳細については、「[https://docs.aws.amazon.com/aws-backup/latest/devguide](https://docs.aws.amazon.com/aws-backup/latest/devguide)」を参照してください。

## DB スナップショットの削除
<a name="USER_DeleteRDSSnapshot"></a>

手動、共有、またはパブリックの DB スナップショットを削除するには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用します。

共有またはパブリックのスナップショットを削除するには、そのスナップショットを所有する AWS アカウントにサインインする必要があります。

DB インスタンスを削除せずに削除する自動 DB スナップショットがある場合は、DB インスタンスのバックアップ保持期間を 0 に変更します。自動スナップショットは、変更適用時に削除されます。次回メンテナンス期間まで待機せずに、即時に変更を適用することもできます。変更が完了したら、バックアップ保持期間を 0 を超える値に設定することで、自動バックアップを再度有効にすることができます。DB インスタンスの変更については、[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)を参照してください。

自動バックアップと手動スナップショットを保持すると、削除されるまで請求が発生します。詳細については、「[保持コスト](USER_WorkingWithAutomatedBackups.Retaining.md#USER_WorkingWithAutomatedBackups.RetentionCosts)」を参照してください。

DB インスタンスを削除したら、その DB インスタンスの自動バックアップを削除することで、自動 DB スナップショットを削除することができます。自動バックアップの詳細については、「[バックアップの概要](USER_WorkingWithAutomatedBackups.md)」を参照してください。

### コンソール
<a name="USER_DeleteSnapshot.CON"></a>

**DB スナップショットを削除するには**

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

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

   **手動スナップショット**リストが表示されます。

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

1. 「**アクション**」 で、「**スナップショットの削除**」 を選択します。  
![\[スナップショットを削除する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/delete-snapshot.png)

1. 確認ページで、「**削除**」 を選択します。  
![\[スナップショットの削除を確認\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/delete-snapshot-confirm.png)

### AWS CLI
<a name="USER_DeleteSnapshot.CLI"></a>

DB スナップショットを削除するには、AWS CLI の [delete-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-snapshot.html) コマンドを使用します。

DB スナップショットを削除するには、以下のオプションを使用します。
+ `--db-snapshot-identifier` - DB スナップショットの識別子。

**Example**  
次のコードは、DB スナップショット `mydbsnapshot` を削除します。  
Linux、macOS、Unix の場合:  

```
1. aws rds delete-db-snapshot \
2.     --db-snapshot-identifier mydbsnapshot
```
Windows の場合:  

```
1. aws rds delete-db-snapshot ^
2.     --db-snapshot-identifier mydbsnapshot
```

### RDS API
<a name="USER_DeleteSnapshot.API"></a>

DB スナップショットを削除するには、Amazon RDS API オペレーションの [DeleteDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBSnapshot.html) を使用します。

DB スナップショットを削除するには、以下のパラメータを使用します。
+ `DBSnapshotIdentifier` - DB スナップショットの識別子。

# DB インスタンスへの復元
<a name="USER_RestoreFromSnapshot"></a><a name="restore_snapshot"></a>

このセクションでは、DB インスタンスに復元する方法を示します。このページでは、DB スナップショットから Amazon RDS DB インスタンスに復元する方法を説明します。

Amazon RDS は DB インスタンスのストレージボリュームのスナップショットを作成し、個々のデータベースだけではなく、その DB インスタンス全体をバックアップします。DB スナップショットからの復元で、新しい DB インスタンスを作成できます。復元の元となる DB スナップショットの名前を指定し、復元によって作成される新しい DB インスタンスの名前を指定します。DB スナップショットから既存の DB インスタンスに復元することはできません。スナップショットを復元すると新しい DB インスタンスが作成されます。

ステータスが `available` になると、復元された DB インスタンスを使用できます。DB インスタンスはバックグラウンドでデータをロードし続けます。これは*遅延ロード*と呼ばれています。まだロードされていないデータにアクセスする場合、DB インスタンスはリクエストされたデータを Amazon S3 から即座にダウンロードし、残りのデータをバックグラウンドでロードし続けます。詳細については、「[Amazon EBS スナップショット](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)」を参照してください。

クイックアクセスが必要なテーブルに対する遅延ロードの影響を軽減するには、`SELECT *` など、テーブル全体をスキャンするようなオペレーションを実行します。これにより、Amazon RDS はバックアップされたテーブルデータをすべて S3 からダウンロードできます。

DB インスタンスを復元し、出典 DB スナップショットとは異なるストレージタイプを使用できます。この場合、新しいストレージタイプにデータを移行するための追加作業が必要になるため、復元処理が遅くなります。マグネティックストレージに復元するか、マグネティックストレージから復元する場合、移行プロセスは最も低速になります。これは、マグネティックストレージにはプロビジョンド IOPS または汎用 (SSD) ストレージの IOPS 機能がないためです。

CloudFormationを使用して、DB インスタンスのスナップショットから DB インスタンスを復元できます。詳細については、*AWS CloudFormationユーザーガイド*の [AWS::RDS::DBInstance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html) を参照してください。

**注記**  
共有され暗号化された DB スナップショットから、DB インスタンスを復元することはできません。代わりに、DB スナップショットのコピーを作成し、そのコピーから DB インスタンスを復元できます。詳細については、「[Amazon RDS の DB スナップショットのコピー](USER_CopySnapshot.md)」を参照してください。

RDS 延長サポートバージョンで DB インスタンスを復元する方法については、「[Amazon RDS 延長サポートでの DB インスタンスまたはマルチ AZ DB クラスターの復元](extended-support-restoring-db-instance.md)」を参照してください。

## スナップショットからの復元
<a name="USER_RestoreFromSnapshot.Restoring"></a>

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、DB のスナップショットから DB インスタンスを復元できます。

**注記**  
DB インスタンスを復元するときに、ストレージ容量を減らすことはできません。ストレージ割り当てを増やす場合は、少なくとも 10 パーセント単位で増やす必要があります。10 パーセントに満たない単位で増やそうとすると、エラーになります。RDS for SQL Server DB インスタンスを復元するときに、割り当てストレージを増やすことはできません。

### コンソール
<a name="USER_RestoreFromSnapshot.CON"></a>

**DB スナップショットから DB インスタンスを復元するには**

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

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

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

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

1. **[Restore snapshot]** (スナップショットの復元) ページで、**[DB instance identifier]** (DB インスタンス識別子) に、復元された DB インスタンスの名前を入力します。

1. 割り当てられたストレージサイズなど、その他の設定を指定します。

   各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

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

### AWS CLI
<a name="USER_RestoreFromSnapshot.CLI"></a>

DB スナップショットから DB インスタンスを復元するには、AWS CLI の [DBスナップショットからDBインスタンスを復元する](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) コマンドを使用します。

この例では、「`mydbsnapshot`」という以前作成した DB スナップショットから復元します。`mynewdbinstance` という名前の新しい DB インスタンスに復元します。この例では、割り当てられたストレージサイズも設定しています。

他の設定を指定できます。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

**Example**  
Linux、macOS、Unix の場合:  
   

```
1. aws rds restore-db-instance-from-db-snapshot \
2.     --db-instance-identifier mynewdbinstance \
3.     --db-snapshot-identifier mydbsnapshot \
4.     --allocated-storage 100
```
Windows の場合:  
   

```
1. aws rds restore-db-instance-from-db-snapshot ^
2.     --db-instance-identifier mynewdbinstance ^
3.     --db-snapshot-identifier mydbsnapshot ^
4.     --allocated-storage 100
```
このコマンドは、次のような出力を返します：  

```
1. DBINSTANCE  mynewdbinstance  db.t3.small  MySQL     50       sa              creating  3  n  8.0.28  general-public-license
```

**Example**  
次の例は、新しく作成されたインスタンスにストレージボリュームを追加しながらスナップショットを復元する方法を示しています。スナップショットには、追加のボリューム `rdsdbdata2` が含まれていました。復元オペレーションでは、`rdsdbdata3` が追加され、新しく作成されたインスタンスに合計 3 つのボリュームが作成されます。スナップショットを復元するときにボリュームを削除することはできません。  

```
1. aws rds restore-db-instance-from-db-snapshot \
2.      --db-instance-identifier my-restored-instance \
3.      --db-snapshot-identifier my-asv-snapshot \
4.      --additional-storage-volumes '[{ \
5.              "VolumeName": "rdsdbdata3", \
6.              "StorageType":"gp3", \
7.              "AllocatedStorage": 5000, \
8.              "IOPS": 12000 \
9.          }]'
```

### RDS API
<a name="USER_RestoreFromSnapshot.API"></a>

DB スナップショットから DB インスタンスを復元するには、以下のパラメータを指定して Amazon RDS API 関数 [RestoreDBInstanceFromDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) を呼び出します。
+ `DBInstanceIdentifier` 
+ `DBSnapshotIdentifier` 

## 考慮事項
<a name="USER_RestoreFromSnapshot.Considerations"></a>

DB スナップショットから DB インスタンスに復元する際の考慮事項については、以下のトピックを参照してください。

**Topics**
+ [パラメータグループに関する考慮事項](#USER_RestoreFromSnapshot.Parameters)
+ [セキュリティグループに関する考慮事項](#USER_RestoreFromSnapshot.Security)
+ [オプショングループに関する考慮事項](#USER_RestoreFromSnapshot.Options)
+ [リソースへのタグ付けに関する考慮事項](#restore-from-snapshot.tagging)
+ [Db2 に関する考慮事項](#USER_RestoreFromSnapshot.Db2)
+ [Microsoft SQL Server に関する考慮事項](#USER_RestoreFromSnapshot.MSSQL)
+ [MySQL に関する考慮事項](#USER_RestoreFromSnapshot.MySQL)
+ [Oracle データベースに関する考慮事項](#USER_RestoreFromSnapshot.Oracle)

### パラメータグループに関する考慮事項
<a name="USER_RestoreFromSnapshot.Parameters"></a>

復元された DB インスタンスを適切なパラメータグループと関連付けることができるように、作成する DB スナップショットの DB パラメータグループは保持しておくことをお勧めします。

別のパラメータグループを選択しない限り、デフォルトの DB パラメータグループが、復元されたインスタンスに関連付けられます。デフォルトのパラメータグループでは、カスタムのパラメータ設定は使用できません。

パラメータグループは、DB インスタンスを復元する際に指定できます。

DB パラメータグループの詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。

### セキュリティグループに関する考慮事項
<a name="USER_RestoreFromSnapshot.Security"></a>

DB インスタンスを復元すると、仮想プライベートクラウド (VPC)、DB サブネットグループ、および VPC セキュリティグループはデフォルトのものが、(それらに別のものを選択しない限り) 復元されたインスタンスに関連付けられます。
+ Amazon RDS コンソールを使用している場合は、カスタムの VPC セキュリティグループを指定してインスタンスに関連付けるか、新しい VPC セキュリティグループを作成できます。
+ AWS CLI を使用している場合、`restore-db-instance-from-db-snapshot` コマンドで `--vpc-security-group-ids` オプションを指定することにより、カスタムの VPC セキュリティグループを指定して、それをインスタンスに関連付けることができます。
+ Amazon RDS API を使用している場合、`VpcSecurityGroupIds.VpcSecurityGroupId.N` パラメータを `RestoreDBInstanceFromDBSnapshot` アクションに含むことができます。

復元が完了し、新しい DB インスタンスが使用可能になり次第、その DB インスタンスを変更して VPC 設定を変更することもできます。詳しくは、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

### オプショングループに関する考慮事項
<a name="USER_RestoreFromSnapshot.Options"></a>

DB インスタンスを復元すると、多くの場合、デフォルトの DB オプショングループが復元された DB インスタンスに関連付けられます。

この例外となるのは、ソース DB インスタンスが、永続的もしくは不変のオプションを含むオプショングループに関連付けられている場合です。例えば、ソース DB インスタンスで Oracle TDE (Transparent Data Encryption ) が使用されている場合、復元された DB インスタンスでは、TDE オプションを含むオプショングループを使用する必要があります。

DB インスタンスを異なる VPC に復元する場合は、以下のいずれかの操作を実行して、そのインスタンスに DB オプショングループを割り当てる必要があります。
+ その VPC グループのデフォルトのオプショングループを、復元したインスタンスに割り当てる。
+ VPC にリンクされているオプショングループを、復元したインスタンスに割り当てる。
+ 新しいオプショングループを作成し、DB インスタンスに割り当てます。Oracle TDE などの永続的または不変のオプションを使用する場合は、その永続的または不変のオプションを含む新しいオプショングループを作成する必要があります。

DB オプショングループの詳細については、「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。

### リソースへのタグ付けに関する考慮事項
<a name="restore-from-snapshot.tagging"></a>

DB スナップショットから DB インスタンスが復元されると、RDS は新しいタグが指定されているかどうかを確認します。新しいタグが指定されている場合、そのタグは復元された DB インスタンスに追加されます。新しいタグがない場合、RDS は、スナップショットの作成時にソース DB インスタンスから復元された DB インスタンスにタグを追加します。

詳細については、「[タグを DB スナップショットにコピーする](USER_Tagging.md#USER_Tagging.CopyTags)」を参照してください。

### Db2 に関する考慮事項
<a name="USER_RestoreFromSnapshot.Db2"></a>



BYOL モデルでは、Amazon RDS for Db2 DB インスタンスを、IBM Site ID と IBM Customer ID を含むカスタムパラメータグループに関連付ける必要があります。そうしないと、スナップショットから DB インスタンスを復元しようとすると失敗します。Amazon RDS for Db2 DB インスタンスは、AWS License Manager セルフマネージドライセンスにも関連付ける必要があります。詳細については、「[Db2 の Bring-Your-Own-License (BYOL)](db2-licensing.md#db2-licensing-options-byol)」を参照してください。

AWS Marketplace 経由の Db2 ライセンスモデルでは、使用する特定の IBM Db2 エディションの有効な AWS Marketplace サブスクリプションが必要です。まだお持ちでない場合は、IBM Db2 エディションの [Db2 サブスクリプションを AWS Marketplace で購入する](db2-licensing.md#db2-marketplace-subscribing-registering)必要があります。詳細については、「[AWS Marketplace 経由の Db2 ライセンス](db2-licensing.md#db2-licensing-options-marketplace)」を参照してください。

### Microsoft SQL Server に関する考慮事項
<a name="USER_RestoreFromSnapshot.MSSQL"></a>

RDS for Microsoft SQL Server DB スナップショットを新しいインスタンスに復元すると、スナップショットと同じエディションに常に復元できるようになります。場合によっては、DB インスタンスのエディションを変更することもできます。エディションを変更する場合の制限は次のとおりです。
+ DB スナップショットでは、新しいエディション用に十分なストレージを割り当てる必要があります。
+ 次のエディションの変更以外はサポートされていません。
  + Standard Edition から Enterprise Edition
  + Web Edition から Standard Edition または Enterprise Edition
  + Express Edition から Web Edition、Standard Edition、Enterprise Edition のいずれか

スナップショットを復元して、サポートされていない新しいエディションに変更する場合は、ネイティブバックアップおよび復元機能を試すことができます。SQL Server は、データベース上で有効にした SQL Server の機能に基づき、データベースが新しいエディションと互換性があるかどうかを検証します。詳細については、「[ネイティブバックアップと復元を使用した SQL Server データベースのインポートとエクスポート](SQLServer.Procedural.Importing.md)」を参照してください。

### MySQL に関する考慮事項
<a name="USER_RestoreFromSnapshot.MySQL"></a>

サポートされていないエンジンバージョンを使用して RDS for MySQL DB スナップショットから復元するには、DB スナップショットを複数回アップグレードする必要がある場合があります。アップグレードオプションの詳細については、「[RDS for MySQL でサポートされていないエンジンバージョンの DB スナップショットのアップグレードオプション](mysql-upgrade-snapshot.upgrade-options.md)」を参照してください。

RDS for MySQL DB スナップショットのエンジンバージョンのアップグレードの詳細については、「[MySQL DB スナップショットエンジンバージョンのアップグレード](mysql-upgrade-snapshot.md)」を参照してください。

### Oracle データベースに関する考慮事項
<a name="USER_RestoreFromSnapshot.Oracle"></a>

Oracle データベースを DB スナップショットから復元する場合、次の点に注意します。
+ DB スナップショットを復元する前に、それを新しい Oracle データベースリリースにアップグレードできます。詳細については、「[Oracle DB スナップショットのアップグレード](USER_UpgradeDBSnapshot.Oracle.md)」を参照してください。
+ シングルテナント設定を使用する CDB インスタンスのスナップショットを復元する場合は、PDB 名を変更できます。CDB インスタンスがマルチテナント設定を使用している場合は PDB 名を変更できません。詳細については、「[CDB のバックアップと復元](Oracle.Concepts.single-tenant.snapshots.md)」を参照してください。
+ CDB 名は変更できません。これは常に `RDSCDB` です。この CDB 名は、すべての CDB インスタンスで同じです。
+ DB スナップショット内のテナントデータベースを直接操作することはできません。マルチテナント設定を使用する CDB インスタンスのスナップショットを復元する場合は、そのテナントデータベースをすべて復元します。[describe-db-snapshot-tenant-databases](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshot-tenant-databases.html) を使用すると、復元する前に DB スナップショット内のテナントデータベースを点検できます。
+ Oracle GoldenGate を使用している場合、必ず `compatible` パラメータと同時にパラメータグループを保持します。DB スナップショットから DB インスタンスを復元するときは、等しいか大きい `compatible` 値を使用したパラメータグループを指定します。
+ DB スナップショットを復元するときに、データベースの名前を変更することもできます。オンライン REDO ログの合計サイズが 20GB を超える場合、RDS はオンライン REDO ログのサイズをデフォルト設定の 512MB (4 x 128MB) にリセットすることがあります。サイズが小さいほど、妥当な時間内に復元オペレーションを完了できます。後でオンライン REDO ログを再作成し、サイズを変更できます。
+ マスターユーザーパスワードは AWS Secrets Manager で管理できます。詳細については、「[AWS Secrets Manager を使用したマスターユーザーパスワード管理の概要](rds-secrets-manager.md#rds-secrets-manager-overview)」を参照してください。

# Amazon RDS の DB インスタンスを特定の時点に復元する
<a name="USER_PIT"></a>

DB インスタンスを特定の時点に復元し、ソース DB インスタンスを変更せずに新しい DB インスタンスを作成できます。

DB インスタンスを特定の時点に復元する場合、デフォルトの仮想プライベートクラウド (VPC) のセキュリティグループを選択できます。また、DB インスタンスにカスタム VPC セキュリティグループを適用することもできます。

復元された DB インスタンスは、デフォルトの DB パラメータグループとオプショングループに自動的に関連付けられます。ただし、カスタムパラメータグループとオプショングループは、復元中に指定することで適用できます。

リクエストでタグが指定されている場合、指定されたタグは復元された DB インスタンスに適用されます。リクエストでタグが指定されておらず、ソース DB インスタンスがリージョン内でアクティブでタグがある場合、RDS はソース DB インスタンスから復元された DB インスタンスに最新のタグを追加します。

RDS は、DB インスタンスのトランザクションログを 5 分ごとに Amazon S3 にアップロードします。DB インスタンスの復元可能な直近の時間を確認するには、AWS CLI の [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを使用し、DB インスタンスの [`LatestRestorableTime`] フィールドに返される値を確認します。Amazon RDS コンソールで各 DB インスタンスの復元可能な直近の時間を表示するには、**[自動バックアップ]** をクリックします。

バックアップ保持期間の任意の時点に復元できます。各 DB インスタンスの復元可能な最も早い時間を表示するには、Amazon RDS コンソールで [**自動バックアップ**] を選択します。

![\[自動バックアップ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/automated-backups.png)


**注記**  
出典 DB インスタンスとしてプロビジョンド IOPS ストレージを使用する場合は、同じ、または類似の DB インスタンスサイズと IOPS に復元することをお勧めします。例えば、互換性のない IOPS 値を持つ DB インスタンスのサイズを選択した場合、エラーが発生することがあります。

RDS 延長サポートバージョンで DB インスタンスを復元する方法については、「[Amazon RDS 延長サポートでの DB インスタンスまたはマルチ AZ DB クラスターの復元](extended-support-restoring-db-instance.md)」を参照してください。

いくつかの Amazon RDS データベースエンジンには、特定の時点から復元する際の特別な考慮事項があります。
+ Amazon RDS for Db2 DB インスタンスでパスワード認証を使用する場合、`rdsadmin.add_user` を含むユーザー管理アクションはログにキャプチャされません。これらのアクションには、完全なスナップショットバックアップが必要です。

  BYOL モデルでは、RDS for Db2 DB インスタンスを、IBM Site ID と IBM Customer ID を含むカスタムパラメータグループに関連付ける必要があります。そうしないと、DB インスタンスを特定の時点に復元しようとすると失敗します。Amazon RDS for Db2 DB インスタンスは、AWS License Manager セルフマネージドライセンスにも関連付ける必要があります。詳細については、「[Db2 の Bring-Your-Own-License (BYOL)](db2-licensing.md#db2-licensing-options-byol)」を参照してください。

  AWS Marketplace 経由の Db2 ライセンスモデルでは、使用する特定の IBM Db2 エディションの有効な AWS Marketplace サブスクリプションが必要です。まだお持ちでない場合は、IBM Db2 エディションの [Db2 サブスクリプションを AWS Marketplace で購入する](db2-licensing.md#db2-marketplace-subscribing-registering)必要があります。詳細については、「[AWS Marketplace 経由の Db2 ライセンス](db2-licensing.md#db2-licensing-options-marketplace)」を参照してください。
+ 特定の時点に RDS for Oracle DB インスタンスを復元するとき、復元された DB インスタンスに異なる DB エンジン、ライセンスモデル、DBName (SID) を指定できます。RDS がマスターユーザーパスワードを AWS Secrets Manager に保存するように指定することもできます。詳細については、「[AWS Secrets Manager を使用したマスターユーザーパスワード管理の概要](rds-secrets-manager.md#rds-secrets-manager-overview)」を参照してください。
+ 特定の時点に Microsoft SQL Server DB インスタンスを復元する際、そのインスタンス内の各データベースは、インスタンス内の他のデータベースからそれぞれ 1 秒以内の時点に復元されます。インスタンス内の複数のデータベースにまたがるトランザクションは、復元後の整合性がない可能性があります。
+ SQL Server DB インスタンスの場合、`OFFLINE`、`EMERGENCY`、`SINGLE_USER` のモードはサポートされていません。任意のデータベースをこれらのモードの 1 つに設定すると、復元可能な直近の時間がインスタンス全体で前に進まなくなります。
+ SQL Server データベースの復旧モデルを変更するなど、一部のアクションの結果、ポイントインタイムリカバリに使用されるログの順序が乱れる可能性があります。場合によっては、Amazon RDS がこの問題を検出し、復元可能な最新の時間が先に進まなくなります。SQL Server データベースが`BULK_LOGGED`リカバリモデルを使用する場合など、その他の場合、ログシーケンスの中断は検出されません。ログ順序に乱れがある場合、SQL Server DB インスタンスを特定の時点に復元することができなくなる可能性があります。これらの理由により、Amazon RDS では SQL Server データベースの復旧モデルの変更はサポートされていません。

また、AWS Backup を使用して、Amazon RDS DB インスタンスのバックアップを管理することもできます。DB インスタンスが AWS Backup のバックアッププランに関連付けられている場合、そのバックアッププランはポイントインタイムリカバリに使用されます。AWS Backup で作成されたバックアップの名前は `awsbackup:AWS-Backup-job-number` で終わります。AWS Backup の詳細については、「[https://docs.aws.amazon.com/aws-backup/latest/devguide](https://docs.aws.amazon.com/aws-backup/latest/devguide)」を参照してください。

**注記**  
このトピックの情報は、Amazon RDS に適用されます。Amazon Aurora DB クラスターの復元についての詳細は、「[DBinstance を指定した時点へ復元する](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html)」を参照してください。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、DB インスタンスを特定の時点に復元できます。

**注記**  
DB インスタンスを復元するとき、ストレージの量を削減することはできません。ストレージ割り当てを増やす場合は、少なくとも 10 パーセント単位で増やす必要があります。10 パーセントに満たない単位で増やそうとすると、エラーになります。RDS for SQL Server DB インスタンスを復元するときに、割り当てストレージを増やすことはできません。

## コンソール
<a name="USER_PIT.CON"></a>

**特定の時点に DB インスタンスを復元するには**

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

1. ナビゲーションペインで、**[Automated backups]** (自動バックアップ) を選択します。

   **[Current Region]** (現在のリージョン) タブに自動バックアップが表示されます。

1. 復元する DB インスタンスを選択します。

1. 「**アクション**」 で、「**特定時点への復元**」 を選択します。

   **[特定時点への復元]** ウィンドウが表示されます。

1. 「**Latest restorable time**」 を選択してできるだけ最新の時点に復元するか、「**カスタム**」 を選択して時刻を選択します。

   「**カスタム**」 を選択した場合、インスタンスクラスターを復元する日時を入力します。
**注記**  
時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

1. [**DB インスタンス識別子**] に、ターゲットが復元された DB インスタンスの名前を入力します。名前は一意である必要があります。

1. 必要に応じて、DB インスタンスクラス、ストレージ、ストレージのオートスケーリングを使用するかどうかなど、他のオプションを選択します。

   各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

1. **[Restore to point in time]** (特定時点への復元) を選択します。

## AWS CLI
<a name="USER_PIT.CLI"></a>

特定の時点に DB インスタンスを復元するには、AWS CLI コマンド [restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) コマンドを使用して、新しい DB インスタンスを作成します。この例では、割り当てられたストレージサイズを設定し、ストレージの自動スケーリングを有効にします。

このオペレーションでは、リソースのタグ付けがサポートされています。`--tags` オプションを使用すると、ソース DB インスタンスのタグは無視され、指定されたタグが使用されます。それ以外の場合は、ソースインスタンスの最新のタグが使用されます。

他の設定を指定できます。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier mysourcedbinstance \
3.     --target-db-instance-identifier mytargetdbinstance \
4.     --restore-time 2017-10-14T23:45:00.000Z \
5.     --allocated-storage 100 \
6.     --max-allocated-storage 1000
```
Windows の場合:  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier mysourcedbinstance ^
3.     --target-db-instance-identifier mytargetdbinstance ^
4.     --restore-time 2017-10-14T23:45:00.000Z ^
5.     --allocated-storage 100 ^
6.     --max-allocated-storage 1000
```

**Example**  
次の例は、インスタンスを特定の時点に復元するときにボリュームを追加する方法を示しています。  
Linux、macOS、Unix の場合:  

```
 1. aws rds restore-db-instance-to-point-in-time \
 2.      --source-db-instance-identifier my-asv-instance \
 3.      --target-db-instance-identifier my-pitr-instance \
 4.      --use-latest-restorable-time \
 5.      --additional-storage-volumes '[{ \
 6.              "VolumeName": "rdsdbdata2", \
 7.              "StorageType":"gp3", \
 8.              "AllocatedStorage": 5000, \
 9.              "IOPS": 12000 \
10.          }]'
```
Windows の場合:  

```
 1. aws rds restore-db-instance-to-point-in-time ^
 2.      --source-db-instance-identifier my-asv-instance ^
 3.      --target-db-instance-identifier my-pitr-instance ^
 4.      --use-latest-restorable-time ^
 5.      --additional-storage-volumes '[{ ^
 6.              "VolumeName": "rdsdbdata2", ^
 7.              "StorageType":"gp3", ^
 8.              "AllocatedStorage": 5000, ^
 9.              "IOPS": 12000 ^
10.          }]'
```

## RDS API
<a name="USER_PIT.API"></a>

DB インスタンスを特定の時間に復元するには、以下のパラメータを指定して Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) オペレーションを呼び出します。
+ `SourceDBInstanceIdentifier`
+ `TargetDBInstanceIdentifier`
+ `RestoreTime`

# マルチ AZ DB クラスターを指定の時点の状態に復元する
<a name="USER_PIT.MultiAZDBCluster"></a>

マルチ AZ DB クラスターを指定の時点に復元し、新しいマルチ AZ DB クラスターを作成できます。

RDSは、マルチ AZ DB クラスターのトランザクションログを Amazon S3 に継続的にアップロードします。バックアップ保持期間の任意の時点に復元できます。マルチ AZ DB クラスターの復元可能な最も早い時間を表示するには、AWS CLI [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html)コマンドを使用します。DB クラスターの`EarliestRestorableTime`フィールドに返される値を確認します。マルチ AZ DB クラスターの復元可能な直近の時間を確認するには、DB クラスターの `LatestRestorableTime` フィールドに返される値を確認します。

マルチ AZ DB クラスターを特定の時点に復元する場合、マルチ AZ DBクラスターのデフォルトの VPC セキュリティグループを選択するか、カスタム VPC セキュリティグループをマルチ AZ DB クラスターに適用できます。



復元されたマルチ AZ DB クラスターは、デフォルトの DB クラスターパラメータグループに自動的に関連付けられます。ただし、復元時に指定することで、カスタム DB クラスターパラメータグループを適用できます。

ソース DB クラスターにリソースタグがある場合は、RDS では復元される DB クラスターに最新のタグを追加します。

**注記**  
ソース DB クラスターと同じまたは類似のサイズでマルチ AZ DB クラスターを復元することをお勧めします。また、プロビジョンド IOPS ストレージを使用している場合は、同じまたは類似の IOPS 値で復元することをお勧めします。例えば、互換性のない IOPS 値を持つ DB クラスターサイズを選択した場合、エラーが発生する可能性があります。  
ソースのマルチ AZ DB クラスターが汎用 SSD (gp3) ストレージを使用しており、割り当てられたストレージが 400 GiB 未満の場合、復元された DB クラスターのリードレプリカのプロビジョンド IOPS は変更できません。

RDS 延長サポートバージョンを使用したマルチ AZ DB クラスターの復元については、「[Amazon RDS 延長サポートでの DB インスタンスまたはマルチ AZ DB クラスターの復元](extended-support-restoring-db-instance.md)」を参照してください。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、マルチ AZ DB クラスターを特定の時点に復元できます。

## コンソール
<a name="USER_PIT.MultiAZDBCluster.CON"></a>

**マルチ AZ DB クラスターを特定の時点に復元するには**

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

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

1. 復元するマルチ AZ DBクラスターを選択します。

1. 「**アクション**」 で、「**特定時点への復元**」 を選択します。

   **[特定時点への復元]** ウィンドウが表示されます。

1. 「**Latest restorable time**」 を選択してできるだけ最新の時点に復元するか、「**カスタム**」 を選択して時刻を選択します。

   「**カスタム**」 を選択した場合、マルチAZ DB クラスターを復元す日時を入力します。
**注記**  
時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

1. 「**DB クラスター識別子**」 に、復元されるマルチ AZ DB クラスターの名前を入力します。

1. **[Availability and durability]** (可用性と耐久性) で、**[Multi-AZ DB cluster]** (マルチ AZ DB クラスター)-選択します。  
![\[マルチ AZ DB クラスター選択\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/multi-az-db-cluster-create.png)

1. 「**DB インスタンスクラス**」 で、DB インスタンスのクラスを選択します。

   現在、マルチ AZ DB クラスターは db.m6gd および db.r6gd DB インスタンスクラスのみをサポートしています。DB インスタンスクラスの詳細については、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。

1. 残りのセクションで、DB クラスター設定を指定します。各設定の詳細については、「[マルチ AZ DB クラスターを作成するための設定](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings)」を参照してください。

1. **[Restore to point in time]** (特定時点への復元) を選択します。

## AWS CLI
<a name="USER_PIT.MultiAZDBCluster.CLI"></a>

マルチ AZ DB クラスターを指定の時点の状態に復元するには、AWS CLIコマンド[restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html)を使用して、マルチ AZ DB クラスターを作成します。

現在、マルチ AZ DB クラスターは db.m6gd および db.r6gd DB インスタンスクラスのみをサポートしています。DB インスタンスクラスの詳細については、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds restore-db-cluster-to-point-in-time \
2.     --source-db-cluster-identifier mysourcemultiazdbcluster \
3.     --db-cluster-identifier mytargetmultiazdbcluster \
4.     --restore-to-time 2021-08-14T23:45:00.000Z \
5.     --db-cluster-instance-class db.r6gd.xlarge
```
Windows の場合:  

```
1. aws rds restore-db-cluster-to-point-in-time ^
2.     --source-db-cluster-identifier mysourcemultiazdbcluster ^
3.     --db-cluster-identifier mytargetmultiazdbcluster ^
4.     --restore-to-time 2021-08-14T23:45:00.000Z ^
5.     --db-cluster-instance-class db.r6gd.xlarge
```

## RDS API
<a name="USER_PIT.MultiAZDBCluster.API"></a>

DB クラスターを特定の時間に復元するには、以下のパラメータを指定して Amazon RDS API の[RestoreDBClusterToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html)オペレーションを呼び出します。
+ `SourceDBClusterIdentifier`
+ `DBClusterIdentifier`
+ `RestoreToTime`

# スナップショットからマルチ AZ DB クラスターへの復元
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.Restoring"></a>

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、スナップショットをマルチ AZ DB クラスタに復元できます。次のタイプのスナップショットは、マルチ AZ DB クラスターに復元できます。
+ シングル AZ デプロイのスナップショット
+ 単一の DB インスタンスを使用したマルチ AZ DB クラスターのデプロイのスナップショット
+ マルチ AZ DB クラスターのスナップショット

マルチ AZ デプロイについては、「[Amazon RDS でのマルチ AZ 配置の設定と管理](Concepts.MultiAZ.md)」を参照してください。

**ヒント**  
スナップショットを復元することで、シングル AZ デプロイまたはマルチ AZ DB クラスターデプロイをマルチ AZ DB クラスターデプロイに移行できます。

RDS 延長サポートバージョンを使用したマルチ AZ DB クラスターの復元については、「[Amazon RDS 延長サポートでの DB インスタンスまたはマルチ AZ DB クラスターの復元](extended-support-restoring-db-instance.md)」を参照してください。

## コンソール
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.CON"></a>

**スナップショットをマルチ AZ DB クラスターに復元するには**

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

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

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

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

1. **[Restore snapshot]** (スナップショットの復元) ページの **[Availability and durability]** (可用性と耐久性) で、**[Multi-AZ DB cluster]** (マルチ AZ DB クラスター) を選択します。  
![\[マルチ AZ DB クラスターの選択\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/multi-az-db-cluster-create.png)

1. 「**DB クラスター識別子**」 に、新しく復元される マルチ AZ DB クラスターの名前を入力します。

1. 残りのセクションで、DB クラスター設定を指定します。各設定の詳細については、「[マルチ AZ DB クラスターを作成するための設定](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings)」を参照してください。

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

## AWS CLI
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.CLI"></a>

スナップショットをマルチ AZ DB クラスターに復元するには、AWS CLIコマンド[restore-db-cluster-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html)を使用します。

次の例では、以前作成した「`mysnapshot`」という名前のスナップショットから復元します。`mynewmultiazdbcluster`と言う名前の新しいマルチ AZ DBクラスターに復元します。また、マルチ AZ DB クラスター内の DB インスタンスによって使用される DB インスタンスクラスも指定します。DB エンジンに`mysql`または`postgres`を指定します。

`--snapshot-identifier` オプションでは、名前または Amazon リソースネーム (ARN) のいずれかを使用して、DB クラスタースナップショットを指定できます。ただし、DB スナップショットを指定するには ARN のみを使用できます。

`--db-cluster-instance-class` オプションとして、新しいマルチ AZ DB クラスターの DB インスタンスクラスを指定します。マルチ AZ DB クラスターは、db.m6gd および db.r6gd DB インスタンスクラスなど、特定の DB インスタンスクラスのみをサポートしています。DB インスタンスクラスの詳細については、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。

他のオプションも指定できます。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds restore-db-cluster-from-snapshot \
2.     --db-cluster-identifier mynewmultiazdbcluster \
3.     --snapshot-identifier mysnapshot \
4.     --engine mysql|postgres \
5.     --db-cluster-instance-class db.r6gd.xlarge
```
Windows の場合:  

```
1. aws rds restore-db-cluster-from-snapshot ^
2.     --db-cluster-identifier mynewmultiazdbcluster ^
3.     --snapshot-identifier mysnapshot ^
4.     --engine mysql|postgres ^
5.     --db-cluster-instance-class db.r6gd.xlarge
```

DB クラスターを復元した後、スナップショットの作成に使用した DB クラスターまたは DB インスタンスに関連付けられたセキュリティグループに、マルチ AZ DB クラスターを追加することができます。このアクションを完了すると、以前の DB クラスターまたは DB インスタンスと同じ機能が得られます。

## RDS API
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.API"></a>

スナップショットをマルチ AZ DBクラスターに復元するには、次のパラメータを使用してRDS APIオペレーション[RestoreDBClusterFromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromSnapshot.html)を呼び出します。
+ `DBClusterIdentifier` 
+ `SnapshotIdentifier` 
+ `Engine` 

他のオプションのパラメータを指定することもできます。

DB クラスターを復元した後、スナップショットの作成に使用した DB クラスターまたは DB インスタンスに関連付けられたセキュリティグループに、マルチ AZ DB クラスターを追加することができます。このアクションを完了すると、以前の DB クラスターまたは DB インスタンスと同じ機能が得られます。

# マルチ AZ DB クラスターのスナップショットから DB インスタンスへの復元
<a name="USER_RestoreFromMultiAZDBClusterSnapshot"></a>

*マルチ AZ DB クラスターのスナップショット*は、DB クラスターのストレージボリュームスナップショットであり、個々のデータベースだけでなく、DB クラスター全体をバックアップします。マルチ AZ DB クラスターのスナップショットをシングル AZ デプロイまたはマルチ AZ DB インスタンスデプロイに復元することができます。マルチ AZ デプロイについては、「[Amazon RDS でのマルチ AZ 配置の設定と管理](Concepts.MultiAZ.md)」を参照してください。

**注記**  
マルチ AZ DB クラスターのスナップショットを新しいマルチ AZ DB クラスターに復元することもできます。手順については、「[スナップショットからマルチ AZ DB クラスターへの復元](USER_RestoreFromMultiAZDBClusterSnapshot.Restoring.md)」を参照してください。

RDS 延長サポートバージョンを使用したマルチ AZ DB クラスターの復元については、「[Amazon RDS 延長サポートでの DB インスタンスまたはマルチ AZ DB クラスターの復元](extended-support-restoring-db-instance.md)」を参照してください。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、マルチ AZ DB クラスターのスナップショットをシングル AZ デプロイまたはマルチ AZ DB インスタンスデプロイに復元します。

## コンソール
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.CON"></a>

**マルチ AZ DB クラスターのスナップショットをシングル AZ デプロイまたはマルチ AZ DB インスタンスデプロイに復元するには**

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

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

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

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

1. **[Restore snapshot]** (スナップショットの復元) ページの **[Availability and durability]** (可用性と耐久性) で、次のいずれかを選択します。
   + **[Single DB instance]** (シングル DB インスタンス) — スタンバイ DB インスタンスのない 1 つの DB インスタンスにスナップショットを復元します。
   + **[Multi-AZ DB instance]** (マルチ AZ DB インスタンス) — スナップショットを 1 つのプライマリ DB インスタンスと 1 つのスタンバイ DB インスタンスを持つマルチ AZ DB インスタンスデプロイに復元します。

1. **[DB instance identifier]** (DB インスタンス識別子) として、復元された DB インスタンスの名前を入力します。

1. 残りのセクションで、DB インスタンス設定を指定します。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

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

## AWS CLI
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.CLI"></a>

マルチ AZ DB クラスターのスナップショットを DB インスタンスデプロイに復元するには、AWS CLI コマンド [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) を使用します。

次の例では、以前作成した `myclustersnapshot` という名前のマルチ AZ DB クラスターのスナップショットから復元します。`mynewdbinstance` という名前のプライマリ DB インスタンスを持つ新しいマルチ AZ DB インスタンスデプロイに復元します。`--db-cluster-snapshot-identifier` オプションとして、マルチ AZ DB クラスタースナップショットの名前を指定します。

`--db-instance-class` オプションとして、新しい DB インスタンスデプロイの DB インスタンスクラスを指定します。DB インスタンスクラスの詳細については、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。

他のオプションも指定できます。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds restore-db-instance-from-db-snapshot \
2.     --db-instance-identifier mynewdbinstance \
3.     --db-cluster-snapshot-identifier myclustersnapshot \
4.     --engine mysql \
5.     --multi-az \
6.     --db-instance-class db.r6g.xlarge
```
Windows の場合:  

```
1. aws rds restore-db-instance-from-db-snapshot ^
2.     --db-instance-identifier mynewdbinstance ^
3.     --db-cluster-snapshot-identifier myclustersnapshot ^
4.     --engine mysql ^
5.     --multi-az ^
6.     --db-instance-class db.r6g.xlarge
```

DB インスタンスを復元した後、スナップショットの作成に使用したマルチ AZ DB クラスターに関連付けられたセキュリティグループに、DB インスタンスを追加できます。このアクションを完了すると、以前の マルチ AZ DB クラスターと同じ機能が得られます。

## RDS API
<a name="USER_RestoreFromMultiAZDBClusterSnapshot.API"></a>

マルチ AZ DB クラスターのスナップショットを DB インスタンスデプロイに復元するには、次のパラメータを指定して、RDS APIオペレーション[RestoreDBInstanceFromDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) を呼び出します。
+ `DBInstanceIdentifier` 
+ `DBClusterSnapshotIdentifier` 
+ `Engine` 

他のオプションのパラメータを指定することもできます。

DB インスタンスを復元した後、スナップショットの作成に使用したマルチ AZ DB クラスターに関連付けられたセキュリティグループに、DB インスタンスを追加できます。このアクションを完了すると、以前の マルチ AZ DB クラスターと同じ機能が得られます。

# チュートリアル: DB スナップショットからの Amazon RDS DB インスタンスの復元
<a name="CHAP_Tutorials.RestoringFromSnapshot"></a>

Amazon RDS で作業していると、ときどき DB インスタンスで作業をするが常に必要なわけではないということがよくあります。例えば、四半期ごとに行う顧客アンケートで、Amazon EC2 インスタンスを使用して顧客アンケートのウェブサイトをホストしているとします。また、アンケート結果の保存に使用される DB インスタンスもあります。このようなシナリオで経費を節約する 1 つの方法として、アンケートが完了した後、DB インスタンスの DB スナップショットを作成することが挙げられます。その後、アンケートを再度実施する必要がある場合は、DB インスタンスを削除して復元します。

DB インスタンスを復元するときは、復元の元となる DB スナップショットの名前を指定します。次に、復元オペレーションから作成される新しい DB インスタンスの名前を指定します。

スナップショットから DB インスタンスを復元する方法の詳細については、「[DB インスタンスへの復元](USER_RestoreFromSnapshot.md)」を参照してください。

Amazon RDS の AWS KMS キー管理については、「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

## DB スナップショットからの DB インスタンスの復元
<a name="tut-restore-snapshot.console"></a>

次の手順に従って、AWS マネジメントコンソール でスナップショットから復元します。

**DB スナップショットから DB インスタンスを復元するには**

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

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

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

1. **[アクション]** で、**[スナップショットの復元]** を選択します。  
![\[RDS コンソールのアクションメニューのスナップショットの復元オプション\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/tut-restore-instance1.png)

   [**Restore snapshot (スナップショットの復元)**] ページが表示されます。  
![\[スナップショットの復元ページ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/tut-restore-instance2.png)

1. **[DB instance settings]** (DB インスタンスの設定) で、**[DB engine]** (DB エンジン) および **[License model]** (ライセンスモデル) にデフォルトの設定を使用します (Oracle または Microsoft SQL Server の場合)。

1. **[Settings]** (設定) の **[DB Instance identifier]** (DB インスタンス識別子) に、復元する DB インスタンスに使用する名前を入力します (例: **mynewdbinstance**)。

   DB スナップショットの作成後に削除した DB インスタンスから復元する場合は、その DB インスタンスの名前を使用できます。

1. **[可用性と耐久性]** で、別のアベイラビリティーゾーンでスタンバイインスタンスを作成するかどうかを選択します。

   このチュートリアルでは、スタンバイインスタンスを作成しないでください。

1. **[Connectivity]** (接続) では、次のデフォルトの設定を使用します。
   + **Virtual Private Cloud (VPC)**
   + **DB サブネットグループ**
   + **パブリックアクセス**
   + **VPC セキュリティグループ (ファイアウォール)**

1. **DB インスタンスクラス**を選択します。

   このチュートリアルでは、**[Burstable classes (includes t classes)]** (バースト可能クラス (t クラスを含む)) を選択してから、**[db.t3.small]** を選択します。

1. **[Encryption]** (暗号化) では、デフォルトの設定を使用します。

   スナップショットのソース DB インスタンスが暗号化されている場合、復元される DB インスタンスも暗号化されます。暗号化を解除することはできません。

1. ページの下部の **[Additional configuration]** (追加設定) を開きます。  
![\[追加設定\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/tut-restore-instance3.png)

1. **[Database options]** (データベースオプション) で、次の操作を行います。

   1. **[DB parameter group]** (DB パラメータグループ) を選択します。

      このチュートリアルでは、デフォルトのパラメータグループを使用します。

   1. **[Option group]** (オプショングループ) を選択します。

      このチュートリアルでは、デフォルトのオプショングループを使用します。
**重要**  
場合によっては、持続的オプションまたは永続的オプションを使用する DB インスタンスの DB スナップショットから復元を行うことができます。その場合は、同じオプションを使用するオプショングループを選択してください。

   1. **[Deletion protection]** (削除保護) で、**[Enable deletion protection]** (削除保護の有効化) チェックボックスをオンにします。

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

**[Databases]** (データベース) ページには、ステータスが `Creating` である復元された DB インスタンスが表示されます。

![\[[データベース] ページの復元された DB インスタンス\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/tut-restore-instance4.png)


# Amazon RDS の DB スナップショットのコピー
<a name="USER_CopySnapshot"></a>

Amazon RDS を使用すると、自動バックアップまたは手動 DB スナップショットをコピーできます。スナップショットをコピーすると、そのコピーは手動スナップショットになります。自動バックアップまたは手動スナップショットは複数のコピーを作成できますが、各コピーには一意の識別子が必要です。

同じ AWS リージョン 内、AWS リージョン 間でスナップショットをコピーできます。また、共有スナップショットをコピーできます。スナップショットは、1 つのステップで別の AWS リージョンまたはアカウントにコピーできます。

## DB スナップショットのコピー
<a name="USER_CopyDBSnapshot"></a>

AWS アカウント ごとに、AWS リージョン 間で同時に最大 20 個の DB スナップショットをコピーできます。別の AWS リージョン に DB スナップショットをコピーする場合には、その AWS リージョン に保持されている手動 DB スナップショットを作成します。コピー元の AWS リージョン から DB スナップショットをコピーすると、Amazon RDS のデータ転送料金が発生します。

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

DB スナップショットのコピーが新しい AWS リージョン に作成されると、その DB スナップショットのコピーは、AWS リージョン にある他のすべての DB スナップショットと同じように動作します。

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

### コンソール
<a name="USER_CopySnapshot.CON"></a>

以下の手順では、AWS マネジメントコンソール を使用して、暗号化されている DB スナップショットや暗号化されていない DB スナップショットを、同じ AWS リージョン 内または異なるリージョン間でコピーできます。

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

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

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

1. コピーする DB スナップショットを選択します。

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

   [**スナップショットをコピー**] ページが表示されます。  
![\[DB スナップショットのコピー\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/DBSnapshotCopy1.png)

1. (オプション) **[Target Option Group]** (ターゲットオプショングループ)–には、必要に応じて新しいオプショングループを選択します。

   AWS リージョン 間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このオプションを指定します。

   コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このオプションを指定する必要があります。詳細については、「[オプショングループの考慮事項](#USER_CopySnapshot.Options)」を参照してください。

1. (オプション) 別の AWS リージョン に DB スナップショットをコピーするには、**[Destination Region]** (コピー先リージョン) でその新しい AWS リージョン を選択します。
**注記**  
コピー先 AWS リージョン は、コピー元 AWS リージョン と同じデータベースエンジンのバージョンを使用できる必要があります。

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

   自動バックアップまたは手動スナップショットは複数のコピーを作成できますが、各コピーには一意の識別子が必要です。

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

1. (オプション) [**暗号化**] では、次の操作を行います。

   1. DB スナップショットは暗号化されていないが、コピーを暗号化する場合、[**暗号を有効化**] を選択します。
**注記**  
DB スナップショットが暗号化されている場合は、コピーを暗号化する必要があります。そのため、チェックボックスは既にオンになっています。

   1. [**AWS KMS key**] で、DB スナップショットコピーの暗号化に使用する KMS キー識別子を指定します。

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

### AWS CLI
<a name="USER_CopySnapshot.CLI"></a>

AWS CLI の [copy-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-snapshot.html) コマンドを使用して、DB スナップショットをコピーできます。スナップショットのコピー先が新しい AWS リージョン である場合は、その新しい AWS リージョン でコマンドを実行します。

DB スナップショットをコピーするには、以下のオプションを使用します。状況に応じてオプションを使い分けることができます。以下の説明と例を参考にして、どのオプションを使用するか判断してください。
+ `--source-db-snapshot-identifier` - コピー元の DB スナップショットの識別子。
  + スナップショットのコピー元とコピー先が同じ AWS リージョン にある場合は、有効な DB スナップショットの識別子を指定します。例えば、`rds:mysql-instance1-snapshot-20130805`。
  + スナップショットのコピー元とコピー先が同じ AWS リージョン にあり、AWS アカウント と共有されている場合は、有効な DB スナップショットの ARN を指定します。例えば、`arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`。
  + スナップショットのコピー元とコピー先が異なる AWS リージョン である場合は、有効な DB スナップショットの ARN を指定します。例えば、`arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`。
  + 共有された手動 DB スナップショットからコピーする場合、このパラメータは、共有された DB スナップショットの Amazon リソースネーム (ARN) であることが必要です。
  + 暗号化されたスナップショットをコピーする場合、このパラメータは、コピー元の AWS リージョン の ARN 形式であること、さらに `PreSignedUrl` パラメータの `SourceDBSnapshotIdentifier` と一致することが必要です。
+ `--target-db-snapshot-identifier` - 暗号化された DB スナップショットの新しいコピーの識別子。
+ `--copy-option-group` – AWS アカウント と共有されているスナップショットからオプショングループをコピーします。
+ `--copy-tags` - スナップショットからスナップショットのコピーにタグと値をコピーするために使用します。
+ `--option-group-name` - スナップショットのコピーに関連付けるオプショングループ。

  AWS リージョン 間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このオプションを指定します。

  コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このオプションを指定する必要があります。詳しくは、「[オプショングループの考慮事項](#USER_CopySnapshot.Options)」を参照してください。
+ `--kms-key-id` - 暗号化された DB スナップショットの KMS キー識別子。KMS キー識別子は、KMS キーの Amazon リソースネーム (ARN)、キー識別子、またはキーエイリアスです。
  + AWS アカウント から暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定して、新しい KMS キーでコピーを暗号化できます。このパラメータの値を指定しないと、DB スナップショットのコピーはコピー元の DB スナップショットと同じ KMS キーで暗号化されます。
  + 別の AWS アカウント から共有されている暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定する必要があります。
  + このパラメータを指定して暗号化されていないスナップショットをコピーすると、コピーは暗号化されます。
  + 暗号化されたスナップショットを別の AWS リージョン にコピーする場合は、コピー先 AWS リージョン の KMS キーを指定する必要があります。KMS キーは、それらが作成された AWS リージョン に固有のものであるため、ある AWS リージョン の暗号化キーを別の AWS リージョン で使用することはできません。

**Example 暗号化されていない出典を同じリージョン内でコピー**  
次のコードでは、スナップショットのコピーを `mydbsnapshotcopy` という新しい名前で、コピー元のスナップショットと同じ AWS リージョン に作成します。コピーが作成されると、元のスナップショット DB オプショングループとタグがコピーされたスナップショットにコピーされます。  
Linux、macOS、Unix の場合:  

```
aws rds copy-db-snapshot \
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 \
    --target-db-snapshot-identifier mydbsnapshotcopy \
    --copy-option-group \
    --copy-tags
```
Windows の場合:  

```
aws rds copy-db-snapshot ^
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^
    --target-db-snapshot-identifier mydbsnapshotcopy ^
    --copy-option-group ^
    --copy-tags
```

**Example 暗号化されていない出典をリージョン間でコピー**  
次のコードでは、スナップショットのコピーを `mydbsnapshotcopy` という新しい名前で、コマンドの実行先の AWS リージョン に作成します。  
Linux、macOS、Unix の場合:  

```
aws rds copy-db-snapshot \
    --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 \
    --target-db-snapshot-identifier mydbsnapshotcopy
```
Windows の場合:  

```
aws rds copy-db-snapshot ^
    --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^
    --target-db-snapshot-identifier mydbsnapshotcopy
```

**Example 暗号化された出典をリージョン間でコピー**  
次のコード例では、米国西部 (オレゴン) リージョンから US East (N. Virginia) リージョンに暗号化された DB スナップショットをコピーします。コピー先リージョン (us-east-1) でコマンドを実行します。  
Linux、macOS、Unix の場合:  

```
aws rds copy-db-snapshot \
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 \
    --target-db-snapshot-identifier mydbsnapshotcopy \
    --kms-key-id my-us-east-1-key \ 
    --option-group-name custom-option-group-name
```
Windows の場合:  

```
aws rds copy-db-snapshot ^
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 ^
    --target-db-snapshot-identifier mydbsnapshotcopy ^
    --kms-key-id my-us-east-1-key ^
    --option-group-name custom-option-group-name
```

`--source-region` パラメータは、AWS GovCloud (米国東部) と AWS GovCloud (米国西部) リージョン間で暗号化されたスナップショットをコピーする場合に必要です。`--source-region` には、ソース DB インスタンスの AWS リージョン を指定します。

`--source-region` を指定しない場合、`--pre-signed-url` の値を指定する必要があります。*署名付きの URL* は、ソースの AWS リージョン で呼び出される `copy-db-snapshot` コマンドに対する、署名バージョン 4 で署名されたリクエストを含む URL です。`pre-signed-url` オプションの詳細については、*AWS CLI コマンドリファレンス*の「[copy-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-snapshot.html)」を参照してください。

### RDS API
<a name="USER_CopySnapshot.API"></a>

Amazon RDS API の [CopyDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBSnapshot.html) オペレーションを使用して、DB スナップショットをコピーできます。スナップショットのコピー先が新しい AWS リージョン である場合は、その新しい AWS リージョン でアクションを実行します。

DB スナップショットをコピーするには、以下のパラメータを使用します。状況に応じてパラメータを使い分けることができます。以下の説明と例を参考にして、どのパラメータを使用するか判断してください。
+ `SourceDBSnapshotIdentifier` - コピー元の DB スナップショットの識別子。
  + スナップショットのコピー元とコピー先が同じ AWS リージョン にある場合は、有効な DB スナップショットの識別子を指定します。例えば、`rds:mysql-instance1-snapshot-20130805`。
  + スナップショットのコピー元とコピー先が同じ AWS リージョン にあり、AWS アカウント と共有されている場合は、有効な DB スナップショットの ARN を指定します。例えば、`arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`。
  + スナップショットのコピー元とコピー先が異なる AWS リージョン である場合は、有効な DB スナップショットの ARN を指定します。例えば、`arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`。
  + 共有された手動 DB スナップショットからコピーする場合、このパラメータは、共有された DB スナップショットの Amazon リソースネーム (ARN) であることが必要です。
  + 暗号化されたスナップショットをコピーする場合、このパラメータは、コピー元の AWS リージョン の ARN 形式であること、さらに `PreSignedUrl` パラメータの `SourceDBSnapshotIdentifier` と一致することが必要です。
+ `TargetDBSnapshotIdentifier` - 暗号化された DB スナップショットの新しいコピーの識別子。
+ `CopyOptionGroup` - 共有スナップショットからスナップショットのコピーにオプショングループをコピーするには、このパラメータを `true` に設定します。デフォルトは `false` です。
+ `CopyTags` - スナップショットからスナップショットのコピーにタグと値をコピーするには、このパラメータを `true` に設定します。デフォルト: `false`。
+ `OptionGroupName` - スナップショットのコピーに関連付けるオプショングループ。

  AWS リージョン 間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このパラメータを指定します。

  コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このパラメータを指定する必要があります。詳しくは、「[オプショングループの考慮事項](#USER_CopySnapshot.Options)」を参照してください。
+ `KmsKeyId` - 暗号化された DB スナップショットの KMS キー識別子。KMS キー識別子は、KMS キーの Amazon リソースネーム (ARN)、キー識別子、またはキーエイリアスです。
  + AWS アカウント から暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定して、新しい KMS キーでコピーを暗号化できます。このパラメータの値を指定しないと、DB スナップショットのコピーはコピー元の DB スナップショットと同じ KMS キーで暗号化されます。
  + 別の AWS アカウント から共有されている暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定する必要があります。
  + このパラメータを指定して暗号化されていないスナップショットをコピーすると、コピーは暗号化されます。
  + 暗号化されたスナップショットを別の AWS リージョン にコピーする場合は、コピー先 AWS リージョン の KMS キーを指定する必要があります。KMS キーは、それらが作成された AWS リージョン に固有のものであるため、ある AWS リージョン の暗号化キーを別の AWS リージョン で使用することはできません。
+ `PreSignedUrl` - コピー元の DB スナップショットがあるコピー元の AWS リージョン で `CopyDBSnapshot` API オペレーションに対する署名バージョン 4 で署名されたリクエストを含む URL。

  Amazon RDS API を使用して、暗号化された DB スナップショットを別の AWS リージョン からコピーするときに、このパラメータを指定します。AWS CLI を使用して、暗号化された DB スナップショットを別の AWS リージョン からコピーするときは、このパラメータの代わりにコピー元のリージョンのオプションを指定できます。

  署名付き URL は、コピー元の暗号化された DB スナップショットがあるコピー元の AWS リージョン で実行できる `CopyDBSnapshot` API オペレーションに対する有効なリクエストでなければなりません。署名付き URL リクエストでは、以下のパラメータ値を指定する必要があります。
  + `DestinationRegion` - 暗号化された DB スナップショットのコピー先の AWS リージョン。これは、この署名付き URL がある、`CopyDBSnapshot` オペレーションの呼び出し元の AWS リージョン と同じです。

    例えば、us-west-2 リージョンから us-east-1 リージョンに暗号化された DB スナップショットをコピーするとします。次に、us-east-1 リージョンで `CopyDBSnapshot` オペレーションを呼び出し、us-west-2 リージョンでの `CopyDBSnapshot` オペレーションへの呼び出しを含む事前署名された URL を指定します。この例では、署名付き URL の `DestinationRegion` を us-east-1 リージョンに設定する必要があります。
  + `KmsKeyId` - コピー先 で DB スナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。AWS リージョンこれは、コピー先の AWS リージョン で呼び出す `CopyDBSnapshot` オペレーションおよび署名付き URL に含まれているオペレーションの両方で同じ識別子です。
  + `SourceDBSnapshotIdentifier` - コピー元の暗号化されたスナップショットの DB スナップショット識別子。この識別子は、ソース AWS リージョン の Amazon リソースネーム (ARN) 形式であることが必要です。例えば、暗号化された DB スナップショットを us-west-2 リージョンからコピーする場合、`SourceDBSnapshotIdentifier` は次の `arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115` の例のようになります。

  書名バージョン 4 の 署名要件についての詳細は、以下を参照してください。
  + Amazon Simple Storage Service API リファレンスの「[リクエストの認証: クエリパラメータの使用 (AWS 署名バージョン 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)」
  + AWS 全般のリファレンスの「[署名バージョン 4 の署名プロセス](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)」

**Example 暗号化されていない出典を同じリージョン内でコピー**  
次のコードでは、スナップショットのコピーを `mydbsnapshotcopy` という新しい名前で、コピー元のスナップショットと同じ AWS リージョン に作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。  

```
https://rds.us-west-1.amazonaws.com/
	?Action=CopyDBSnapshot
	&CopyTags=true
	&SignatureMethod=HmacSHA256
	&SignatureVersion=4
	&SourceDBSnapshotIdentifier=mysql-instance1-snapshot-20130805
	&TargetDBSnapshotIdentifier=mydbsnapshotcopy
	&Version=2013-09-09
	&X-Amz-Algorithm=AWS4-HMAC-SHA256
	&X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request
	&X-Amz-Date=20140429T175351Z
	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
	&X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
```

**Example 暗号化されていない出典をリージョン間でコピー**  
次のコードでは、スナップショットのコピーを `mydbsnapshotcopy` という新しい名前で 米国西部 (北カリフォルニア) リージョンに作成します。  

```
https://rds.us-west-1.amazonaws.com/
	?Action=CopyDBSnapshot
	&SignatureMethod=HmacSHA256
	&SignatureVersion=4
	&SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20130805
	&TargetDBSnapshotIdentifier=mydbsnapshotcopy
	&Version=2013-09-09
	&X-Amz-Algorithm=AWS4-HMAC-SHA256
	&X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request
	&X-Amz-Date=20140429T175351Z
	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
	&X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
```

**Example 暗号化された出典をリージョン間でコピー**  
次のコードでは、スナップショットのコピーを `mydbsnapshotcopy` という新しい名前で米国東部 (バージニア北部) リージョンに作成します。  

```
https://rds.us-east-1.amazonaws.com/
    ?Action=CopyDBSnapshot
    &KmsKeyId=my-us-east-1-key
    &OptionGroupName=custom-option-group-name
    &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F
         %253FAction%253DCopyDBSnapshot
         %2526DestinationRegion%253Dus-east-1
         %2526KmsKeyId%253Dmy-us-east-1-key
         %2526SourceDBSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Asnapshot%25253Amysql-instance1-snapshot-20161115
         %2526SignatureMethod%253DHmacSHA256
         %2526SignatureVersion%253D4
         %2526Version%253D2014-10-31
         %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256
         %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request
         %2526X-Amz-Date%253D20161117T215409Z
         %2526X-Amz-Expires%253D3600
         %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date
         %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20161115
    &TargetDBSnapshotIdentifier=mydbsnapshotcopy
    &Version=2014-10-31
    &X-Amz-Algorithm=AWS4-HMAC-SHA256
    &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
    &X-Amz-Date=20161117T221704Z
    &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
    &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf
```

## 制限事項
<a name="USER_CopySnapshot.Limitations"></a>

スナップショットをコピーする際の制約は以下のとおりです。
+ 中国 (北京) リージョンまたは 中国 (寧夏) リージョンとの間でスナップショットをコピーすることはできません。
+  AWS GovCloud (米国東部) と AWS GovCloud (US-West) の間でスナップショットをコピーすることはできます。ただし、これらの GovCloud (US) リージョンと GovCloud (US) リージョン以外のリージョンの間でスナップショットをコピーすることはできません。
+ ターゲットスナップショットが使用可能になる前に出典スナップショットを削除すると、スナップショットはコピーされない場合があります。ターゲットスナップショットのステータスが `AVAILABLE` になったことを確認してから、出典スナップショットを削除してください。
+ アカウントあたり 1 つのコピー先リージョンに対して最大 20 のスナップショットコピーリクエストを実行できます。
+ 同じソース DB インスタンスに対して複数のスナップショットコピーをリクエストすると、それらは内部的にキューに追加されます。後でリクエストされたコピーは、それ以前のスナップショットコピーが完了するまで開始されません。詳細については、AWS ナレッジセンターの「[ Why is my EC2 AMI or EBS snapshot creation slow? (EC2 AMI または EBS スナップショットの作成が遅いのはなぜですか?)](https://aws.amazon.com/premiumsupport/knowledge-center/ebs-snapshot-ec2-ami-creation-slow/)」を参照してください。
+ 関連する AWS リージョン およびデータのコピー量に応じて、リージョン間のスナップショットのコピーは完了するまでに長時間かかることがあります。場合によっては、特定のコピー元 リージョンから多数のクロスリージョンスナップショットコピーのリクエストが発生することがあります。このような場合、Amazon RDS は進行中のいくつかのコピーが完了するまで、そのコピー元リージョンからの新しいクロスリージョンコピーリクエストをキューに入れることがあります。コピーリクエストがキューに入っている間は、そのリクエストに関する進捗情報は表示されません。コピーがスタートしたときに、進捗情報は表示されます。
+ 別のコピーをスタートするときにコピーがまだ保留中の場合は、初期のコピーが終了するまで 2 番目のコピーはスタートされません。
+ マルチ AZ DB クラスターのスナップショットはコピーできません。
+ io2 ボリュームを使用する DB インスタンスのスナップショットは、io2 Block Express ボリュームが利用可能な AWS リージョン にのみコピーできます。詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。

## 考慮事項
<a name="USER_CopySnapshot.Considerations"></a>

DB スナップショットをコピーする際の考慮事項については、以下のトピックを参照してください。

**Topics**
+ [スナップショット保持期限](#USER_CopySnapshot.Retention)
+ [共有スナップショットコピーに関する考慮事項](#USER_CopySnapshot.Shared)
+ [暗号化されたスナップショットのコピーに関する考慮事項](#USER_CopySnapshot.Encryption)
+ [増分スナップショットのコピーに関する考慮事項](#USER_CopySnapshot.Incremental)
+ [リージョン間スナップショットのコピーに関する考慮事項](#USER_CopySnapshot.AcrossRegions)
+ [オプショングループの考慮事項](#USER_CopySnapshot.Options)
+ [パラメータグループの考慮事項](#USER_CopySnapshot.Parameters)

### スナップショット保持期限
<a name="USER_CopySnapshot.Retention"></a>

Amazon RDS は自動スナップショットをいくつかの状況で削除します。
+ 保持期間の終了時。
+ DB インスタンスの自動スナップショットを無効にした場合。
+ DB インスタンスを削除した場合。

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

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

### 共有スナップショットコピーに関する考慮事項
<a name="USER_CopySnapshot.Shared"></a>

他の AWS アカウント アカウントにより共有されているスナップショットをコピーすることができます。場合によっては、別の AWS アカウント から共有された暗号化されたスナップショットをコピーすることがあります。このような場合、スナップショットの暗号化に使用された AWS KMS key へのアクセス権が必要になります。

**注記**  
Amazon RDS ストレージの費用は、コピーした共有スナップショットに適用されます。Amazon RDS は、コピーしたスナップショットにソース DB インスタンスの ARN をアタッチする場合があります。

スナップショットが暗号化されていない場合、共有 DB スナップショットは、別の AWS リージョン にコピーできます。

**注記**  
同じ AWS リージョン 内の共有増分スナップショットのコピーは、暗号化されていない場合や、初期のフルスナップショットと同じ KMS キーを使用して暗号化されている場合にサポートされます。コピー時に別の KMS キーを使用して後続のスナップショットを暗号化すると、それらの共有スナップショットはフルスナップショットになります。詳細については、「[増分スナップショットのコピーに関する考慮事項](#USER_CopySnapshot.Incremental)」を参照してください。

#### 1 つのステップでのクロスリージョンコピーとクロスアカウントコピー
<a name="cross-region-cross-account-copy"></a>

 スナップショットのクロスリージョンおよびクロスアカウントを 1 つのアクションでコピーするには、まずスナップショットをターゲット AWS アカウントと共有する必要があります。スナップショットが暗号化されている場合は、AWS KMS キーをターゲット AWS アカウントと共有する必要があります。スナップショットがデフォルト AWS KMS キーで暗号化されている場合は、まずスナップショットをコピーしてカスタマーマネージドキーで再暗号化してから、ターゲットアカウントと共有する必要があります。共有されると、ターゲットアカウントからそのアカウント (リージョン内またはクロスリージョン) へのコピーを開始できます。

### 暗号化されたスナップショットのコピーに関する考慮事項
<a name="USER_CopySnapshot.Encryption"></a>

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

リージョン間で、暗号化されたスナップショットをコピーする場合は、送信先の AWS リージョン で有効な KMS キーを指定する必要があります。これは、リージョン固有の KMS キーでも、マルチリージョンのキーでもかまいません。マルチリージョンの KMS キーの詳細については、「[AWS KMS でマルチリージョンキーを使用する](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)」を参照してください。

ソーススナップショットはコピープロセス全体で暗号化されたままになります。詳細については、「[Amazon RDS の暗号化された DB インスタンスの制限事項](Overview.Encryption.md#Overview.Encryption.Limitations)」を参照してください。

さらに、暗号化されていない スナップショットのコピーも暗号化できます。この方法で、以前には暗号化されていなかった DB インスタンスに簡単に暗号化を追加できます。このためには、暗号化の準備ができた段階で、DB インスタンスのスナップショットを作成します。次に、そのスナップショットのコピーを作成し、KMS キーを指定してそのスナップショットコピーを暗号化します。こうすることで、この暗号化されたスナップショットから暗号化された DB インスタンスを復元できます。

**重要**  
Amazon RDS などのマネージドサービスを使用する AWS KMS キーポリシーですべてのリソース (\$1) に明示的な拒否ステートメントを使用する場合は、リソース所有アカウントを許可する条件を指定する必要があります。拒否ルールに IAM ユーザーの例外が含まれている場合でも、この条件がないとコピー操作が失敗することがあります。

Amazon RDS の AWS KMS キー管理の詳細については、「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

#### 暗号化されたスナップショットをコピーするために必要なアクセス許可
<a name="USER_CopySnapshot.Encryption.Permissions"></a>

暗号された DB スナップショットをコピーするには、ユーザーに Amazon RDS 暗号化を使用するための次のアクセス許可が必要です。
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:GenerateDataKey`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncrypt`

IAM ポリシー条件を使用して AWS KMS の許可オペレーションを制限する場合は、ポリシーに Amazon RDS に必要なすべてのオペレーションが含まれていることを確認してください。リージョン間で暗号化されたスナップショットをコピーするときに `KMSKeyNotAccessibleFault` エラーが表示された場合は、IAM ポリシーに上記のすべての必要な AWS KMS 権限オペレーションが含まれていることを確認します。

### 増分スナップショットのコピーに関する考慮事項
<a name="USER_CopySnapshot.Incremental"></a>

*差分*スナップショットには、同じ DB インスタンスの最新のスナップショット以降に変更されたデータのみが含まれます。差分スナップショットのコピーは高速であり、フルスナップショットコピーよりストレージコストが低くなります。

スナップショットコピーが増分かどうかは、最近完了したスナップショットコピーとソーススナップショットによって決定されます。最近のスナップショットコピーが削除され、次のコピーがフルコピーである場合、増分コピーではありません。スナップショットコピーは、ソーススナップショットと同じタイプになります。ソーススナップショットが差分スナップショットの場合、スナップショットのコピーは差分スナップショットになります。増分は、最新のスナップショット以降にソース DB インスタンスで発生した変更の数によっても決まります。

AWS アカウント 間でスナップショットをコピーするとき、次のすべての条件に合致する場合のみ、コピーは増分コピーになります。
+ 最新のスナップショットコピーは同じソース DB インスタンスのもので、送信先アカウントに存在します。
+ 送信先アカウントのスナップショットのコピーがすべて、暗号化されていないか、あるいは同じ CMK キーを使って暗号化されていた。暗号化されている場合、同じ系列である必要があります。つまり、継承の深さ、および対応するレベルで一貫した暗号化キーが一致している必要があります。
+ ソース DB インスタンスがマルチ AZ インスタンスの場合、最後のスナップショットが取得されてから別の AZ にフェイルオーバーしていません。

次の例は、フルスナップショットと増分スナップショットの違いを示しています。これらは、共有スナップショットと非共有スナップショットの両方に適用されます。


| スナップショット | Encryption key | フルまたは増分 | 
| --- | --- | --- | 
| S1 | K1 | フル | 
| S2 | K1 | S1 の増分 | 
| S3 | K1 | S2 の増分 | 
| S4 | K1 | S3 の増分 | 
| S1 のコピー (S1C) | K2 | フル | 
| S2 のコピー (S2C) | K3 | フル | 
| S3 のコピー (S3C) | K3 | S2C の増分 | 
| S4 のコピー (S4C) | K3 | S3C の増分 | 
| S4 のコピー 2 (S4C2) | K4 | フル | 

**注記**  
これらの例では、スナップショット S2、S3、および S4 は、前のスナップショットがまだ存在する場合にのみ増分になります。  
コピーも同じです。スナップショットのコピー S3C および S4C は、前のコピーがまだ存在する場合にのみ増分になります。

AWS リージョン 間で増分スナップショットをコピーする方法については、「[フルコピーと増分コピー](#USER_CopySnapshot.AcrossRegions.Full)」を参照してください。

### リージョン間スナップショットのコピーに関する考慮事項
<a name="USER_CopySnapshot.AcrossRegions"></a>

AWS リージョン 間で DB スナップショットをコピーできます。クロスリージョンスナップショットコピーにはデータ転送料金が適用されます。クロスリージョンのスナップショットコピーには、特定の制約と考慮事項が適用されます。

#### クロスリージョン DB スナップショットコピーのリクエスト
<a name="USER_CopySnapshot.AcrossRegions.Policy"></a>

出典リージョンと通信してクロスリージョン DB のスナップショットコピーをリクエストするには、リクエスタ (IAM ロールまたは IAM ユーザー) が出典 DB スナップショットおよび出典リージョンへのアクセス権を持っている必要があります。

リクエスタの IAM ポリシーの特定の条件により、リクエストが失敗する可能性があります。次の例では、DB スナップショットを 米国東部 (オハイオ) から US East (N. Virginia) にコピーしていることを前提としています。これらの例は、リクエストが失敗する原因となるリクエスタの IAM ポリシー内の条件を示しています。
+ リクエスタのポリシーには、`aws:RequestedRegion` の条件があります。

  ```
  ...
  "Effect": "Allow",
  "Action": "rds:CopyDBSnapshot",
  "Resource": "*",
  "Condition": {
      "StringEquals": {
          "aws:RequestedRegion": "us-east-1"
      }
  }
  ```

  ポリシーが出典リージョンへのアクセスを許可していないため、リクエストは失敗します。リクエストを正常に実行するには、出典リージョンとコピー先リージョンの両方を指定します。

  ```
  ...
  "Effect": "Allow",
  "Action": "rds:CopyDBSnapshot",
  "Resource": "*",
  "Condition": {
      "StringEquals": {
          "aws:RequestedRegion": [
              "us-east-1",
              "us-east-2"
          ]
      }
  }
  ```
+ リクエスタのポリシーでは、出典 DB スナップショットへのアクセスが許可されていません。

  ```
  ...
  "Effect": "Allow",
  "Action": "rds:CopyDBSnapshot",
  "Resource": "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot"
  ...
  ```

  リクエストを正常に実行するには、出典スナップショットとターゲットスナップショットの両方を指定します。

  ```
  ...
  "Effect": "Allow",
  "Action": "rds:CopyDBSnapshot",
  "Resource": [
      "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot",
      "arn:aws:rds:us-east-2:123456789012:snapshot:source-snapshot"
  ]
  ...
  ```
+ リクエスターのポリシーが `aws:ViaAWSService` を拒否します。

  ```
  ...
  "Effect": "Allow",
  "Action": "rds:CopyDBSnapshot",
  "Resource": "*",
  "Condition": {
      "Bool": {"aws:ViaAWSService": "false"}
  }
  ```

  出典リージョンとの通信は、リクエスタに代わって RDS によって行われます。リクエストを正常に実行するには、AWS のサービスからの呼び出しを拒否しないでください。
+ リクエスタのポリシーには、`aws:SourceVpc` または `aws:SourceVpce` の条件があります。

  RDS がリモートリージョンへの呼び出しを行うとき、指定された VPC または VPC エンドポイントからの呼び出しではないため、これらのリクエストは失敗する可能性があります。

リクエストが失敗する原因となる前述の条件のいずれかを使用する必要がある場合は、ポリシーに `aws:CalledVia` とともに 2 番目のステートメントを含めて、リクエストを成功させることができます。例えば、次のように `aws:CalledVia` と `aws:SourceVpce` を使用できます。

```
...
"Effect": "Allow",
"Action": "rds:CopyDBSnapshot",
"Resource": "*",
"Condition": {
    "Condition" : { 
        "ForAnyValue:StringEquals" : {
          "aws:SourceVpce": "vpce-1a2b3c4d"
        }
     }
},
{
    "Effect": "Allow",
    "Action": [
        "rds:CopyDBSnapshot"
    ],
    "Resource": "*",
    "Condition": {
        "ForAnyValue:StringEquals": {
            "aws:CalledVia": [
                "rds.amazonaws.com"
            ]
        }
    }
}
```

詳細については、*IAM ユーザーガイド* の 「[IAM のポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

#### スナップショットコピーの承認
<a name="USER_CopySnapshot.AcrossRegions.Auth"></a>

クロスリージョン DB スナップショットコピーリクエストが `success` を返した後、RDS はバックグラウンドでコピーをスタートします。RDS が出典スナップショットにアクセスするための承認が作成されます。この承認は、出典 DB スナップショットをターゲット DB スナップショットにリンクし、RDS が指定されたターゲットスナップショットにのみコピーできるようにします。

 承認は、サービスにリンクされた IAM ロールの `rds:CrossRegionCommunication` アクセス許可を使用して RDS によって検証されます。コピーが承認されると、RDS は出典リージョンと通信し、コピーを完了します。

 RDS は、`CopyDBSnapshot` リクエストによって以前に許可されていない DB スナップショットにアクセスできません。コピーが完了すると、認可は取り消されます。

 RDS は、サービスリンクされたロールを使用して、出典リージョンでの承認を確認します。コピープロセス中にサービスリンクされたロールを削除すると、コピーは失敗します。

詳細については、*IAM ユーザーガイド*の「[サービスにリンクされたロールの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)」を参照してください。

#### AWS Security Token Service 認証情報の使用
<a name="USER_CopySnapshot.AcrossRegions.assumeRole"></a>

グローバル AWS Security Token Service (AWS STS) エンドポイントからのセッショントークンは、デフォルトで有効になっている AWS リージョン (商用リージョン) でのみ有効です。`assumeRole` の AWS STS API 操作からの認証情報を使用する場合、出典リージョンがオプトインリージョンである場合は、そのリージョンのエンドポイントを使用します。それ以外の場合、このリクエストは失敗します。これは、認証情報が両方のリージョンで有効である必要があるために発生します。これは、そのリージョンの AWS STS エンドポイントが使用されている場合にのみオプトインリージョンに当てはまります。

グローバルエンドポイントを使用するには、オペレーションで両方のリージョンで有効になっていることを確認します。`Valid in all AWS リージョン` アカウント設定でグローバルエンドポイントを AWS STS に設定します。

 署名付き URL パラメータの認証情報にも同じルールが適用されます。

詳細については、*IAM ユーザーガイド*の「[AWS リージョン での AWS STS の管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)」を参照してください。

#### レイテンシーと複数のコピーリクエスト
<a name="USER_CopySnapshot.AcrossRegions.Latency"></a>

関連する AWS リージョン およびデータのコピー量に応じて、リージョン間のスナップショットのコピーは完了するまでに長時間かかることがあります。

場合によっては、特定のコピー元 AWS リージョン からの多数のクロスリージョンスナップショットコピーのリクエストが発生することがあります。このような場合、Amazon RDS は進行中のいくつかのコピーが完了するまで、そのコピー元 AWS リージョン からの新しいクロスリージョンコピーリクエストをキューに入れることがあります。コピーリクエストがキューに入っている間は、そのリクエストに関する進捗情報は表示されません。コピーがスタートされたときに、進捗情報は表示されます。

#### フルコピーと増分コピー
<a name="USER_CopySnapshot.AcrossRegions.Full"></a>

コピー元スナップショットとは異なる AWS リージョン にスナップショットをコピーする場合、初期のコピーでは、増分スナップショットをコピーした場合でもフルスナップショットコピーになります。フルスナップショットコピーには、DB インスタンスを復元するために必要なデータやメタデータすべてが含まれます。最初のスナップショットコピーの後、同じ DB インスタンスの増分スナップショットを同じ AWS アカウント 内の同じデスティネーションリージョンにコピーできます。増分スナップショットの詳細については、「[増分スナップショットのコピーに関する考慮事項](#USER_CopySnapshot.Incremental)」を参照してください。

AWS リージョン 間での増分スナップショットコピーは、暗号化されていないスナップショットと暗号化されたスナップショットの両方がサポートされています。

別の AWS リージョン にスナップショットをコピーする場合、次の条件に合致すればコピーは増分となります。
+ スナップショットが以前、コピー先のリージョンにコピーされたことがある。
+ 最近のスナップショットコピーがコピー先のリージョンにまだ存在する。
+ 送信先リージョンのスナップショットのコピーがすべて、暗号化されていないか、あるいは同じ KMS キーを使って暗号化されていた。

### オプショングループの考慮事項
<a name="USER_CopySnapshot.Options"></a>

DB オプショングループは、作成元の AWS リージョン 専用であり、作成元の AWS リージョン と異なる AWS リージョン では使用できません。

Oracle データベースの場合、AWS CLI または RDS API を使用して、AWS アカウント と共有されているスナップショットからカスタム DB オプショングループをコピーできます。同じ AWS リージョン 内のオプショングループのみコピーできます。オプショングループは、宛先アカウントに既にコピーされており、コピー後に変更が加えられていない場合はコピーされません。ソースのオプショングループが以前にコピーされ、コピー後に変更されている場合、RDS では新しいバージョンを宛先アカウントにコピーします。デフォルトのオプショングループはコピーされません。

リージョン間でスナップショットをコピーする際に、スナップショットの新しいオプショングループを指定できます。新しいオプショングループは、スナップショットをコピーする前に作成することをお勧めします。オプショングループを作成するには、コピー先の AWS リージョン で、元の DB インスタンスと同じ設定を使用します。新しい AWS リージョン に既にある場合は、それを使用できます。

場合によっては、スナップショットをコピーし、そのスナップショットの新しいオプショングループを指定しないこともあるでしょう。このような場合、スナップショットを復元すると、DB インスタンスはデフォルトのオプショングループを取得します。新しい DB インスタンスでコピー元と同じ設定を使用するには、以下の操作を行います。

1. オプショングループを作成するには、コピー先の AWS リージョン で、元の DB インスタンスと同じ設定を使用します。新しい AWS リージョン に既にある場合は、それを使用できます。

1. コピー先の AWS リージョン でスナップショットを復元したら、新しい DB インスタンスを変更し、前のステップの新規または既存のオプショングループを追加します。

### パラメータグループの考慮事項
<a name="USER_CopySnapshot.Parameters"></a>

リージョン間でスナップショットをコピーすると、コピーにはコピー元の DB インスタンスで使用されているパラメータグループは含まれません。スナップショットを復元して新しい DB インスタンスを作成すると、その DB インスタンスには、作成先 AWS リージョン でのデフォルトのパラメータグループが適用されます。新しい DB インスタンスでコピー元と同じパラメータを使用するには、以下の操作を行います。

1. DB パラメータグループを作成するには、コピー先の AWS リージョン で元の DB インスタンスと同じ設定を使用します。新しい AWS リージョン に既にある場合は、それを使用できます。

1. コピー先の AWS リージョン でスナップショットを復元したら、新しい DB インスタンスを変更し、前のステップの新規または既存のパラメータグループを追加します。

# Amazon RDS の DB スナップショットを共有する
<a name="USER_ShareSnapshot"></a>

Amazon RDS を使用すると、次の方法で手動 DB スナップショットを共有できます。
+ 手動 DB スナップショットを共有すると、暗号化されているかいないかに関係なく、権限のある AWS アカウント がスナップショットをコピーできるようになります。
+ 暗号化されていない手動 DB スナップショットを共有すると、権限のある AWS アカウント が、DB インスタンスをコピーしてそこから復元するのではなく、スナップショットから DB インスタンスを直接復元できるようになります。ただし、共有され暗号化された DB スナップショットから、DB インスタンスを復元することはできません。代わりに、DB スナップショットのコピーを作成し、そのコピーから DB インスタンスを復元できます。

**注記**  
自動 DB スナップショットを共有するには、自動 DB スナップショットをコピーしてそのコピーを共有することで、手動スナップショットを作成します。このプロセスは、AWS Backup で生成されたリソースにも適用されます。

スナップショットのコピーの詳細については、「[Amazon RDS の DB スナップショットのコピー](USER_CopySnapshot.md)」を参照してください。DB スナップショットから DB インスタンスを復元する方法については、「[DB インスタンスへの復元](USER_RestoreFromSnapshot.md)」を参照してください。

手動スナップショットを最大 20 のその他の AWS アカウント と共有することができます。

手動スナップショットを他の AWS アカウントと共有する場合には、以下の制限が適用されます。
+ AWS Command Line Interface (AWS CLI) または Amazon RDS API を使用して共有スナップショットから DB インスタンスを復元する際、スナップショット識別子として共有スナップショットの Amazon リソースネーム (ARN) を指定する必要があります。
+ 固定オプションまたは永続オプションを持つオプショングループを使用する DB スナップショットを共有することはできません。`Timezone` または `OLS` オプション (あるいはその両方) を持つ Oracle DB インスタンスを除きます。

  *固定オプション*はオプショングループから削除できません。永続オプションを含むオプショングループは、そのオプショングループが DB インスタンスに割り当てられると、DB インスタンスから削除できなくなります。

  次の表は、固定オプションおよび永続オプションと、それらに関連する DB エンジンをリストしています。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)

  Oracle DB インスタンスの場合、`Timezone` または `OLS` オプション (あるいはその両方) を持つ共有 DB スナップショットをコピーできます。そのためには、DB スナップショットをコピーするときにこれらのオプションを含むターゲットオプショングループを指定します。OLS オプションは、Oracle バージョン 12.2 以降を実行している Oracle DB インスタンスに対してのみ恒久的かつ永続的です。これらのオプションの詳細については、「[Oracle のタイムゾーン](Appendix.Oracle.Options.Timezone.md)」および「[Oracle Label Security](Oracle.Options.OLS.md)」を参照してください。
+ マルチ AZ DB クラスターのスナップショットは共有できません。
+ 追加のストレージボリュームが含まれているスナップショットは共有できません。

公開スナップショットの共有、暗号化されたスナップショットの共有、スナップショットの共有の停止については、以下のトピックを参照してください。

**トピック**
+ [Amazon RDS の公開スナップショットの共有](USER_ShareSnapshot.Public.md)
+ [Amazon RDS の暗号化されたスナップショットの共有](share-encrypted-snapshot.md)
+ [Amazon RDS のスナップショット共有の停止](share-snapshot-stop.md)

## スナップショットの共有
<a name="USER_ShareSnapshot.Sharing"></a>

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

### コンソール
<a name="USER_ShareSnapshot.Console"></a>

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

**Amazon RDS コンソールを使用して、手動 DB スナップショットを共有するには**

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

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

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

1. **[Actions]** (アクション) で、**[Share snapshot]** (スナップショットの共有) を選択します。

1. [**DB snapshot visibility**] で次のいずれかのオプションを選択します。
   + ソースが暗号化されていない場合、**[パブリック]** を選択して、すべての AWS アカウントが DB インスタンスをマニュアル DB スナップショットから復元できるようにするか、**[プライベート]** を選択して、指定した AWS アカウントだけが、DB インスタンスをマニュアル DB スナップショットから復元できるようにします。
**警告**  
**[DB スナップショットの可視性]** を **[パブリック]** に設定した場合、すべての AWS アカウントが手動 DB スナップショットから DB インスタンスを復元し、データにアクセスできるようになります。プライベート情報を含む手動 DB スナップショットは、[**Public**] として共有しないでください。  
詳細については、「[Amazon RDS の公開スナップショットの共有](USER_ShareSnapshot.Public.md)」を参照してください。
   + 出典 DB クラスターが暗号化されている場合、暗号化されているスナップショットはパブリックとして共有できないため、[**DB snapshot visibility**] が [**Private**] に設定されます。
**注記**  
デフォルトの AWS KMS key で暗号化されたスナップショットは共有できません。この問題を回避する方法については、「[Amazon RDS の暗号化されたスナップショットの共有](share-encrypted-snapshot.md)」を参照してください。

1. **[AWS アカウント ID]** では、手動スナップショットからの DB インスタンスの復元を許可するアカウントの AWS アカウント 識別子を入力してから、**[追加]** を選択します。この操作を繰り返して、AWS アカウント 識別子を最大 20 AWS アカウント まで含めます。

   許可されたアカウントのリストに AWS アカウント 識別子を誤って追加した場合には、正しくない AWS アカウント 識別子の右側にある **[削除]** を選択すれば、削除することができます。  
![\[手動 DB スナップショットの復元を AWS アカウント に許可する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ShareSnapshot_add.png)

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

### AWS CLI
<a name="USER_ShareSnapshot.CLI"></a>

DB スナップショットを共有するには、`aws rds modify-db-snapshot-attribute` コマンドを使用します。`--values-to-add` のパラメータを使用して、手動スナップショットの復元が許可されている AWS アカウント のための ID リストを追加します。

**Example スナップショットを 1 つのアカウントで共有する**  
次の例では、AWS アカウント 識別子 `123456789012` が `db7-snapshot` という名前の DB スナップショットを復元できるようにします。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-snapshot-attribute \
--db-snapshot-identifier db7-snapshot \
--attribute-name restore \
--values-to-add 123456789012
```
Windows の場合:  

```
aws rds modify-db-snapshot-attribute ^
--db-snapshot-identifier db7-snapshot ^
--attribute-name restore ^
--values-to-add 123456789012
```

**Example 複数のアカウントでスナップショットを共有する**  
次の例では、2 つの AWS アカウント 識別子 `111122223333` および `444455556666` が `manual-snapshot1` という名前の DB スナップショットを復元できるようにします。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-snapshot-attribute \
--db-snapshot-identifier manual-snapshot1 \
--attribute-name restore \
--values-to-add {"111122223333","444455556666"}
```
Windows の場合:  

```
aws rds modify-db-snapshot-attribute ^
--db-snapshot-identifier manual-snapshot1 ^
--attribute-name restore ^
--values-to-add "[\"111122223333\",\"444455556666\"]"
```
Windows コマンドプロンプトを使用する場合、JSON コードでは、二重引用符 (") の前にバックスラッシュ (\$1) を付けてエスケープする必要があります。

スナップショットの復元が有効になっている AWS アカウント を一覧表示するには、[https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshot-attributes.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshot-attributes.html) AWS CLI コマンドを使用します。

### RDS API
<a name="USER_ShareSnapshot.API"></a>

Amazon RDS API を使用することで、手動 DB スナップショットを他の AWS アカウント と共有することもできます。そのためには、[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshotAttribute.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshotAttribute.html) オペレーションを呼び出します。`AttributeName` に `restore` を指定し、`ValuesToAdd` パラメータを使用して、手動 スナップショットの復元が許可されている AWS アカウント の ID のリストを追加します。

手動スナップショットをパブリックにして、すべての AWS アカウント による復元を可能にするには、値 `all` を使用します。ただし、すべての AWS アカウント には利用させたくないプライベート情報を含む手動スナップショットについては、値 `all` を追加しないように注意してください。また、暗号化されているスナップショットでは `all` を指定しないでください。そのようなスナップショットをパブリックにすることはできないためです。

スナップショットの復元が許可されているすべての AWS アカウント を一覧表示するには、[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotAttributes.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotAttributes.html) API 操作を使用します。

# Amazon RDS の公開スナップショットの共有
<a name="USER_ShareSnapshot.Public"></a>

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

スナップショットがパブリックに共有されると、スナップショットをコピーし、そこから DB インスタンスを作成するためのすべての AWS アカウント アクセス許可が付与されます。

他のアカウントが所有する公開スナップショットのバックアップストレージについては課金されません。課金されるのは、所有しているスナップショットに対してのみです。

公開スナップショットをコピーする場合は、そのコピーを所有します。スナップショットコピーのバックアップストレージに対しては課金されます。DB インスタンスを公開スナップショットから作成する場合、その DB インスタンスに対して課金されます。Amazon RDS の料金情報については、[Amazon RDS の製品ページ](https://aws.amazon.com/rds/pricing)を参照してください。

削除できるのは、所有している公開スナップショットのみです。共有またはパブリックスナップショットを削除するには、そのスナップショットを所有する AWS アカウント にログインできることを確認してください。

## 他の AWS アカウント が所有するパブリックスナップショットの表示
<a name="USER_ShareSnapshot.Public.View.Console"></a>

Amazon RDS コンソールの [**Snapshots**] (スナップショット) ページにある [**Public**] (公開) タブの特定の AWS リージョンで、他のアカウントが所有する公開スナップショットを表示できます。(自分のアカウントが所有する) スナップショットは、このタブには表示されません。

**公開スナップショットを表示するには**

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

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

1. [**Public (公開)**] タブを選択します。

   公開スナップショットが表示されます。[**Owner (所有者)**] 列に、公開スナップショットを所有しているアカウントが表示されます。
**注記**  
ページ設定を変更する必要がある場合、[**Public snapshots (公開スナップショット)**] リストの右上にあるギヤアイコンを選択して、この列を表示させます。

## 独自の公開スナップショットの表示
<a name="USER_ShareSnapshot.Public.View.CLI"></a>

次の AWS CLI コマンド (Unix のみ) を使用して、特定の AWS リージョンの AWS アカウント が所有するパブリックスナップショットを表示することができます。

```
aws rds describe-db-snapshots --snapshot-type public --include-public | grep account_number
```

公開スナップショットがある場合、次の例のような出力が返されます。

```
"DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot1",
"DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot2",
```

**注記**  
`DBSnapshotIdentifier` または `SourceDBSnapshotIdentifier` のエントリが重複する場合があります。

## 廃止された DB エンジンバージョンからのパブリックスナップショットの共有
<a name="USER_ShareSnapshot.Public.deprecated"></a>

廃止された DB エンジンバージョンからのパブリックスナップショットの復元またはコピーはサポートされていません。

RDS for Oracle エンジンと RDS for PostgreSQL DB エンジンは、DB スナップショットのエンジンバージョンの直接アップグレードをサポートしています。スナップショットをアップグレードして、再度パブリックに共有できます。詳細については、次を参照してください:
+ [Oracle DB スナップショットのアップグレード](USER_UpgradeDBSnapshot.Oracle.md)
+ [PostgreSQL DB スナップショットエンジンのバージョンのアップグレード](USER_UpgradeDBSnapshot.PostgreSQL.md)

その他の DB エンジンでは、以下の手順を実行して、サポート対象外の既存のパブリックスナップショットを復元したりコピーしたりできます。

1. スナップショットをプライベートとしてマークします。

1. スナップショットを復元します。

1. 復元した DB インスタンスを、サポートされているエンジンバージョンにアップグレードします。

1. 新しいスナップショットを作成します。

1. スナップショットをパブリックに再共有します。

# Amazon RDS の暗号化されたスナップショットの共有
<a name="share-encrypted-snapshot"></a>

「[Amazon RDS リソースの暗号化](Overview.Encryption.md)」で説明しているように、AES-256 暗号化アルゴリズムを使用して暗号化された「保存中」の DB スナップショットを共有できます。

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

  Amazon RDS の AWS KMS キー管理の詳細については、「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

デフォルトの KMS キーの問題を回避するには、以下のタスクを実行します。

1. [カスタマーマネージドキーを作成し、そのキーへのアクセス権を付与する](#share-encrypted-snapshot.cmk).

1. [ソースアカウントからスナップショットをコピーして共有する](#share-encrypted-snapshot.share).

1. [ターゲットアカウントに共有したスナップショットをコピーします。](#share-encrypted-snapshot.target).

## カスタマーマネージドキーを作成し、そのキーへのアクセス権を付与する
<a name="share-encrypted-snapshot.cmk"></a>

まず、暗号化された DB スナップショットと同じ AWS リージョン にカスタム KMS キーを作成します。カスタマーマネージドキーの作成中に、別の AWS アカウント にそのキーへのアクセス権を付与します。

**注記**  
キーポリシーがソースアカウントとターゲットアカウントへのアクセスを許可する場合、別の AWS アカウントの KMS キーを使用することもできます。

**カスタマーマネージドキーを作成し、そのキーへのアクセス権を付与するには**

1. ソース AWS アカウント から AWS マネジメントコンソール にサインインします。

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

1. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

1. ナビゲーションペインで、**[カスタマーマネージドキー]** を選択します。

1. **[Create key]** (キーの作成) を選択します。

1. **[キーの設定]** ページで、次の操作を行います。

   1. **[キータイプ]** として、**[対称]** を選択します。

   1. **[キーの使用]** で、**[暗号化および復号化]** を選択します。

   1. **[詳細オプション]** を展開します。

   1. **[キーマテリアルオリジン]** として、**[KMS]** を選択します。

   1. **[リージョン]** で、**[単一リージョンキー]** を選択します。

   1. **[次へ]** を選択します。

1. **[ラベルを追加]** ページで以下のように操作します。

   1. **[エイリアス]** には、**share-snapshot** のように KMS キーの表示名を入力します。

   1. (オプション) KMS キーの説明を入力します。

   1. (オプション) KMS キーにタグを追加します。

   1. [**次へ**] を選択します。

1. [**キー管理アクセス許可の定義**] ページで、[**次へ**] をクリックします。

1. **[キーの使用アクセス許可の定義]** ページで、次の操作を行います。

   1. **[その他の AWS アカウント]** では、**[別の AWS アカウント の追加]** を選択します。

   1. アクセスを許可する AWS アカウント の ID を入力します。

      複数の AWS アカウント にアクセス権を付与できます。

   1. [**次へ**] を選択します。

1. KMS キーを確認し、**[終了]** を選択します。

## ソースアカウントからスナップショットをコピーして共有する
<a name="share-encrypted-snapshot.share"></a>

次に、カスタマーマネージドキーを使用して、ソース DB スナップショットを新しいスナップショットにコピーします。次に、ターゲット AWS アカウント と共有します。

**スナップショットをコピーして共有するには**

1. ソース AWS アカウント から AWS マネジメントコンソール にサインインします。

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

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

1. コピーする DB スナップショットを選択します。

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

1. **[スナップショットのコピー]** ページで、次の操作を行います。

   1. **[デスティネーションリージョン]** で、前の手順でカスタマーマネージドキーを作成した場所を選択します。

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

   1. **[AWS KMS key]** で、作成したカスタマーマネージドキーを選択します。  
![\[カスタマーマネージドキーを選択します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/copy-encrypted-snapshot.png)

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

1. スナップショットのコピーが使用可能になったら、それを選択します。

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

1. **[スナップショットのアクセス許可]** ページで、次の操作を行います。

   1. スナップショットのコピーを共有する **[AWS アカウント ID]** を入力し、**[追加]** を選択します。

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

   スナップショットが共有されます。

## ターゲットアカウントに共有したスナップショットをコピーします。
<a name="share-encrypted-snapshot.target"></a>

これで、ターゲット AWS アカウント で共有スナップショットをコピーできます。

**共有したスナップショットをコピーするには**

1. ターゲット AWS アカウント から AWS マネジメントコンソール にサインインします。

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

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

1. **[自分と共有]** タブを選択します。

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

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

1. 前の手順のようにスナップショットをコピーするための設定を選択しますが、ターゲットアカウントに属する AWS KMS key を使用します。

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

# Amazon RDS のスナップショット共有の停止
<a name="share-snapshot-stop"></a>

DB スナップショットの共有を停止するには、ターゲット AWS アカウント からアクセス許可を削除します。

## コンソール
<a name="share-snapshot-stop.CON"></a>

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

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

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

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

1. **[Actions]** (アクション) を選択してから、**[Share Snapshot]** (スナップショットの共有) を選択します。

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

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

## CLI
<a name="share-snapshot-stop.CLI"></a>

リストから AWS アカウント の識別子を削除するには、`--values-to-remove` のパラメータを使用します。

**Example スナップショット共有を停止する**  
次の例は、AWS アカウント ID 444455556666 がスナップショットを復元できないようにします。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-snapshot-attribute \
--db-snapshot-identifier manual-snapshot1 \
--attribute-name restore \
--values-to-remove 444455556666
```
Windows の場合:  

```
aws rds modify-db-snapshot-attribute ^
--db-snapshot-identifier manual-snapshot1 ^
--attribute-name restore ^
--values-to-remove 444455556666
```

## RDS API
<a name="share-snapshot-stop.API"></a>

AWS アカウント でのアクセス許可の共有を削除するには、`AttributeName` を `restore` に設定し、かつ `ValuesToRemove` パラメータを含めて、[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterSnapshotAttribute.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterSnapshotAttribute.html) オペレーションを使用します。手動 スナップショットをプライベートとしてマークするには、`all` 属性の値リストから値 `restore` を削除します。

# Amazon RDS の Amazon S3 への DB スナップショットデータのエクスポート
<a name="USER_ExportSnapshot"></a>

DB スナップショットデータを Amazon S3 バケットにエクスポートできます。エクスポートプロセスはバックグラウンドで実行されるため、アクティブな DB クラスターのパフォーマンスには影響しません。

DB スナップショットをエクスポートすると、Amazon RDS はスナップショットからデータを抽出して Amazon S3 バケットに保存します。データは Apache Parquet 形式で一貫して圧縮され、保存されます。

すべてのタイプの DB スナップショット (手動スナップショット、自動システムスナップショット、AWS Backup サービスで作成されたスナップショットなど) をエクスポートできます。デフォルトでは、スナップショット内のすべてのデータがエクスポートされます。ただし、特定のデータベース、スキーマ、またはテーブルのセットをエクスポートすることもできます。

データをエクスポートすると、Amazon Athena や Amazon Redshift Spectrum などのツールを使用して、エクスポートしたデータを直接分析できます。Athena を使用して Parquet データを読み取る方法の詳細については、*Amazon Athena ユーザーガイド* の [Parquet SerDe](https://docs.aws.amazon.com/athena/latest/ug/parquet-serde.html) を参照してください。Redshift Spectrum を使用して Parquet データを読み取る方法の詳細については、[Amazon Redshift Database デベロッパーガイド](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html)の「*列指向データ形式からの COPY*」を参照してください。

**警告**  
エクスポートされたスナップショットデータを S3 から新しい DB インスタンスに復元したり、S3 から既存の DB インスタンスにスナップショットデータをインポートしたりすることはできません。ただし、分析のために Amazon Athena または Redshift Spectrum を使用してデータを処理することはできます。さらに、AWS Glue を使用してデータを変換し、AWS DMS やカスタムスクリプトなどのツールを使用して Amazon RDS にインポートできます。

DB スナップショットの Amazon S3 へのエクスポートの詳細については、以下のトピックを参照してください。

**トピック**
+ [Amazon RDS のスナップショットエクスポートのモニタリング](USER_ExportSnapshot.Monitoring.md)
+ [Amazon RDS のスナップショットのエクスポートタスクのキャンセル](USER_ExportSnapshot.Canceling.md)
+ [Amazon RDS の Amazon S3 エクスポートタスクの障害メッセージ](USER_ExportSnapshot.failure-msg.md)
+ [RDS for PostgreSQL のアクセス許可エラーのトラブルシューティング](USER_ExportSnapshot.postgres-permissions.md)
+ [Amazon RDS の Amazon S3 へのエクスポートのファイル命名規則](USER_ExportSnapshot.FileNames.md)
+ [Amazon RDS の Amazon S3 バケットにエクスポートする際のデータ変換](USER_ExportSnapshot.data-types.md)

## スナップショットデータのエクスポートの概要
<a name="USER_ExportSnapshot.Overview"></a>

次のプロセスを使用して、DB スナップショットデータを Amazon S3 バケットにエクスポートします。詳細については、次のセクションを参照してください。

1. エクスポートするスナップショットを特定します。

   既存の自動スナップショットまたは手動スナップショットを使用するか、DB インスタンスまたはマルチ AZ DB クラスターの手動スナップショットを作成します。

1. Amazon S3 バケットへのアクセスを設定します。

   *バケット*とは、Amazon S3 オブジェクトまたはファイルのコンテナです。バケットにアクセスするための情報を指定するには、次のステップに従います。

   1. スナップショットのエクスポート先の S3 バケットを特定します。S3 バケットはスナップショット同じ AWS リージョンに存在する必要があります。詳細については、「[エクスポート先の Amazon S3 バケットの特定](#USER_ExportSnapshot.SetupBucket)」を参照してください。

   1. スナップショットエクスポートタスクに対して S3 バケットへのアクセスを許可する AWS Identity and Access Management (IAM) ロールを作成します。詳細については、「[IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](#USER_ExportSnapshot.SetupIAMRole)」を参照してください。

1. サーバー側の暗号化用の対称暗号化 AWS KMS key を作成します。KMS キーは、エクスポートデータを S3 に書き込むときに AWS KMS サーバー側の暗号化を設定するために、スナップショットエクスポートタスクによって使用されます。

   KMS キーポリシーには、`kms:CreateGrant` と `kms:DescribeKey` の両方のアクセス許可を含める必要があります。Amazon RDS での KMS キーの使用方法の詳細については、「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

   KMS キーポリシーに deny ステートメントがある場合は、必ず AWS サービスプリンシパル `export.rds.amazonaws.com` を明示的に除外してください。

   AWSアカウント内で KMS キーを使用することも、クロスアカウント KMS キーを使用することもできます。詳細については、「[AWS KMS keyAmazon S3 エクスポートの暗号化にクロスアカウントを使用する](#USER_ExportSnapshot.CMK)」を参照してください。

1. コンソールまたは `start-export-task` CLI コマンドを使用して、スナップショットを Amazon S3 にエクスポートします。詳細については、「[Amazon S3 バケットへの DB スナップショットのエクスポート](#USER_ExportSnapshot.Exporting)」を参照してください。

1. Amazon S3 バケット内のエクスポートされたデータにアクセスするには、*Amazon Simple Storage Service ユーザーガイド*の「[オブジェクトのアップロード、ダウンロード、管理](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-download-objects.html)」を参照してください。

## Amazon S3 バケットへのアクセスを設定する
<a name="USER_ExportSnapshot.Setup"></a>

DB スナップショットデータを Amazon S3 ファイルにエクスポートするには、まず Amazon S3 バケットにアクセスするためのアクセス許可をスナップショットに付与します。次に、Amazon S3 バケットへの書き込みを Amazon RDS サービスに許可するための IAM ロールを作成します。

**Topics**
+ [エクスポート先の Amazon S3 バケットの特定](#USER_ExportSnapshot.SetupBucket)
+ [IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](#USER_ExportSnapshot.SetupIAMRole)
+ [クロスアカウント Amazon S3 バケットを使用する](#USER_ExportSnapshot.Setup.XAcctBucket)
+ [AWS KMS keyAmazon S3 エクスポートの暗号化にクロスアカウントを使用する](#USER_ExportSnapshot.CMK)

### エクスポート先の Amazon S3 バケットの特定
<a name="USER_ExportSnapshot.SetupBucket"></a>

DB スナップショットをエクスポートする先の Amazon S3 バケットを特定します。既存の S3 バケットを使用するか、新しい S3 バケットを作成します。

**注記**  
エクスポート先の S3 バケットは、スナップショットと同じ AWS リージョンに存在している必要があります。

Amazon S3 バケットの操作の詳細については、*Amazon Simple Storage Service ユーザーガイド*で次のトピックを参照してください。
+ [S3 バケットのプロパティを表示する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [Amazon S3 バケットのデフォルト暗号化を有効にする方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [S3 バケットを作成する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

### IAM ロールを使用した Amazon S3 バケットへのアクセスの提供
<a name="USER_ExportSnapshot.SetupIAMRole"></a>

DB スナップショットデータを Amazon S3 にエクスポートする前に、スナップショットエクスポートタスクに対して Amazon S3 バケットへの書き込みアクセス権限を付与します。

このアクセス権限を付与するには、バケットへのアクセスを可能にする IAM ポリシーを作成し、次に IAM ロールを作成して、このロールにポリシーをアタッチします。後で IAM ロールをスナップショットエクスポートタスクに割り当てます。

Amazon S3 のその他の管理ツールの詳細については、「*Amazon S3 ユーザーガイド*」の「[Amazon S3 でのアクセスコントロール](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)」を参照してください。

**重要**  
AWS マネジメントコンソール を使用してスナップショットをエクスポートしようとする場合は、スナップショットをエクスポートするときに IAM ポリシーとロールを自動的に作成するように選択できます。手順については、「[Amazon S3 バケットへの DB スナップショットのエクスポート](#USER_ExportSnapshot.Exporting)」を参照してください。

**Amazon S3 へのアクセスを DB スナップショットタスクに許可するには**

1. IAM ポリシーを作成します。このポリシーでバケットおよびオブジェクトへのアクセス許可を提供することにより、スナップショットエクスポートタスクから Amazon S3 にアクセスできるようにします。

   ポリシーには、Amazon RDS から S3 バケットへのファイル転送を許可するために、以下の必須アクションを含めます。
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   ポリシーには、S3 バケットとバケット内のオブジェクトを識別するために、以下のリソースを含めます。次のリソースのリストは、Amazon S3 にアクセスするための Amazon リソースネーム (ARN) 形式を示しています。
   + `arn:aws:s3:::amzn-s3-demo-bucket`
   + `arn:aws:s3:::amzn-s3-demo-bucket/*`

   Amazon RDS の IAM ポリシーの作成の詳細については、「[IAM データベースアクセス用の IAM ポリシーの作成と使用](UsingWithRDS.IAMDBAuth.IAMPolicy.md)」を参照してください。*IAM ユーザーガイド*の「[チュートリアル: はじめてのカスタマー管理ポリシーの作成とアタッチ](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html)」も参照してください。

   以下の AWS CLI コマンドでは、これらのオプションを指定して、`ExportPolicy` という名前の IAM ポリシーを作成します。*amzn-s3-demo-bucket* という名前のバケットへのアクセスを許可します。
**注記**  
ポリシーを作成したら、ポリシーの ARN を書き留めます。ポリシーを IAM ロールにアタッチする場合、後続のステップで ARN が必要です。

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }'
   ```

1. IAM ロールを作成することで、お客様に代わって Amazon RDS が IAM ロールを引き受け、Amazon S3 バケットにアクセスできるようにします。詳細については、*IAM ユーザーガイド*の「[IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)」を参照してください。

   以下の例は、AWS CLI コマンドを使用して、`rds-s3-export-role` という名前のロールを作成する例を示しています。

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. 作成した IAM ポリシーを、作成した IAM ロールにアタッチします。

   次の AWS CLI コマンドでは、先ほど作成したポリシーを `rds-s3-export-role` という名前のロールにアタッチします。`your-policy-arn` は、以前のステップで書き留めたポリシー ARN に置き換えます。

   ```
   aws iam attach-role-policy  --policy-arn your-policy-arn  --role-name rds-s3-export-role
   ```

### クロスアカウント Amazon S3 バケットを使用する
<a name="USER_ExportSnapshot.Setup.XAcctBucket"></a>

Amazon S3 バケットはAWSアカウント全体で使用できます。クロスアカウントバケットを使用するには、S3 エクスポートに使用している IAM ロールへのアクセスを許可するバケットポリシーを追加してください。詳細については、「[例 2: クロスアカウントバケット権限を付与するバケット所有者](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)」を参照してください。

次の例のように、バケットポリシーをバケットに添付します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:role/Admin"
            },
            "Action": [
                "s3:PutObject*",
                "s3:ListBucket",
                "s3:GetObject*",
                "s3:DeleteObject*",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ]
        }
    ]
}
```

------

### AWS KMS keyAmazon S3 エクスポートの暗号化にクロスアカウントを使用する
<a name="USER_ExportSnapshot.CMK"></a>

AWS KMS keyAmazon S3 エクスポートの暗号化にクロスアカウントを使用できます。まずローカルアカウントにキーポリシーを追加し、次に外部アカウントに IAM ポリシーを追加してください。詳細については、「[その他のアカウントのユーザーに KMS キーの使用を許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)」を参照してください。

**クロスアカウント KMS キーを使用するには**

1. ローカルアカウントにキーポリシーを追加します。

   次の例は、外部アカウント 444455556666 の`ExampleRole`と`ExampleUser`に、ローカルアカウント 123456789012 のアクセス許可を付与します。

   ```
   {
       "Sid": "Allow an external account to use this KMS key",
       "Effect": "Allow",
       "Principal": {
           "AWS": [
               "arn:aws:iam::444455556666:role/ExampleRole",
               "arn:aws:iam::444455556666:user/ExampleUser"
           ]
       },
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "*"
   }
   ```

1. 外部アカウントに IAM ポリシーを追加する

   以下の IAM ポリシーの例では、プリンシパルがアカウント 123456789012 の KMS キーを暗号化オペレーションに使用することを許可します。アカウント 444455556666 の`ExampleRole`と`ExampleUser`にこの許可を与えるには、そのアカウントに[ポリシーをアタッチします](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console)。

   ```
   {
       "Sid": "Allow use of KMS key in account 123456789012",
       "Effect": "Allow",
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
   }
   ```

## Amazon S3 バケットへの DB スナップショットのエクスポート
<a name="USER_ExportSnapshot.Exporting"></a>

1 つの AWS アカウント につき、最大 5 つの DB スナップショットエクスポートタスクを同時に実行できます。

**注記**  
データベースのタイプとサイズによっては、RDS スナップショットのエクスポートに時間がかかることがあります。エクスポートタスクでは、Amazon S3 にデータを抽出する前に、データベース全体を復元およびスケールします。このフェーズでのタスクの進捗状況は、[**起動中**] と表示されます。タスクが S3 へのデータのエクスポートに切り替わると、進捗状況は [**進行中**] と表示されます。  
エクスポートが完了するまでにかかる時間は、データベースに格納されているデータによって異なります。例えば、数値のプライマリキーまたはインデックス列が適切に配信されているテーブルは、最も速くエクスポートされます。パーティション化に適した列が含まれていないテーブルや、文字列ベースの列に１つのインデックスしかないテーブルは処理に時間がかかります。エクスポートに低速のシングルスレッドプロセスを使用するため、このような長いエクスポート時間となります。

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して DB スナップショットを Amazon S3 にエクスポートできます。DB スナップショットをクロスアカウント Amazon S3 バケットにエクスポートするには、AWS CLI または RDS API を使用します。

Lambda 関数を使用してスナップショットをエクスポートする場合は、Lambda 関数ポリシーに `kms:DescribeKey` アクションを追加します。詳細については、「[AWS Lambda のアクセス許可](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html)」を参照してください。

### コンソール
<a name="USER_ExportSnapshot.ExportConsole"></a>

[**Amazon S3 へのエクスポート**] コンソールオプションは、Amazon S3 にエクスポートできるスナップショットに対してのみ表示されます。スナップショットは、次の理由により、エクスポートに使用できない場合があります。
+ DB エンジンが S3 エクスポートでサポートされていない。
+ DB エンジンのバージョンが S3 エクスポートでサポートされていません。
+ スナップショットを作成した AWS リージョンで S3 エクスポートがサポートされていない。

**DB スナップショットをエクスポートするには**

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

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

1. タブから、エクスポートするスナップショットのタイプを選択します。

1. スナップショットのリストで、エクスポートするスナップショットを選択します。

1. [**アクション**] で、[**Amazon S3 にエクスポート**] を選択します。

   [**EAmazon S3 にエクスポート**] ウィンドウが表示されます。

1. [**エクスポート識別子**] に、エクスポートタスクを識別する名前を入力します。この値は、S3 バケットで作成されるファイルの名前としても使用されます。

1. エクスポートするデータを選択します。
   + [**すべて**] を選択すると、スナップショット内のすべてのデータがエクスポートされます。
   + [**部分的**] を選択すると、スナップショットの特定部分がエクスポートされます。スナップショットのどの部分をエクスポートするかを特定するには、[**識別子**] に 1 つ以上のデータベース、スキーマ、またはテーブルをスペースで区切って入力します。

     次の形式を使用します。

     ```
     database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]
     ```

     次に例を示します。

     ```
     mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
     ```

1. [**S3 バケット**] で、エクスポート先のバケットを選択します。

   エクスポートされたデータを S3 バケット内のフォルダパスに割り当てるには、[**S3 プレフィックス**] にオプションのパスを入力します。

1. **IAM ロール** の場合は、選択した S3 バケットへの書き込みアクセスを許可するロールを選択するか、新しいロールを作成します。
   + 「[IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](#USER_ExportSnapshot.SetupIAMRole)」のステップに従ってロールを作成した場合は、そのロールを選択します。
   + 選択した S3 バケットへの書き込みアクセス権を付与するロールを作成しなかった場合は、**[Create a new role]** (新しいロールの作成) を選択して、ロールを自動的に作成します。次に、**[IAM role name]** (IAM ロール名) にロールの名前を入力します。

1. [**AWS KMS key**] で、エクスポートされたデータの暗号化に使用するキーの ARN を入力します。

1. [**Amazon S3 にエクスポート**] を選択します。

### AWS CLI
<a name="USER_ExportSnapshot.ExportCLI"></a>

AWS CLI を使用して DB スナップショットを Amazon S3 にエクスポートするには、以下の必須オプションを指定して [start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) コマンドを使用します。
+ `--export-task-identifier` 
+ `--source-arn` 
+ `--s3-bucket-name` 
+ `--iam-role-arn` 
+ `--kms-key-id` 

以下の例では、スナップショットエクスポートタスクは *my\$1snapshot\$1export* と名前が付けられ、スナップショットを *amzn-s3-demo-bucket* という名前の S3 バケットにエクスポートします。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds start-export-task \
2.     --export-task-identifier my-snapshot-export \
3.     --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name \
4.     --s3-bucket-name amzn-s3-demo-bucket \
5.     --iam-role-arn iam-role \
6.     --kms-key-id my-key
```
Windows の場合:  

```
1. aws rds start-export-task ^
2.     --export-task-identifier my-snapshot-export ^
3.     --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name ^
4.     --s3-bucket-name amzn-s3-demo-bucket ^
5.     --iam-role-arn iam-role ^
6.     --kms-key-id my-key
```
サンプル出力を次に示します。  

```
{
    "Status": "STARTING", 
    "IamRoleArn": "iam-role", 
    "ExportTime": "2019-08-12T01:23:53.109Z", 
    "S3Bucket": "my-export-bucket", 
    "PercentProgress": 0, 
    "KmsKeyId": "my-key", 
    "ExportTaskIdentifier": "my-snapshot-export", 
    "TotalExtractedDataInGB": 0, 
    "TaskStartTime": "2019-11-13T19:46:00.173Z", 
    "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name"
}
```
スナップショットのエクスポート先である S3 バケット内のフォルダパスを指定するには、[start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) コマンドに `--s3-prefix` オプションを含めます。

### RDS API
<a name="USER_ExportSnapshot.ExportAPI"></a>

Amazon RDS API を使用して DB スナップショットを Amazon S3 にエクスポートするには、以下の必須パラメータを指定して [StartExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartExportTask.html) オペレーションを使用します。
+ `ExportTaskIdentifier`
+ `SourceArn`
+ `S3BucketName`
+ `IamRoleArn`
+ `KmsKeyId`

## 利用可能なリージョンとバージョン
<a name="USER_ExportSnapshot.RegionVersionAvailability"></a>

機能の可用性とサポートは、各データベースエンジンの特定のバージョンと AWS リージョン によって異なります。S3 へのスナップショットのエクスポートによるバージョンとリージョンの可用性の詳細については、「[Amazon RDS の S3 へのスナップショットデータエクスポートでサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.ExportSnapshotToS3.md)」を参照してください。

## 制限事項
<a name="USER_ExportSnapshot.Limits"></a>

DB スナップショットデータの Amazon S3 へのエクスポートには、次の制限があります。
+ 同じ DB クラスタースナップショットに対して複数のエクスポートタスクを同時に実行することはできません。これは、フルエクスポートと部分エクスポートの両方に当てはまります。
+ 磁気ストレージを使用するデータベースからのスナップショットのエクスポートはサポートされていません。
+ S3 へのエクスポートでは、コロン (:) を含む S3 プレフィックスをサポートしていません。
+ S3 ファイルパスの次の文字は、エクスポート時にアンダースコア (\$1) に変換されます。

  ```
  \ ` " (space)
  ```
+ データベース、スキーマ、またはテーブルの名前に次の文字以外の文字が含まれている場合、部分的なエクスポートはサポートされません。ただし、DB スナップショット全体をエクスポートすることはできます。
  + ラテン文字 (A-Z)
  + 数字 (0-9)
  + ドル記号 (\$1)
  + 下線 (\$1)
+ データベーステーブルの列名では、一部の文字と空白文字の使用はサポートされていません。列名に次の文字が含まれるテーブルは、エクスポート時にスキップされます。

  ```
  , ; { } ( ) \n \t = (space)
  ```
+ 名前にスラッシュ (/) が含まれるテーブルは、エクスポート時にスキップされます。
+ RDS for PostgreSQL の一時テーブルとログに記録されていないテーブルは、エクスポート中にスキップされます。
+ データに BLOB や CLOB などの大きいオブジェクト (500 MB に近いか、それ以上) が含まれている場合、エクスポートは失敗します。
+ テーブルに、2 GB に近いか、それ以上のサイズの大きな行が含まれている場合、そのテーブルはエクスポート時にスキップされます。
+ 部分エクスポートの場合、`ExportOnly` リストの最大サイズは 200 KB です。
+ エクスポートタスクごとに一意の名前を使用することを強くお勧めします。一意のタスク名を使用しない場合、次のエラーメッセージが表示されることがあります。

  ExportTaskAlreadyExistsFault: StartExportTask オペレーションを呼び出すときにエラー (ExportTaskAlreadyExists) が発生しました。ID *xxxxx* のエクスポートタスクは既に存在します。
+ データを S3 にエクスポートしている間はスナップショットを削除できますが、エクスポートタスクが完了するまで、そのスナップショットのストレージコストは引き続き課金されます。
+ エクスポートされたスナップショットデータを S3 から新しい DB インスタンスに復元したり、S3 から既存の DB インスタンスにスナップショットデータをインポートしたりすることはできません。
+ 1 つの AWS アカウント につき、最大 5 つの DB スナップショットエクスポートタスクを同時に実行できます。
+ DB スナップショットをクロスアカウント Amazon S3 バケットにエクスポートするには、AWS CLI または RDS API を使用する必要があります。
+ Amazon RDS のエクスポートタスクが完了したら、同じ DB スナップショットから別のエクスポートタスクが開始されるまで少し待つことが必要な場合があります。
+ ビューまたはマテリアライズドビューをエクスポートすることはできません。
+ RDS から S3 へのエクスポートでは、GuardDuty Malware Protection for S3 のタグベースのアクセスコントロールがサポートされません。

# Amazon RDS のスナップショットエクスポートのモニタリング
<a name="USER_ExportSnapshot.Monitoring"></a>

DB スナップショットのエクスポートは、AWS マネジメントコンソール、AWS CLI、または RDS API を使用してモニタリングできます。

## コンソール
<a name="USER_ExportSnapshot.MonitorConsole"></a>

**DB スナップショットのエクスポートをモニタリングするには**

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

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

1. スナップショットのエクスポート一覧を表示するには、[**Exports in Amazon S3**] タブを選択します。

1. 特定のスナップショットのエクスポートに関する情報を表示するには、エクスポートタスクを選択します。

## AWS CLI
<a name="USER_ExportSnapshot.MonitorCLI"></a>

AWS CLI を使用して DB スナップショットのエクスポートをモニタリングするには、[describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) コマンドを使用します。

次の例は、すべてのスナップショットのエクスポートに関する最新情報を表示する方法を示しています。

**Example**  

```
 1. aws rds describe-export-tasks
 2. 
 3. {
 4.     "ExportTasks": [
 5.         {
 6.             "Status": "CANCELED",
 7.             "TaskEndTime": "2019-11-01T17:36:46.961Z",
 8.             "S3Prefix": "something",
 9.             "ExportTime": "2019-10-24T20:23:48.364Z",
10.             "S3Bucket": "amzn-s3-demo-bucket",
11.             "PercentProgress": 0,
12.             "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY",
13.             "ExportTaskIdentifier": "anewtest",
14.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
15.             "TotalExtractedDataInGB": 0,
16.             "TaskStartTime": "2019-10-25T19:10:58.885Z",
17.             "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:parameter-groups-test"
18.         },
19. {
20.             "Status": "COMPLETE",
21.             "TaskEndTime": "2019-10-31T21:37:28.312Z",
22.             "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}",
23.             "S3Prefix": "",
24.             "ExportTime": "2019-10-31T06:44:53.452Z",
25.             "S3Bucket": "amzn-s3-demo-bucket1",
26.             "PercentProgress": 100,
27.             "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
28.             "ExportTaskIdentifier": "thursday-events-test", 
29.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
30.             "TotalExtractedDataInGB": 263,
31.             "TaskStartTime": "2019-10-31T20:58:06.998Z",
32.             "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-31-06-44"
33.         },
34.         {
35.             "Status": "FAILED",
36.             "TaskEndTime": "2019-10-31T02:12:36.409Z",
37.             "FailureCause": "The S3 bucket edgcuc-export isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.",
38.             "S3Prefix": "",
39.             "ExportTime": "2019-10-30T06:45:04.526Z",
40.             "S3Bucket": "amzn-s3-demo-bucket2",
41.             "PercentProgress": 0,
42.             "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
43.             "ExportTaskIdentifier": "wednesday-afternoon-test",
44.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
45.             "TotalExtractedDataInGB": 0,
46.             "TaskStartTime": "2019-10-30T22:43:40.034Z",
47.             "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-30-06-45"
48.         }
49.     ]
50. }
```
特定のスナップショットのエクスポートに関する情報を表示するには、`--export-task-identifier` コマンドに `describe-export-tasks` オプションを含めます。出力をフィルタリングするには、`--Filters` オプションを含めます。その他のオプションについては、[ describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) コマンドを参照してください。

## RDS API
<a name="USER_ExportSnapshot.MonitorAPI"></a>

Amazon RDS API を使用して DB スナップショットのエクスポートに関する情報を表示するには、[DescribeExportTasks](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeExportTasks.html) オペレーションを使用します。

エクスポートワークフローの完了を追跡したり、別のワークフローを開始したりするには、Amazon Simple Notification Service トピックをサブスクライブします。Amazon SNS の詳細については、「[Amazon RDS イベント通知の操作](USER_Events.md)」を参照してください。

# Amazon RDS のスナップショットのエクスポートタスクのキャンセル
<a name="USER_ExportSnapshot.Canceling"></a>

DB スナップショットのエクスポートタスクをキャンセルするには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用できます。

**注記**  
スナップショットのエクスポートタスクをキャンセルしても、Amazon S3 にエクスポート済みのデータは削除されません。コンソールを使用してデータを削除する方法については、「[S3 バケットからオブジェクトを削除する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/delete-objects.html)」を参照してください。CLI を使用してデータを削除するには、[delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) コマンドを使用します。

## コンソール
<a name="USER_ExportSnapshot.CancelConsole"></a>

**スナップショットのエクスポートタスクをキャンセルするには**

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

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

1. [**Exports in Amazon S3**] タブを選択します。

1. キャンセルするスナップショットのエクスポートタスクを選択します。

1. [**キャンセル**] を選択します。

1. 確認ページで [**エクスポートタスクをキャンセル**] を選択します。

 

## AWS CLI
<a name="USER_ExportSnapshot.CancelCLI"></a>

AWS CLI を使用してスナップショットのエクスポートタスクをキャンセルするには、[cancel-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/cancel-export-task.html) コマンドを使用します。このコマンドには、`--export-task-identifier` オプションが必要です。

**Example**  

```
 1. aws rds cancel-export-task --export-task-identifier my_export
 2. {
 3.     "Status": "CANCELING", 
 4.     "S3Prefix": "", 
 5.     "ExportTime": "2019-08-12T01:23:53.109Z", 
 6.     "S3Bucket": "amzn-s3-demo-bucket", 
 7.     "PercentProgress": 0, 
 8.     "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", 
 9.     "ExportTaskIdentifier": "my_export", 
10.     "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", 
11.     "TotalExtractedDataInGB": 0, 
12.     "TaskStartTime": "2019-11-13T19:46:00.173Z", 
13.     "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:export-example-1"
14. }
```

## RDS API
<a name="USER_ExportSnapshot.CancelAPI"></a>

Amazon RDS API を使用してスナップショットのエクスポートタスクをキャンセルするには、`ExportTaskIdentifier` パラメータを指定して [CancelExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CancelExportTask.html) オペレーションを使用します。

# Amazon RDS の Amazon S3 エクスポートタスクの障害メッセージ
<a name="USER_ExportSnapshot.failure-msg"></a>

次の表では、Amazon S3 エクスポートタスクに障害が発生したときに返されるメッセージについて説明します。


| 障害メッセージ | 説明 | 
| --- | --- | 
| 不明な内部エラーが発生しました。 |  不明なエラー、例外、または障害により、タスクが失敗しました。  | 
| エクスポートタスクのメタデータを S3 バケット 「バケット名」 に書き込む際に、不明な内部エラーが発生しました。 |  不明なエラー、例外、または障害により、タスクが失敗しました。  | 
| RDS エクスポートは、IAM ロール「ロール ARN」を引き受けることができないため、エクスポートタスクのメタデータを書き込めませんでした。 |  エクスポートタスクは IAM ロールを引き受け、S3 バケットへのメタデータの書き込みが許可されているかどうかを検証します。タスクが IAM ロールを引き受けられない場合は失敗します。  | 
| RDS エクスポートで、KMS キー 「キー ID」 を持つ IAM ロール 「ロール ARN」 を使用した S3 バケット 「バケット名」へのエクスポートタスクのメタデータの書き込みに失敗しました。エラーコード:「エラーコード」 |  1 つ以上のアクセス許可が不足しているため、エクスポートタスクが S3 バケットにアクセスできません。この障害メッセージは、次のいずれかのエラーコードを受信したときにレイズされます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.failure-msg.html) これらのエラーコードは、IAM ロール、S3 バケット、または KMS キーの設定が間違っていることを示しています。  | 
| IAM ロール [ロール ARN]には、S3 バケット [バケット名] で [S3 アクション] を呼び出す権限がありません。許可を確認してエクスポートを再試行してください。 |  IAM ポリシーの設定が間違っています。S3 バケットに対する特定の S3 アクションのためのアクセス許可がないため、エクスポートタスクが失敗します。  | 
| KMS キーチェックに失敗しました。KMS キーの認証情報をチェックして、再試行してください。 | KMS キーの認証情報のチェックに失敗しました。 | 
| S3 の認証情報のチェックに失敗しました。S3 バケットと IAM ポリシーに対するアクセス許可をチェックします。 | S3 の認証情報のチェックに失敗しました。 | 
| S3 バケット「バケット名」が無効です。どちらかが現在のAWSリージョンにないか、存在しません。S3 バケット名を確認して、エクスポートを再試行してください。 | S3 バケットが無効です。 | 
| S3 バケット 「バケット名」が現在のAWSリージョンにありません。S3 バケット名を確認して、エクスポートを再試行してください。 | S3 バケットが間違ったAWSリージョンにあります。 | 

# RDS for PostgreSQL のアクセス許可エラーのトラブルシューティング
<a name="USER_ExportSnapshot.postgres-permissions"></a>

PostgreSQL データベースを Amazon S3 にエクスポートするときに、特定のテーブルがスキップされたことを示す `PERMISSIONS_DO_NOT_EXIST` エラーが表示される場合があります。このエラーは、通常、データベースの作成時に指定したスーパーユーザーが、これらのテーブルにアクセスする許可を持っていない場合に発生します。

このエラーを修正するには、次のコマンドを実行します。

```
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name
```

スーパーユーザー権限の詳細については、「[マスターユーザーアカウント権限](UsingWithRDS.MasterAccounts.md)」を参照してください。

# Amazon RDS の Amazon S3 へのエクスポートのファイル命名規則
<a name="USER_ExportSnapshot.FileNames"></a>

特定のテーブルのエクスポートされたデータは、`base_prefix/files` の形式で保存されます。そのベースプレフィックスは次のとおりです。

```
export_identifier/database_name/schema_name.table_name/
```

例:

```
export-1234567890123-459/rdststdb/rdststdb.DataInsert_7ADB5D19965123A2/
```

ファイルを名付ける方法には、次の 2 つの規則があります。
+ 現在の規則:

  ```
  batch_index/part-partition_index-random_uuid.format-based_extension
  ```

  バッチインデックスは、テーブルから読み込まれたデータのバッチを表すシーケンス番号です。テーブルを小さなチャンクに分割し、並列でエクスポートできない場合は、複数のバッチインデックスになります。テーブルが複数のテーブルにパーティション化されている場合にも同じことが起こります。メインテーブルのテーブルパーティションごとに 1 つずつ、複数のバッチインデックスがあります。

  テーブルを小さなチャンクに分割し、並列で読み取ることができる場合は、バッチインデックス `1` フォルダのみになります。

  バッチインデックスフォルダ内には、テーブルのデータを含む 1 つまたは複数の Parquet ファイルがあります。Parquet ファイル名のプレフィックスは `part-partition_index` です。テーブルがパーティション化されている場合、パーティションインデックス `00000` で始まる複数のファイルになります。

  パーティションインデックスシーケンスにギャップが生じる可能性があります。これは、各パーティションがテーブル内の範囲クエリから取得されるためです。そのパーティションの範囲内にデータがない場合、そのシーケンス番号はスキップされます。

  例えば、`id` 列がテーブルのプライマリキーで、その最小値と最大値が `100` と `1000` であるとします。このテーブルを 9 つのパーティションでエクスポートしようとすると、次のような並列クエリで読み取られます。

  ```
  SELECT * FROM table WHERE id <= 100 AND id < 200
  SELECT * FROM table WHERE id <= 200 AND id < 300
  ```

  これにより、`part-00000-random_uuid.gz.parquet` から `part-00008-random_uuid.gz.parquet` までの 9 つのファイルが生成されます。ただし、`200` と `350` の間に ID を持つ行がない場合、完了したパーティションの 1 つが空になり、それに対するファイルも作成されません。前の例では、`part-00001-random_uuid.gz.parquet` は作成されません。
+ 以前の規則:

  ```
  part-partition_index-random_uuid.format-based_extension
  ```

  これは現在の規則と同じですが、例えば、`batch_index` プレフィックスは除きます。

  ```
  part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
  part-00001-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
  part-00002-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet
  ```

ファイルの命名規則は変更されることがあります。したがって、ターゲットテーブルを読み込む場合は、テーブルのベースプレフィックス内のすべてを読み込むことをお勧めします。

# Amazon RDS の Amazon S3 バケットにエクスポートする際のデータ変換
<a name="USER_ExportSnapshot.data-types"></a>

DB スナップショットを Amazon S3 バケットにエクスポートすると、Amazon RDS はデータを Parquet 形式に変換してエクスポートし、保存します。Parquet の詳細については、[Apache Parquet](https://parquet.apache.org/docs/) のウェブサイトを参照してください。

Parquet は、すべてのデータを次のプリミティブ型の 1 つとして格納します。
+ BOOLEAN
+ INT32
+ INT64
+ INT96
+ FLOAT
+ DOUBLE
+ BYTE\$1ARRAY - バイナリとも呼ばれる可変長のバイト配列
+ FIXED\$1LEN\$1BYTE\$1ARRAY - 値が一定のサイズを持つ場合に使用される固定長のバイト配列

Parquet のデータ型はほとんど存在せず、この形式の読み書きに伴う複雑さが軽減されるようになっています。Parquet は、プリミティブ型を拡張するための論理的な型を提供します。*論理的な型*は、`LogicalType` メタデータフィールドにデータを持つ注釈として実装されます。論理的な型の注釈は、プリミティブ型の解釈方法を示します。

`STRING` 論理的な型が `BYTE_ARRAY` 型に注釈を付けた場合は、このバイト配列を UTF-8 でエンコードされた文字列として解釈する必要があることを示します。エクスポートタスクが完了すると、Amazon RDS は文字列変換が発生したかどうかを通知します。エクスポートされた基になるデータは、常に送信元データと同じです。ただし、UTF-8 のエンコーディングに伴う差異により、Athena などのツールで読み取ると、一部の文字はソースと異なるように表示される場合があります。

詳細については、Parquet ドキュメントの「[Parquet Logical Type Definitions](https://github.com/apache/parquet-format/blob/master/LogicalTypes.md)」を参照してください。

**Topics**
+ [MySQL およびMariaDB データ型の Parquet へのマッピング](#USER_ExportSnapshot.data-types.MySQL)
+ [PostgreSQL データ型の Parquet へのマッピング](#USER_ExportSnapshot.data-types.PostgreSQL)

## MySQL およびMariaDB データ型の Parquet へのマッピング
<a name="USER_ExportSnapshot.data-types.MySQL"></a>

次の表は、データが変換されて Amazon S3 にエクスポートされる際の MySQL および MariaDB データ型から Parquet データ型へのマッピングを示しています。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.data-types.html)

## PostgreSQL データ型の Parquet へのマッピング
<a name="USER_ExportSnapshot.data-types.PostgreSQL"></a>

次の表は、データが変換されて Amazon S3 にエクスポートされる際の PostgreSQL データ型から Parquet データ型へのマッピングを示しています。


| PostgreSQL のデータ型 | Parquet プリミティブ型 | 論理的な型の注釈 | マッピングに関するメモ | 
| --- | --- | --- | --- | 
| 数値データ型 | 
| BIGINT | INT64 |  |   | 
| BIGSERIAL | INT64 |  |   | 
| DECIMAL | BYTE\$1ARRAY | STRING | DECIMAL 型は BYTE\$1ARRAY 型の文字列に変換され、UTF8 としてエンコードされます。この変換は、データ精度や、数値ではないデータ値 (NaN) に伴う複雑さを回避するためのものです。 | 
| DOUBLE PRECISION | DOUBLE |  |   | 
| INTEGER | INT32 |  |   | 
| MONEY | BYTE\$1ARRAY | STRING |   | 
| REAL | FLOAT |  |   | 
| SERIAL | INT32 |  |   | 
| SMALLINT | INT32 | INT(16, true) |   | 
| SMALLSERIAL | INT32 | INT(16, true) |   | 
| 文字列および関連データ型 | 
| ARRAY | BYTE\$1ARRAY | STRING |  配列は文字列に変換され、BINARY (UTF8) としてエンコードされます。 この変換は、データ精度、数値ではないデータ値 (NaN)、および時間データ値に伴う複雑さを回避するためのものです。  | 
| BIT | BYTE\$1ARRAY | STRING |   | 
| BIT VARYING | BYTE\$1ARRAY | STRING |   | 
| BYTEA | BINARY |  |   | 
| CHAR | BYTE\$1ARRAY | STRING |   | 
| CHAR(N) | BYTE\$1ARRAY | STRING |   | 
| ENUM | BYTE\$1ARRAY | STRING |   | 
| NAME | BYTE\$1ARRAY | STRING |   | 
| TEXT | BYTE\$1ARRAY | STRING |   | 
| TEXT SEARCH | BYTE\$1ARRAY | STRING |   | 
| VARCHAR(N) | BYTE\$1ARRAY | STRING |   | 
| XML | BYTE\$1ARRAY | STRING |   | 
| 日付と時刻のデータ型 | 
| DATE | BYTE\$1ARRAY | STRING |   | 
| INTERVAL | BYTE\$1ARRAY | STRING |   | 
| TIME | BYTE\$1ARRAY | STRING |  | 
| TIME WITH TIME ZONE | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP WITH TIME ZONE | BYTE\$1ARRAY | STRING |  | 
| ジオメトリデータ型 | 
| BOX | BYTE\$1ARRAY | STRING |   | 
| CIRCLE | BYTE\$1ARRAY | STRING |   | 
| LINE | BYTE\$1ARRAY | STRING |   | 
| LINESEGMENT | BYTE\$1ARRAY | STRING |   | 
| PATH | BYTE\$1ARRAY | STRING |   | 
| POINT | BYTE\$1ARRAY | STRING |   | 
| POLYGON | BYTE\$1ARRAY | STRING |   | 
| JSON データ型 | 
| JSON | BYTE\$1ARRAY | STRING |   | 
| JSONB | BYTE\$1ARRAY | STRING |   | 
| その他のデータ型 | 
| BOOLEAN | BOOLEAN |  |   | 
| CIDR | BYTE\$1ARRAY | STRING |  ネットワークデータ型 | 
| COMPOSITE | BYTE\$1ARRAY | STRING |   | 
| DOMAIN | BYTE\$1ARRAY | STRING |   | 
| INET | BYTE\$1ARRAY | STRING |  ネットワークデータ型 | 
| MACADDR | BYTE\$1ARRAY | STRING |   | 
| OBJECT IDENTIFIER | 該当なし |  |  | 
| PG\$1LSN | BYTE\$1ARRAY | STRING |   | 
| RANGE | BYTE\$1ARRAY | STRING |   | 
| UUID | BYTE\$1ARRAY | STRING |   | 

# Amazon RDS の自動バックアップの管理に AWS Backup を使用する
<a name="AutomatedBackups.AWSBackup"></a>

AWS Backup はフルマネージド型のバックアップサービスであり、クラウド内およびオンプレミスの AWS のサービス間でデータのバックアップを簡単に一元化および自動化できます。AWS Backup で Amazon RDS データベースのバックアップを管理できます。

**注記**  
AWS Backup によって管理されるバックアップは手動 DB スナップショットと見なされますが、RDS の DB スナップショットクォータにはカウントされません。AWS Backup で作成されたバックアップの名前は `awsbackup:backup-job-number` で終わります。

AWS Backup[ の詳細については、*AWS Backup* デベロッパーガイド](https://docs.aws.amazon.com/aws-backup/latest/devguide)を参照してください。

**AWS Backup によって管理されているバックアップを表示するには**

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

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

1. [**バックアップサービス**] タブを選択します。

   AWS Backup バックアップは、[**バックアップサービスのスナップショット**] の下に一覧表示されます。