EC2 インスタンスまたはオンプレミスの VM から RDS for SQL Server にデータベースを移行する方法を教えてください。

所要時間2分
0

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスまたはオンプレミスの Microsoft SQL Server インスタンスから、Microsoft SQL Server 用の Amazon Relational Database Service (Amazon RDS) インスタンスにデータベースを移行したいと考えています。データの移行にはどのようなオプションがありますか?

解決方法

データを移行する方法

SQL Server のネイティブバックアップと復元

ネイティブバックアップと復元を使用して、SQL Server データベースをオンプレミスまたは EC2 インスタンスから Amazon RDS for SQL Server インスタンスに移行できます。

1.    Amazon Simple Storage Service (Amazon S3) バケットを作成して、ソースインスタンスからのバックアップを保存します。S3 バケットは RDS インスタンスと同じリージョンに存在する必要があります。

2.    バケットにアクセスするための AWS Identity and Access Management (IAM) ロールを作成します

3.    SQLSERVER_BACKUP_RESTORE オプションを RDS for SQL Server インスタンスに関連するオプショングループに追加します。

4.    ソースインスタンス (オンプレミスまたは EC2) からバックアップを作成し、ステップ 1 で作成した S3 バケットにコピーします。

5.    次のスクリプトを実行して RDS for SQL Server インスタンスにバックアップを復元します。

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';

6.    次のスクリプトを実行して RDS インスタンスデータベースを S3 にバックアップします。

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;

注: 差分バックアップをバックアップおよび復元することもできます

AWS Database Migration Service (AWS DMS)

1.    SQL Server を AWS DMS のソースまたはターゲットとして使用する際の前提条件と制限を確認してください。

2.    DMS レプリケーションインスタンスを作成します

3.    DMS を使用して、ソースエンドポイントとターゲットエンドポイントを作成します

4.    移行タスクを作成します

トランザクションレプリケーション

オンプレミスまたは EC2 SQL Server インスタンスから RDS for SQL Server インスタンスへのトランザクションレプリケーションを設定できます。RDS for SQL Server インスタンスは、パブリッシャー/ディストリビューターとしてオンプレミスまたは EC2 SQL Server インスタンスからのプッシュサブスクリプションを持つサブスクライバーとしてのみ作成できます。

オンプレミスまたは EC2 SQL Server インスタンスからトランザクションレプリケーションを設定するステップバイステップの手順については、以下を参照してください。

バックアップパッケージ (.bacpac) ファイル

.bacpac ファイルは、コピーされたメタデータとファイルに圧縮されたデータで構成されます。この方法は、容量が約 200 GB あるデータベースに最適です。

.bacpac ファイルは、エクスポート/インポートまたは SQLPackage.exe (コマンドライン) ユーティリティを使用して作成できます。

.bacpac ファイルの詳細については、「.bacpac メソッドを使用して SQL Server データベースを Azure SQL データベースから Amazon RDS for SQL Server に移行する」を参照してください。

データをインポートする方法

スクリプトの生成とパブリッシュウィザード

データベースが 1 GB より小さい場合は、スクリプトの生成とパブリッシュウィザードを使用できます。大規模なデータベースでは、インポート/エクスポートウィザードまたは一括コピー方法を使用してデータベースのスキーマをスクリプト化できます。

スクリプトの生成とパブリッシュウィザードの詳細については、Microsoft SQL Server のドキュメントの「How to: Generate a script (SQL Server Management Studio)」を参照してください。

注: [Set Scripting Option] (スクリプトオプションの設定) ページで [Save scripts to specific location] (スクリプトを特定の場所に保存)、[Advanced] (詳細設定) を必ず選択してください。[Advanced] (詳細設定) には、インポートおよびエクスポート時にテーブルにオブジェクトを含めたり除外したりするための追加オプションが用意されています。

インポート/エクスポートウィザード

インポート/エクスポートウィザードでは統合パッケージを作成します。統合パッケージは、オンプレミスまたは EC2 SQL Server データベースから RDS for SQL Server インスタンスにデータをコピーするために使用されます。RDS インスタンスにコピーする特定のテーブルをフィルタリングできます。

インポート/エクスポートウィザードの詳細については、Microsoft SQL Server ドキュメントの「How to: Run the SQL Server Import and Export Wizard」を参照してください。

注: インポート/エクスポートウィザードを実行する際は、Destination RDS for SQL Server インスタンスで次のオプションを選択してください。

  • [Server Name] (サーバー名) には、RDS DB インスタンスのエンドポイントの名前を入力します。
  • [Authentication mode] (認証モード) で、[SQL Server Authentication] (SQL Server 認証) を選択します。
  • [User name] (ユーザー名) と [Password] (パスワード) には、RDS インスタンスで作成したマスターユーザーを入力します。

一括コピープログラムユーティリティ

一括コピープログラム (bcp) は、SQL Server インスタンス間でデータを一括コピーするために使用するコマンドラインユーティリティです。bcp ユーティリティを使用して、大量のデータを SQL Server インスタンスにインポートしたり、ファイルにエクスポートしたりできます。

IN コマンドと OUT コマンドの例を次に示します。

OUT: このコマンドを使用して、テーブルのレコードをファイルにエクスポートまたはダンプします。

bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P     password -b 10000

前述のコードには次のオプションが含まれています。

  • -n: 一括コピーで、コピーするデータのネイティブデータ型を使用するように指定します。
  • -S: bcp ユーティリティが接続する SQL Server インスタンスを指定します。
  • -U: SQL Server インスタンスにログインするアカウントのユーザー名を指定します。
  • -P: -U で指定したユーザーのパスワードを指定します。
  • -b: インポートされたデータのバッチごとの行数を指定します。

IN: このコマンドを使用して、ダンプファイルのすべてのレコードを既存のテーブルにインポートします。bcp コマンドを実行する前にテーブルを作成する必要があります。

bcp dbname.schema_name.table_name in C:\table_name.txt -n -S endpoint,port -U master_user_name -P master_user_password -b 10000

詳細については、Microsoft SQL Server のドキュメントの「bcp utility」を参照してください。


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

関連するコンテンツ