

# 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`