ネイティブバックアップと復元を使用した SQL Server データベースのインポートとエクスポート
Amazon RDS では、完全バックアップファイル (.bak ファイル) を使用した Microsoft SQL Server データベースのネイティブバックアップおよび復元がサポートされています。RDS を使用すると、データベースサーバー上のローカルファイルシステムを使用せずに Amazon S3 に格納されているファイルにアクセスします。
例えば、ローカルサーバーから完全バックアップを作成し、それを S3 に保存してから、既存の Amazon RDS DB インスタンスに復元することができます。RDS からバックアップを作成して S3 に保存することで、どこへでも復元することが可能となります。
ネイティブバックアップと復元は、すべての AWS リージョンで、シングル AZ DB インスタンスおよびマルチ AZ DB インスタンス (リードレプリカを持つマルチ AZ DB インスタンスを含む) に対して使用できます。ネイティブバックアップおよび復元は、Amazon RDS でサポートされているすべてのエディションの Microsoft SQL Server で使用できます。
次の図は、サポートされるシナリオを示しています。
ネイティブの .bak ファイルを使用したデータベースのバックアップと復元は、通常は、最も素早いデータベースのバックアップと復元を実現します。ネイティブバックアップおよび復元を使用することには、他にも多くの利点があります。例えば、次の操作を実行できます。
-
Amazon RDS との間でデータベースを移行できます。
-
RDS for SQL Server DB インスタンス間でデータベースを移動します。
-
データ、スキーマ、ストアドプロシージャ、トリガー、その他のデータベースコードを .bak ファイル内に移行します。
-
DB インスタンス全体ではなく、1 つのデータベースをバックアップおよび復元できます。
-
開発、テスト、トレーニング、デモの目的でデータベースのコピーを作成できます。
-
災害対策の追加保護レイヤーとして、Amazon S3 を使用したバックアップファイルの保管および転送ができます。
-
透過的なデータ暗号化 (TDE) がオンになっているデータベースのネイティブバックアップを作成し、これらのバックアップをオンプレミスのデータベースに復元します。詳細については、「SQL サーバーの透過的なデータの暗号化サポート」を参照してください。
-
TDE がオンになっているオンプレミスデータベースのネイティブバックアップを RDS for SQL Server DB インスタンスに復元します。詳細については、「SQL サーバーの透過的なデータの暗号化サポート」を参照してください。
目次
制限と推奨事項
ネイティブバックアップおよび復元を使用する際の制限事項を以下に示します。
-
Amazon RDS DB インスタンスとは異なる AWS リージョンの Amazon S3 バケットにバックアップしたり、このバケットから復元したりすることはできません。
-
既存のデータベースと同じ名前のデータベースを復元することはできません。データベース名は一意です。
-
あるタイムゾーンのバックアップファイルを、別のタイムゾーンに復元しないことを強くお勧めします。バックアップを特定のタイムゾーンから別のタイムゾーンに復元した場合は、タイムゾーンの変更がクエリとアプリケーションにもたらす影響を監査する必要があります。
-
Amazon S3 のサイズ制限は 1 ファイルあたり 5 TB です。大規模なデータベースのネイティブバックアップでは、マルチファイルバックアップを使用できます。
-
S3 にバックアップできる最大データベースサイズは、DB インスタンスで使用可能なメモリ、CPU、I/O、ネットワークリソースによって異なります。データベースが大きくなるほど、バックアップエージェントが消費するメモリは多くなります。テストでは、十分なシステムリソースがあれば、
2xlarge
インスタンスサイズ以上の最新世代のインスタンスタイプで、16 TB のデータベースの圧縮バックアップを作成できることが示されています。 -
同時に 10 以上のバックファイルから復元することはできません。
-
差分バックアップは、最後の完全バックアップに基づいています。差分バックアップを機能させるには、最後の完全バックアップと差分バックアップの間でスナップショットを作成することはできません。差分バックアップが必要だが、手動スナップショットや自動スナップショットが存在する場合は、差分バックアップを続行する前に別の完全バックアップを作成してください。
-
ファイルの file_guid (一意の識別子) が
NULL
に設定されているデータベースでは、差分復元とログ復元はサポートされていません 。 -
最大 2 のバックアップまたは復元タスクを同時に実行できます。
-
Amazon RDS では、SQL Server からネイティブログバックアップを実行できません。
-
RDS では最大 16 TB のデータベースのネイティブ復元をサポートしています。SQL Server Express Edition のデータベースのネイティブリストアは、10 GB に制限されています。
-
メンテナンスウィンドウや、Amazon RDS がデータベースのスナップショットを作成しているときは、ネイティブバックを行うことはできません。ネイティブバックアップタスクが RDS の毎日のバックアップウィンドウと重複する場合、ネイティブバックアップタスクはキャンセルされます。
-
マルチ AZ DB インスタンスでは、完全な復元モデルでバックアップされているデータベースのみを、ネイティブに復元することができます。
-
マルチ AZ インスタンスの差分バックアップからの復元は、サポートされていません。
-
トランザクション内でのネイティブバックアップと復元を目的とした RDS プロシージャの呼び出しはサポートされていません。
-
対称暗号化 AWS KMS key を使用してバックアップを暗号化します。Amazon RDS は非対称 KMS キーをサポートしていません。詳細については、AWS Key Management Service デベロッパーガイドの「非対称 KMS キーを作成する」を参照してください。
-
ネイティブバックアップファイルは、「暗号化のみ」の暗号モードを使用して、指定された KMS キーで暗号化されます。暗号化されたバックアップファイルを復元するときは、「暗号化のみ」の暗号モードで暗号化されていることに注意してください。
-
FILESTREAM ファイルグループを含むデータベースは復元できません。
バックアップファイルの作成、コピー、復元時にデータベースをオフラインにできる場合、ネイティブバックアップを使用して復元し、RDS に移行することをお勧めします。オンプレミスデータベースをオフラインにできない場合、AWS Database Migration Service を使用してデータベースを Amazon RDS に移行することをお勧めします。詳細については、「What is AWS Database Migration Service?」を参照してください。
ネイティブバックアップおよび復元は、クロスリージョンスナップショットコピー機能のデータ復元機能に代わるものではありません。Amazon RDS におけるクロスリージョンの災害対策のため、スナップショットコピーを使用してデータベーススナップショットを別の AWS リージョンにコピーしておくことをお勧めします。詳細については、「Amazon RDS の DB スナップショットのコピー」を参照してください。