SQL Server を実行している Amazon RDS DB インスタンスのネイティブバックアップを実行する方法を教えてください。

所要時間2分
0

SQL Server を実行している Amazon Relational Database Service (Amazon RDS) DB インスタンスのユーザーデータベースのネイティブバックアップを実行したいと考えています。バックアップファイルを Amazon Simple Storage Service (Amazon S3) に保存するか、データベースのバックアップファイルを使用して同じ Amazon RDS for SQL Server DB インスタンスまたは別の Amazon RDS for SQL Server DB インスタンスに復元する必要があります。

簡単な説明

Amazon RDS は Microsoft SQL Server データベースのネイティブバックアップと復元をサポートしています。オンプレミスデータベースの完全バックアップを作成し、ファイルを Amazon S3 に保存できます。その後、SQL Server を実行している既存の Amazon RDS DB インスタンスにバックアップファイルを復元できます。このバックアップファイルは、オンプレミスのサーバーまたは SQL Server を実行している別の Amazon RDS DB インスタンスに復元することも可能です。

解決策

SQL Server データベースのネイティブバックアップをセットアップするには、次のコンポーネントが必要です。

  1. Amazon RDS コンソールを開き、ナビゲーションペインで [オプショングループ] を選択します。[グループを作成] を選択して、サーバーの名前、説明、エンジン、およびエンジンのバージョンを入力します。次に [作成] を選択します。
  2. 作成したオプショングループを選択して、[オプションの追加] を選択します。SQLSERVER_BACKUP_RESTORE を選択します。新しい IAM ロールを作成して [オプションの追加] を選択し、IAM ロールに必要な権限を持たせるようにすることをお勧めします。S3 バケットを選択するか、新しい S3 バケットを作成します。次に、[今すぐ適用][オプションの追加] の順に選択します。
  3. ナビゲーションペインで [データベース] を選択してオプショングループを DB インスタンスに関連付け、次にバックアップするインスタンスを選択します。[アクション][変更] の順に選択します。
  4. [データベースオプション] で、作成したオプショングループを選択し、次に [今すぐ適用][続行] の順に選択します。情報を確認して、[DB インスタンスを変更] を選択します。インスタンスの再起動が不要なため、このオプショングループの変更にはダウンタイムがありません
  5. ステータスが 変更中から 使用可能に変わったら、RDS インスタンスのマスターユーザーを使用して、 SQL Server Management Studio を介して DB インスタンスに接続します。次に、[新規クエリ] を選択し、以下の SQL ステートメントのいずれかを入力して、目的のデータベースのバックアップを開始します。

暗号化されていないデータベースのバックアップを開始する

exec msdb.dbo.rds_backup_database
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@overwrite_S3_backup_file=1;

暗号化されたデータベースのバックアップを開始する

exec msdb.dbo.rds_backup_database
@source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;

**注:**例に記載されている database_name, bucket_name, file_name_and_extension, region, account-idkey-id は、ご自身のシナリオに合うように置き換えてください。S3 バケットで生成されたバックアップファイルを使用して、ユーザーデータベースを新しい RDS DB インスタンスに復元できます。rds\ _backup\ _database または rds\ _restore\ _database ストアドプロシージャが呼び出されると、タスクが開始され、タスクに関する情報が出力されます。

タスクのライフサイクルステータスが SUCCESS の場合、タスクは完了しています。その後、Amazon S3 コンソールを開き、ユーザーデータベースバックアップを作成したバケットを選択し、バックアップファイルを表示します。このファイルをダウンロードするか、ユーザーデータベースのバックアップファイルを使用して、同じ Amazon RDS for SQL Server DB インスタンスまたは新しい RDS DB インスタンスに復元できます。

以下のいずれかの SQL ステートメントを使用して、S3 バケットで使用可能なバックアップファイルから復元します。

暗号化されていないデータベースを復元する

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

暗号化されたデータベースを復元する

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

タスク ID は、バックアップまたは復元ステートメントを実行した後に取得できます。または、次のスクリプトを使用して、特定のデータベースに対して完了したタスクと保留中のタスクをすべて識別できます。

exec msdb.dbo.rds_task_status @db_name='database_name'

ジョブのステータスを追跡するには、次の SQL ステートメントを使用します。

exec msdb..rds_task_status @task_id= 5

潜在的なエラーと解決策のリストについては、「Migrating Microsoft SQL Server Enterprise workloads to Amazon RDS」を参照してください。


関連情報

バックアップの概要

HSM データのバックアップ、復元、エクスポート

ネイティブバックアップと復元を使用した SQL Server データベースのインポートとエクスポート

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ