DB スナップショットからの復元 - Amazon Relational Database Service

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

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

ステータスがavailableになると、復元された DB インスタンスを使用することができます。DB インスタンスはバックグラウンドでデータをロードし続けます。これは遅延ロードと呼ばれています。

まだロードされていないデータにアクセスする場合、DB インスタンスはリクエストされたデータを Amazon S3 から即座にダウンロードし、残りのデータをバックグラウンドでロードし続けます。詳細については、「Amazon EBS スナップショット」を参照してください。

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

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

注記

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

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

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

セキュリティグループに関する考慮事項

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

注記
  • Amazon RDS コンソールを使用している場合は、カスタムセキュリティグループを指定してインスタンスに関連付けるか、新しい VPC セキュリティグループを作成できます。

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

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

復元が完了し、新しい 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 に関する考慮事項

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

Oracle データベースに関する考慮事項

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

CDB インスタンスのスナップショットを復元する場合は、PDB 名を変更できます。CDB 名は変更できません。これは常に RDSCDB です。この CDB 名は、シングルテナントアーキテクチャを使用するすべての RDS インスタンスで同じです。詳細については、「シングルテナントアーキテクチャでのスナップショット」を参照してください。

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

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

AWS Management Console、AWS CLI、または RDS API を使用して DB スナップショットから DB インスタンスを復元できます。

DB スナップショットから DB instance復元するには

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

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

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

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

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

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

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

この例では、「mydbsnapshot」という以前作成した DB スナップショットから復元します。mynewdbinstance という名前の新しい DB インスタンスに復元します。

Linux、macOS、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 インスタンスを復元するには、以下のパラメータを指定して Amazon RDS API 関数 RestoreDBInstanceFromDBSnapshot を呼び出します。

  • DBInstanceIdentifier

  • DBSnapshotIdentifier