特定の時点への DB インスタンスの復元 - Amazon Relational Database Service

特定の時点への DB インスタンスの復元

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

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

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

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

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

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

自動バックアップ
注記

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

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

Amazon RDS で使用されるいくつかのデータベースエンジンには、特定の時点から復元する際の特別な考慮事項があります。

  • RDS for Db2 DB インスタンスでパスワード認証を使用する場合、rdsadmin.add_user を含むユーザー管理アクションはログにキャプチャされません。これらのアクションには、完全なスナップショットバックアップが必要です。

    BYOL モデルでは、RDS for Db2 DB インスタンスを、IBM Site ID と IBM Customer ID を含むカスタムパラメータグループに関連付ける必要があります。そうしないと、DB インスタンスを特定の時点に復元しようとすると失敗します。詳細については、Db2 の Bring Your Own Licenseおよびrdsadmin.restore_databaseを参照してください。

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

  • 特定の時点に Oracle DB インスタンスを復元するとき、新しい DB インスタンスで使用する異なる Oracle DB エンジン、ライセンスモデル、DBName (SID) を指定できます。

  • 特定の時点に Microsoft SQL Server DB インスタンスを復元する際、そのインスタンス内の各データベースは、インスタンス内の他のデータベースからそれぞれ 1 秒以内の時点に復元されます。インスタンス内の複数のデータベースにまたがるトランザクションは、復元後の整合性がない可能性があります。

  • SQL Server DB インスタンスの場合、OFFLINEEMERGENCYSINGLE_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 の詳細については、「AWS Backup デベロッパーガイド」を参照してください。

注記

このトピックの情報は、Amazon RDS に適用されます。Amazon Aurora DB クラスターの復元についての詳細は、「DBinstance を指定した時点へ復元する」を参照してください。

AWS Management Console、AWS CLI、または RDS API を使用して、DB インスタンスを特定の時点に復元できます。

注記

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

特定の時点に DB インスタンスを復元するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. ナビゲーションペインで、「自動バックアップ」を選択します。

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

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

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

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

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

    カスタム」 を選択した場合、インスタンスクラスターを復元する日時を入力します。

    注記

    時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

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

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

    各設定の詳細については、「DB インスタンスの設定」を参照してください。

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

特定の時点に DB インスタンスを復元するには、AWS CLI コマンド restore-db-instance-to-point-in-time コマンドを使用して、新しい DB インスタンスを作成します。この例では、割り当てられたストレージサイズを設定し、ストレージの自動スケーリングを有効にします。

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

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

Linux、macOS、Unix の場合:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier mysourcedbinstance \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2017-10-14T23:45:00.000Z \ --allocated-storage 100 \ --max-allocated-storage 1000

Windows の場合:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier mysourcedbinstance ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2017-10-14T23:45:00.000Z ^ --allocated-storage 100 ^ --max-allocated-storage 1000

DB インスタンスを特定の時間に復元するには、以下のパラメータを指定して Amazon RDS API の RestoreDBInstanceToPointInTime オペレーションを呼び出します。

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime