Amazon Relational Database Service
ユーザーガイド

DB スナップショットの復元

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

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

注記

共有され暗号化された DB スナップショットから、DB インスタンスを復元することはできません。代わりに、DB スナップショットのコピーを作成し、そのコピーから DB インスタンスを復元できます。

パラメータグループに関する考慮事項

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

セキュリティグループの考慮事項

DB インスタンスを復元すると、デフォルトのセキュリティグループは、復元済みインスタンスに関連付けられます。

注記

  • AWS CLI を使用している場合、カスタムセキュリティグループを指定し、restore-db-instance-from-db-snapshot コマンドに --vpc-security-group-ids オプションを含むことにより、インスタンス に関連付けることができます。

  • Amazon RDS API を使用している場合、VpcSecurityGroupIds.VpcSecurityGroupId.N パラメータを RestoreDBInstanceFromDBSnapshot アクションに含むことができます。

  • Amazon RDS コンソールには、復元中にカスタムのセキュリティグループを関連づけるためのオプションがありません。

復元が完了し、新しい DB インスタンスが利用できるようになったらすぐに、復元の元となるスナップショットによって使用されているカスタムセキュリティグループを関連付けることができます。RDS コンソール、AWS CLI modify-db-instance コマンドまたは ModifyDBInstance Amazon RDS API 操作を介して DB インスタンス を修正することで、これらの変更を適用します。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。

オプショングループに関する考慮事項

DB インスタンスを復元すると、DB スナップショットに関連付けられたオプショングループは、作成後に復元された DB インスタンスと関連付けられます。たとえば、復元の元となる DB スナップショットで Oracle Transparent Data Encryption が使用されている場合、復元された DB インスタンスでも同じオプショングループが使用されます。

DB インスタンスに割り当てると、オプショングループは DB インスタンスが存在するサポート対象プラットフォーム、つまり VPC または EC2-Classic (VPC 以外) にもリンクされます。DB インスタンスが VPC 内にある場合、その DB インスタンスに関連付けられているオプショングループはその VPC にリンクされます。つまり、別の VPC または別のプラットフォームに DB インスタンスを復元しようとしても、そのインスタンスに割り当てられているオプショングループは使用できません。別の VPC 内にまたは別のプラットフォーム上に DB インスタンスを復元する場合は、デフォルトのオプショングループをインスタンスに割り当てるか、その VPC またはプラットフォームにリンクされているオプショングループをインスタンスに割り当てるか、新しいオプショングループを作成してインスタンスに割り当てる必要があります。永続または固定オプションを使用する場合は、別の VPC 内に DB インスタンスを復元するときに、永続または固定オプションを含む新しいオプショングループを作成する必要があります。

Microsoft SQL Server に関する考慮事項

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 データベースのインポートとエクスポート」を参照してください。

Oracle に関する考慮事項

Oracle GoldenGate を使用している場合、必ず compatible パラメータと同時にパラメータグループを保持します。DB スナップショットから DB インスタンスを復元するときは、等しいか大きい compatible パラメータ値を使用したパラメータグループを指定する必要があります。

DB スナップショットは、DB スナップショットを復元する前にアップグレードしておくことができます。詳細については、「Oracle DB スナップショットのアップグレード」を参照してください。

スナップショットからの復元

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

コンソール

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

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

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

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

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

  5. [DB インスタンスの復元] ページで、[DB インスタンス識別子] に、復元された DB インスタンスの名前を入力します。

  6. [Restore DB Instance] を選択します。

  7. スナップショットが作成された DB インスタンスの DB インスタンス機能を復元する場合は、セキュリティグループを使用するために DB インスタンスを変更します。次のステップは、DB インスタンスが VPC 内にあることを前提としています。DB インスタンスが VPC 内にない場合は、EC2 マネジメントコンソールを使用して、DB インスタンスに必要な DB セキュリティグループを見つけます。

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

    2. ナビゲーションペインで、[Security Groups] を選択します。

    3. DB インスタンスで使用するセキュリティグループを選択します。必要に応じて、EC2 インスタンスのセキュリティグループにセキュリティグループをリンクするためのルールを追加します。詳細については、「VPC 内の DB インスタンスに同じ VPC 内の EC2 インスタンスがアクセスする」を参照してください。

AWS CLI

DB スナップショットから DB インスタンスを復元するには、AWS CLI の restore-db-instance-from-db-snapshot コマンドを使用します。

この例では、mydbsnapshot という以前作成した DB スナップショットから復元します。mynewdbinstance という名前の新しい DB インスタンスにバックアップファイルを復元してください。

Linux、OS X、Unix の場合:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier mynewdbinstance \ --db-snapshot-identifier mydbsnapshot

Windows の場合:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier mynewdbinstance ^ --db-snapshot-identifier mydbsnapshot

このコマンドは、次のような出力を返します。

DBINSTANCE mynewdbinstance db.m3.large MySQL 50 sa creating 3 n 5.6.40 general-public-license

DB インスタンスが復元された後で、以前の DB インスタンスと同じ機能が必要な場合は、DB スナップショットの作成に使用した DB インスタンスによって使用されるセキュリティグループに、復元した DB インスタンスを追加する必要があります。

RDS API

DB スナップショットから DB インスタンスを復元するには、以下のパラメータを指定して Amazon RDS API 関数 RestoreDBInstanceFromDBSnapshot を呼び出します。

  • DBInstanceIdentifier

  • DBSnapshotIdentifier