特定の時点への DB instanceの復元 - Amazon Relational Database Service

特定の時点への DB instanceの復元

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

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

復元された DB インスタンスは、デフォルトの 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 インスタンスのサイズを選択した場合、エラーが発生することがあります。

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

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

  • 特定の時点に 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 デベロッパーガイド」を参照してください。

DB インスタンスをポイントインタイムに復元するには、AWS Management Console、AWS CLI、または RDS API を使用します。

特定の時点に DB instanceを復元するには

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

    [Restore to point in time (特定時点への復元)] ウィンドウが表示されます。

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

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

    注記

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

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

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

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

DB インスタンスを特定の時間に復元するには、AWS CLI CLI の restore-db-instance-to-point-in-time コマンドを使用して新しい 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 \ --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 ^ --max-allocated-storage 1000

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

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime