Data Transmission Service (DTS) の逆方向タスク作成機能は、ディザスタリカバリやサービススイッチオーバーのシナリオにおいて、ソースデータベースへのデータの送り返しを実現します。
前提条件
-
本番データベースよりも大きいストレージ容量を持つディザスタリカバリデータベースが作成されていること。本番データベースが使用するストレージよりも少なくとも 10% 多い容量を推奨します。
-
本番データベースとディザスタリカバリデータベースの両方で、データ同期用のデータベースアカウントが作成されていること。必要な権限の詳細については、「RDS MySQL インスタンス間の片方向同期」、「RDS SQL Server インスタンス間の同期」、「ApsaraDB for MongoDB レプリカセットインスタンスから別のレプリカセットまたはシャードクラスターインスタンスへのデータ同期」、および「ApsaraDB for MongoDB シャードクラスターインスタンスから ApsaraDB for MongoDB レプリカセットまたはシャードクラスターインスタンスへのデータ同期」をご参照ください。
重要ディザスタリカバリデータベースのアカウントには、追加の権限が必要です:
-
SQL Server データベース間の同期インスタンスの場合:ターゲットデータベースのアカウントには、
sysadminロールの権限が必要です。これらの権限を付与するには、特権アカウントを使用して次のコマンドを実行します:EXEC sp_addsrvrolemember @loginame = N'<Account name>', @rolename = N'sysadmin'; -
MySQL データベース間の同期インスタンスの場合:ターゲットデータベースのアカウントには、
REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、およびSELECT権限も必要です。権限の付与方法については、MySQL 公式ドキュメントをご参照ください。 -
ApsaraDB for MongoDB インスタンス間の同期インスタンスの場合:ターゲットデータベースのアカウントには、同期対象のデータベース、
adminデータベース、およびlocalデータベースに対するread権限も必要です。詳細については、「DMS を使用したデータベースアカウントの管理」をご参照ください。
-
注意事項
-
逆方向インスタンスは、SQL Server データベース、MySQL データベース、または ApsaraDB for MongoDB インスタンス間の同期インスタンスに対してのみ作成できます。逆方向インスタンスでは、同期タイプ として 増分データ同期 のみ選択できます。
重要元の同期インスタンスが SQL Server または MySQL データベースの場合、この機能はターゲットデータベースが ApsaraDB データベースインスタンスである場合にのみサポートされます。
-
逆方向インスタンスは、その作成前にターゲットデータベースへ直接書き込まれたデータを同期の対象外とします。
-
逆方向インスタンスが作成されると、すぐに事前チェックが実行されます。事前チェックに合格すると、DTS は増分データのキャプチャを開始しますが、増分データ書き込みモジュールは実行されません。
-
データの不整合やインスタンスの障害を防ぐため、対応する逆方向インスタンスを開始する前に、元のインスタンスを一時停止してください。
-
各同期インスタンスに対して作成できる逆方向インスタンスは 1 つだけです。逆方向インスタンスが開始されると、元のインスタンスを直接開始することはできません。
-
クロスリージョンまたはクロスカントリーの同期インスタンスに対して逆方向インスタンスを作成することはできません。
-
同期するテーブルにはプライマリキーまたは一意制約が必要であり、制約内のすべてのフィールドは一意でなければなりません。そうでない場合、データが重複する可能性があります。
-
本番データベースで例外が発生した後の推定回復時間に基づいて、バイナリログの保持期間を設定してください。
-
元のタスクが Serverless インスタンスを使用している場合、逆方向タスクは micro 仕様の従量課金インスタンスを使用します。元のタスクがサブスクリプションまたは従量課金インスタンスを使用している場合、逆方向タスクはデフォルトで元のタスクと同じ課金方法と仕様を使用します。
-
元のタスクがクロスリージョン同期タスクの場合、順方向タスクのソースリージョンに切り替えて、同期タスクリストで逆方向タスクを表示します。
-
逆方向タスクは、一時停止中も課金対象となります。
-
ビジネスデータベースへの接続を妨げる例外が発生した場合、DTS タスクの ステータス が 再試行中 と表示されることがあります。これは想定内の動作です。
操作手順
データベースのディザスタリカバリシナリオ
-
ご利用のサービスの要件に基づき、本番データベースからディザスタリカバリデータベースにデータを同期するための順方向同期タスクを作成します。
必要に応じて仕様を選択します。ご利用のデータベースの推定回復時間に基づいて、失敗した接続の再試行時間 パラメーターを設定します。順方向同期タスクの作成に関する詳細については、「RDS MySQL インスタンス間の片方向同期」、「RDS SQL Server インスタンス間の同期」、「ApsaraDB for MongoDB レプリカセットインスタンスから別のレプリカセットまたはシャードクラスターインスタンスへのデータ同期」、および「ApsaraDB for MongoDB シャードクラスターインスタンスから ApsaraDB for MongoDB レプリカセットまたはシャードクラスターインスタンスへのデータ同期」をご参照ください。
-
順方向同期タスクの ステータス が 実行中 になるまで待ってから、逆方向タスクを作成します。
-
データ同期タスク リストで、順方向同期タスクを見つけます。
-
ターゲットインスタンスの [操作] 列で、 を選択します。
-
注意 ダイアログボックスで、確かですか をクリックします。
逆方向インスタンスの事前チェックが完了するのを待ちます。完了すると、ステータス が 初期同期を実行中 に変わります。
説明-
自動再読み込み が無効になっている場合、操作 列の上にある
アイコンを手動でクリックして、同期インスタンスの ステータス を更新する必要があります。 -
事前チェックが失敗した場合は、原因を表示 をクリックします。次に、失敗した確認項目の 詳細を表示 をクリックし、プロンプトに従って問題を修正し、再度事前チェックを実行します。
-
-
逆方向タスクが作成された後、これ以上の操作は必要ありません。
-
-
例外により本番データベースに接続できない場合は、次の手順を実行してサービスを復旧します。
-
元の DTS タスクを一時停止します。
-
データ同期タスク ページで、元の DTS タスクを見つけます。
-
タスクの右側で、 を選択します。
-
注意 ダイアログボックスで、[OK] をクリックします。
-
[タスク一時停止] ダイアログボックスで、[OK] をクリックします。
-
-
サービスをディザスタリカバリデータベースに切り替えます。
-
逆方向インスタンスを開始します。
-
データ同期タスク ページで、新しく作成された逆方向インスタンスを見つけます。
-
ターゲットインスタンスの [操作] 列で、 を選択します。
-
注意 ダイアログボックスで、確かですか をクリックします。
-
-
-
本番データベースが復旧したら、次の手順を実行してサービスを本番データベースに戻し、同期タスクを再開します。
-
サービスを元の本番データベースに切り替えます。
-
逆方向タスクの遅延がなくなるまで待ってから、逆方向タスクを一時停止します。
逆方向タスクは、ディザスタリカバリデータベースに書き込まれたデータを本番データベースに同期します。
-
逆方向タスクが一時停止された後、元の順方向同期タスクを開始できます。
-
サービススイッチオーバーシナリオ
-
逆方向同期タスクを作成します。
-
データ同期タスク リストで、順方向同期タスク (元の DTS タスク) を見つけます。
-
ターゲットインスタンスの [操作] 列で、 を選択します。
-
注意 ダイアログボックスで、確かですか をクリックします。
逆方向インスタンスの事前チェックが完了するのを待ちます。完了すると、ステータス が 初期同期を実行中 に変わります。
説明-
自動再読み込み が無効になっている場合、操作 列の上にある
アイコンを手動でクリックして、同期インスタンスの ステータス を更新する必要があります。 -
事前チェックが失敗した場合は、原因を表示 をクリックします。次に、失敗した確認項目の 詳細を表示 をクリックし、プロンプトに従って問題を修正し、再度事前チェックを実行します。
-
-
逆方向同期タスクが作成された後、これ以上の操作は必要ありません。
-
-
増分データ収集 モジュールがゼロレイテンシーで実行されるまで待ちます。
逆方向同期タスクの ID をクリックします。タスク管理 ページで、進捗状況 セクションでモジュールのステータスと遅延を表示できます。
-
ビジネスデータの書き込みを停止します。
データ損失を防ぐため、一時的にサービスを停止し、新しいデータがデータベースに書き込まれないようにしてください。
-
元の DTS タスクを一時停止します。
-
データ同期タスク ページで、元の DTS タスクを見つけます。
-
タスクの右側で、 を選択します。
-
注意 ダイアログボックスで、[OK] をクリックします。
-
[タスク一時停止] ダイアログボックスで、[OK] をクリックします。
-
-
サービスを順方向同期タスクのターゲットデータベースに切り替えます。
-
逆方向インスタンスを開始します。
-
データ同期タスク ページで、新しく作成された逆方向インスタンスを見つけます。
-
ターゲットインスタンスの [操作] 列で、 を選択します。
-
注意 ダイアログボックスで、確かですか をクリックします。
-
-
順方向同期タスクを終了またはリリースできます。
詳細については、「DTS タスクの終了」および「DTS タスクのリリース」をご参照ください。
よくある質問
-
順方向同期タスクを作成する際に、どのように仕様を選択すればよいですか?
最小仕様 (micro) を選択します。逆方向タスクを作成した後、サービスボリュームに基づいてタスクの仕様をアップグレードできます。詳細については、「タスクのリンク仕様のアップグレード」をご参照ください。
-
本番データベースが復旧した後に DTS タスクが [失敗] 状態になった場合はどうすればよいですか?
DTS タスクを開始できます。詳細については、「DTS タスクの開始」をご参照ください。
> 逆方向タスクの作成