物理プロトコルゲートウェイを用いた自己管理 SQL Server データベースから ApsaraDB RDS for SQL Server への移行では、ネイティブの SQL Server バックアッププロトコルを介してブロック単位でデータが転送されます。この手法は、論理データ移行(JDBC ベース)と比較してスループットが高く、移行がより安定しており、ソース環境が Windows 上で SQL Server を実行している場合、および移行中にターゲットデータベースの一時的なダウンタイムを許容できる場合に適しています。
移行方法の選択
開始前に、物理ゲートウェイ移行がご使用のシナリオに適合することをご確認ください。
| 項目 | 物理ゲートウェイ移行 | 論理データ移行 | 物理ゲートウェイを使用する場合 |
|---|---|---|---|
| 移行原則 | ネイティブの物理バックアッププロトコルにより、ブロック単位でデータを書き込み | JDBC プロトコルにより SQL ステートメントを読み取り、宛先に書き込み | 最大スループットが必要であり、ソースが Windows 上の SQL Server で動作している場合 |
| オペレーティングシステム | Windows 上の SQL Server のみ(デスクトップ:Windows XP 以降、サーバー:Windows Server 2003 以降) | 制限なし | ソースの OS が Windows の場合 |
| ゲートウェイの必要性 | ソースサーバーに物理プロトコルゲートウェイをインストール | ゲートウェイ不要 | ソース サーバーにソフトウェアをインストールできます |
| ネットワーク | ソースサーバーが Alibaba Cloud ネットワークに接続可能であること | データベースポートが開放されているか、専用回線が構築されていること | ソースサーバーがインターネットまたは VPC 経由で Alibaba Cloud にアクセス可能である場合 |
| ソースデータベースの権限 | sysadmin ロール | SELECT(スキーマおよび完全移行の場合)、sysadmin(増分移行の場合) | ソースデータベースに対して sysadmin 権限を有している場合 |
| ターゲットデータベースのバージョン | ソースと同じか、それより新しいバージョン | ソースより以前または以後 | ターゲットのバージョンがソースと同じか、それより新しい場合 |
| ターゲットデータベースへのアクセス | 移行中はアクセス不可 | 移行中も読み取り・書き込み可能 | 移行中のターゲットの一時的なダウンタイムを許容できる場合 |
| 非対応データ | メモリ最適化テーブル、FileStream および FileTables フィールド | 論理移行の制限事項 | データベースでメモリ最適化テーブルや FileStream/FileTables を使用していない場合 |
| 対応する移行シナリオ | ECS インスタンス、データセンター、またはサードパーティクラウドサーバー上での自己管理データベース | 自己管理またはクラウドホスト型のデータベース | ソースが自己管理データベースであり、RDS インスタンスではない場合 |
| 移行効率 | 高 | 中 | — |
| ETL 対応 | 非対応 | 対応 | 移行中にデータ変換は必要ありません。 |
| テーブル単位のフィルタリング | 非対応 | 対応 | 特定のテーブルをフィルタリングする必要がない場合 |
| データベース単位のフィルタリング | 対応 | 対応 | — |
ソースサーバーがインターネットに直接アクセスできないが、バスタイオンホストを経由して接続している場合は、「バスタイオンホスト上の物理ゲートウェイを用いた自己管理 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行」をご参照ください。
前提条件
開始前に、以下の条件を満たしていることをご確認ください。
ECS インスタンス、データセンター、またはサードパーティクラウドサーバー(RDS インスタンスを除く)上で動作する、SQL Server 2019、2017、2016、2014、2012、2008 R2、または 2005 を実行する自己管理 SQL Server データベース
SQL Server 2019、2017、2016、2012、または 2008 R2 を実行する ApsaraDB RDS for SQL Server インスタンス(ソースデータベースと同一またはそれより新しいメジャーバージョン)
ソースデータベースと同じサーバー、かつターゲット RDS インスタンスと同じリージョンにインストールされた Data Disaster Recovery の物理プロトコルゲートウェイ — 「付録:物理プロトコルゲートウェイの作成」をご参照ください
ゲートウェイの登録時の認証に使用する AccessKey ペア(AccessKey ID および AccessKey Secret)— AccessKey ペアの取得
(Resource Access Management (RAM) ユーザーのみ) バックアップゲートウェイを追加するための AliyunDBSFullAccess 権限 — 「RAM ユーザーに権限を付与する」を参照してください。
Data Disaster Recovery を有効化すると、Alibaba Cloud アカウント(root ユーザー)にはデフォルトで AliyunDBSFullAccess 権限が付与されます。バックアップゲートウェイを追加後、そのゲートウェイは Data Disaster Recovery コンソール内でアカウント内のすべての RAM ユーザーから表示可能です。
制限事項
| カテゴリ | 説明 |
|---|---|
| ソースデータベース | - Windows 上の SQL Server のみ。デスクトップ OS:Windows XP 以降。サーバー OS:Windows Server 2003 以降。- ソースデータベースのサイズは、ターゲット RDS インスタンスの残りストレージ容量を超えてはなりません。- ソースサーバーはインターネットにアクセス可能である必要があります。- ソースデータベース名は、RDS インスタンス上のターゲットデータベース名と一致してはなりません。- ソースデータベース名には予約済み名(master、tempdb、msdb、model、distribution、rdscore、sys_info)を使用してはなりません。- ネットワーク要件:ソースファイアウォールが無効化されており、データベースが ECS インスタンス上にある場合、VPC またはインターネット経由で接続してください。ソースファイアウォールが無効化されており、データベースが ECS インスタンス上にない場合、インターネット経由で接続してください。ソースファイアウォールが有効化されている場合、*.aliyuncs.com からのリクエストを許可してください。 |
| データベースのバージョンおよびエディション | ターゲットの SQL Server バージョンは、ソースと同じか、それより新しい必要があります。バージョン順序:2019 > 2017 > 2016 > 2012 > 2008 R2 > 2005。エディション順序:Developer > Standard > Web > Express。サポートされるエディション間マッピングについては、「SQL Server エディション別のサポート対象移行マッピング」をご参照ください。 |
| In-Memory OLTP およびミラーリング | ソースデータベースで In-Memory Online Transaction Processing(OLTP)機能が有効化されている場合、ターゲットの RDS インスタンスは High-availability Edition にすることはできません(ミラーリングは In-Memory OLTP と互換性がありません)。 |
| データベース数 | 送信先の RDS インスタンスには、インスタンスタイプに基づくデータベースの最大数制限があります。複数のデータベースを移行する前に、この制限を確認してください。詳細については、「データベースの最大数」をご参照ください。 |
| その他 | - 物理移行が進行中の間は、データベースのバックアップを実行できません。移行中にバックアップを行う場合は、COPY_ONLY を有効化してください。- FileStream および FileTables フィールドは移行できません。- メモリ最適化テーブルは移行できません。- 単一のデータベース、複数のデータベース、またはインスタンス全体を移行できます。 |
注意事項
移行中は、ソースデータベースへのデータ書き込みを増分で継続できます。ワークロードの切り替え時にデータの不整合を防ぐため、ソースへの書き込みを停止してください。
増分移行中は、ターゲットの RDS インスタンスが一時的に利用不可になります。増分移行が完了した後にのみ、ワークロードを RDS インスタンスに切り替えてください。
SQL Server エディション別のサポート対象移行マッピング
| ソースエディション | ターゲットエディション |
|---|---|
| SQL Server Developer、Standard、Web、Express | SQL Server Enterprise |
| SQL Server Standard、Web、Express | SQL Server Standard |
| SQL Server Web、Express | SQL Server Web |
データの移行
ステップ 1:データ移行ページを開く
以下のいずれかの方法でデータ移行ページを開き、移行インスタンスが配置されているリージョンを選択します。
DTS コンソール
DTS コンソール にログインします。
左側のナビゲーションウィンドウで、[データ移行] をクリックします。
左上隅で、移行インスタンスが配置されているリージョンを選択します。
DMS コンソール
実際のナビゲーションは、DMS コンソールのモードとレイアウトに基づいて異なる場合があります。「シンプルモード」と「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソール にログインします。
上部のナビゲーションバーで、[Data + AI] → [DTS (DTS)] → [データ移行] の順にポインターを合わせます。
データ移行タスク の右側にあるドロップダウンリストから、移行インスタンスが配置されているリージョンを選択します。
ステップ 2:移行タスクの設定
[タスクの作成] をクリックします。
下記の表のパラメーターを使用して、ソースおよびターゲットのデータベースを設定します。
警告ソースおよびターゲットのデータベースを設定した後、ページ上部に表示される [制限事項] を必ずご確認ください。この手順を省略すると、タスクの失敗やデータの不整合が発生する可能性があります。
セクション パラメーター 説明 該当なし [タスク名] DTS タスクの名前です。DTS が自動的に名前を生成しますが、タスクを識別しやすいように、意味のある名前を指定することを推奨します。名前は一意である必要はありません。 [ソースデータベース] [DMS データベースインスタンスの選択] 既存のデータベースインスタンスを選択すると、パラメーターが自動入力されます。手動で設定する場合は、空白のままにしてください。 [データベースタイプ] [SQL Server] を選択します。 [アクセス方法] [物理プロトコル] を選択します。 [インスタンスのリージョン] ソースの SQL Server データベースが配置されているリージョンです。 [物理プロトコルゲートウェイ(DBS バックアップゲートウェイ)] 使用する物理プロトコルゲートウェイです。インストール方法については、「付録:物理プロトコルゲートウェイの作成」をご参照ください。 [ホスト名または IP アドレス] ソースの SQL Server データベースのホスト名または IP アドレスです。デフォルト値: localhost。[ポート番号] ソースの SQL Server データベースのサービスポートです。デフォルト値:1433。 送信先データベース [DMS データベースインスタンスの選択] 既存のインスタンスを選択すると、パラメーターが自動入力されます。手動で設定する場合は、空白のままにしてください。 [データベースタイプ] デフォルト: SQL Server。 [アクセス方法] デフォルト値:[Alibaba Cloud インスタンス]。 [インスタンスのリージョン] ターゲットの ApsaraDB RDS for SQL Server インスタンスが配置されているリージョンです。 [インスタンス ID] ターゲットの ApsaraDB RDS for SQL Server インスタンスの ID です。 [データベースアカウント] ターゲットインスタンスのデータベースアカウントです。「特権アカウントまたは標準アカウントの作成」および「アカウントの権限の変更」をご参照ください。 [データベースパスワード] ターゲットデータベースアカウントのパスワードです。 [接続テストと続行] をクリックします。
[DTS サーバーの CIDR ブロック] ダイアログボックスで、[接続性のテストと続行] をクリックします。DTS は、自動的にその CIDR ブロックを Alibaba Cloud データベースインスタンスおよび ECS でホストされているデータベースの IP アドレスホワイトリストまたはセキュリティグループルールに追加します。複数の ECS インスタンスにまたがってホストされているデータベース、またはデータセンター内、あるいはサードパーティのクラウドサーバー上でホストされているデータベースの場合は、DTS の CIDR ブロックを手動で追加します。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。
警告DTS サーバーのパブリック CIDR ブロックをデータベースのホワイトリストまたは ECS のセキュリティグループに追加すると、セキュリティリスクが発生します。続行する前に、認証情報の強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストルールの定期監査、不正な CIDR ブロックの遮断などの予防措置を講じてください。あるいは、Express Connect、VPN Gateway、または Smart Access Gateway を使用して DTS とデータベースを接続することもできます。
移行対象のオブジェクトを選択し、以下の設定を構成します。
パラメーター 説明 タスクステージ [完全移行](必須)を選択して、一度限りの移行を実行します。[完全移行] および [増分移行] の両方を選択すると、移行中にデータを同期させ、ダウンタイムを最小限に抑えることができます。 説明[増分移行] を選択しない場合、データの整合性を確保するため、移行中にソースへのデータ書き込みを停止してください。
[ソースオブジェクト] [ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、右向き矢印アイコンをクリックして、[選択済みオブジェクト] に移動します。単一のデータベース、複数のデータベース、またはインスタンス全体を移行できます。 [選択済みオブジェクト] 移行対象のオブジェクトです。 [次へ:高度な設定] をクリックし、以下の設定を構成します。
パラメーター 説明 [モニタリングとアラート] 移行タスクのアラートを設定します。タスクが失敗した場合、または移行遅延がしきい値を超えた場合、アラート連絡先に通知が送信されます。[No] を選択してスキップするか、[Yes] を選択してアラートのしきい値と通知設定を設定します。「DTS タスクを作成するときにモニタリングとアラートを設定する」をご参照ください。 [接続失敗時の再試行時間] 接続失敗後の再試行期間です。有効範囲:10~1440 分。デフォルト値:720 分。30 分を超える値を設定してください。DTS が再試行期間内に再接続できた場合、移行は再開されます。それ以外の場合は、タスクが失敗します。 説明複数のタスクが同一のソースまたはターゲットデータベースを共有する場合、最も短い再試行時間が適用されます。再試行中は DTS インスタンスの課金が発生しますので、再試行期間はビジネス要件に応じて設定してください。
ステップ 3:保存と事前チェック
[次へ:タスク設定の保存と事前チェック] をクリックします。
DTS は移行開始前に事前チェックを実行します。すべてのチェックに合格しないと、タスクは開始できません。チェックに不合格となった項目がある場合は、不合格項目の横にある情報アイコンをクリックして原因を確認し、問題を修正したうえで再度事前チェックを実行してください。また、不合格項目を無視して新しい事前チェックを開始することもできます。
[成功率] が 100 % に達したら、[次へ:インスタンスの購入] をクリックします。
ステップ 4:購入と開始
[購入] ページで、利用規約をお読みになり、同意してください。
[購入して開始] をクリックし、[確認] をクリックして移行タスクを開始します。
移行の進捗状況を確認するには、データ移行タスクページでタスク ID をクリックし、[タスク管理] タブを開きます。
また、ApsaraDB RDS コンソールでも進捗を追跡できます。インスタンスページに移動し、インスタンス名をクリックして、[バックアップと復元] をクリックしてください。
ステップ 5:ワークロードをクラウドに切り替える
完全移行が 100 % に達し、増分移行が [実行中] 状態になったら、[タスク管理] → [増分データ移行] に移動し、クラウドへのワークロード切り替えボタンをクリックします。
確認ダイアログボックスで、[今すぐ開始] をクリックし、切り替えが完了するまでお待ちください。
データ整合性を確保するため、切り替えを開始する前にソースインスタンスへの書き込みを停止してください。切り替えには数分かかります。
付録:物理プロトコルゲートウェイの作成
物理プロトコルゲートウェイは、DTS がソースサーバーからネイティブの SQL Server バックアップデータを読み取ることを可能にするローカルエージェントです。
前提条件
ソースサーバーで次の SQL ステートメントを実行し、NT AUTHORITY\SYSTEM アカウントに sysadmin ロールを割り当てます。
ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITY\SYSTEM]
GO注意事項
AliyunDBSAgent は、移行対象のデータベースの復元モードを [完全] に設定します。移行中にデータベースへの書き込みが継続される場合、ソースサーバーのディスク領域が消費されます。移行完了後は、次のステートメントを実行して復元モードをリセットしてください。
ALTER DATABASE <database_name> SET RECOVERY Simple;インストール手順
[ソースおよびターゲットデータベースの設定] ページで、[物理プロトコルゲートウェイの作成] をクリックします。
[インストールコマンド] ダイアログボックスで、[バックアップゲートウェイのリージョン] および [バックアップゲートウェイのネットワークタイプ] を設定します。その後、インストールコマンドをコピーし、インストールパッケージをダウンロードします。
[パブリックネットワーク] を選択すると、パブリック IP アドレスを使用してデータディザスタリカバリにアクセスできます。[ECS プライベートネットワーク/VPC] を選択すると、Alibaba Cloud の専用回線を使用してデータディザスタリカバリにアクセスできます。
ソースデータベースが実行されている Windows サーバーに AliyunDBSAgent をインストールします:ゲートウェイのインストールが正常に完了したことを確認するには、
C:\Program Files\aliyun\dbs_agent\logs\agent.logのログファイルを確認してください。ログにハートビートメッセージが表示されている場合、インストールは成功しています。ダウンロードしたパッケージ内の
setup.exeファイルをダブルクリックします。インストール言語を選択し、[OK] をクリックしてから、[次へ] をクリックします。
ライセンス契約に同意し、[次へ] をクリックします。
[物理プロトコルゲートウェイ(DBS バックアップゲートウェイ)] を選択し、[次へ] をクリックします。
インストールディレクトリを選択し、[次へ] をクリックしてから、[はい] をクリックします。
[エージェントのリージョン] フィールドでリージョンを確認し、[AccessKey ID] および [AccessKey Secret] を入力し、[次へ] をクリックします。[重要:] リージョンは、ターゲットの RDS インスタンスのリージョンと一致している必要があります。AccessKey ペアは、インストールディレクトリ内の
.\config\dbs-agent.confにプレーンテキスト形式で保存されます。インストールするコンポーネントパッケージを確認し、[次へ] をクリックします。インストールには約 1~5 分かかります。
[完了] をクリックします。
[インストールコマンド] ダイアログボックスで、[インストール済み] をクリックします。
AliyunDBSAgent サービスが実行中であることを確認します:
[実行] ダイアログボックスを開き、
services.mscを入力して、[OK] をクリックします。サービスマネージャーで、[AliyunDBSAgent] が実行中であるかを確認します。実行中でない場合は、[AliyunDBSAgent] を右クリックし、[開始] を選択します。
システムはバックアップゲートウェイサービスを自動的に起動します。サービスマネージャーから手動で起動または停止することもできます。
データディザスタリカバリコンソールにゲートウェイが表示されることを確認します:[バックアップゲートウェイ] ページの右上隅にある [更新] をクリックします。新しく作成されたゲートウェイの名前は、
DTS_で始まります。
関連トピック
バスタイオンホスト上の物理ゲートウェイを用いた自己管理 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行 — ソースサーバーがインターネットに直接アクセスできない場合
自己管理 SQL Server データベースから ApsaraDB RDS for SQL Server インスタンスへのデータ移行 — JDBC を使用した論理移行
データベースアカウントに必要な権限 — 論理的移行のための詳細な権限要件