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

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

Amazon RDS により、DB インスタンスのストレージボリュームのスナップショットが作成され、個々のデータベースだけではなく、その 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 CLImodify-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 値を使用したパラメータグループを指定します。

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

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

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

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

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

  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