このトピックでは、Data Transmission Service (DTS) を使用してリバースインスタンスを作成する方法について説明します。 この機能は、データベースのディザスタリカバリまたはワークロードの切り替えのために、ターゲットデータベースからソースデータベースにデータを同期するために使用されます。
前提条件
ディザスタリカバリデータベースが作成されます。 このデータベースの使用可能なストレージ容量は、ビジネスデータベースのデータの合計サイズよりも大きくなります。 ディザスタリカバリデータベースの使用可能なストレージ容量は、ビジネスデータベースのデータの合計サイズよりも10% に大きくすることをお勧めします。
データを同期するために、ビジネスデータベースとディザスタリカバリデータベース用のアカウントが作成されます。 アカウントに必要な権限については、「ApsaraDB RDS For MySQLインスタンス間の一方向データ同期の設定」、「ApsaraDB RDS for SQL Serverインスタンス間のデータ同期」、「ApsaraDB for MongoDBレプリカセットインスタンスから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権限を付与する必要があります。 詳細については、「GRANTステートメント」をご参照ください。
ApsaraDB for MongoDBインスタンス間でデータを同期する場合、元のデータ同期インスタンスのターゲットデータベースアカウントに、ソースデータベース、管理者データベース、およびローカルデータベースに対する読み取り権限が必要です。 詳細については、「DMSを使用したデータベースアカウントの管理」をご参照ください。
使用上の注意
リバースインスタンスは、SQL Serverデータベース、MySQLデータベース、またはApsaraDB for MongoDBインスタンス間のデータ同期インスタンスに対してのみ作成できます。 リバースインスタンスを設定するときは、同期タイプパラメーターに増分データ同期のみを選択できます。
リバースインスタンスが作成される前に元の同期インスタンスのターゲットデータベースに直接書き込まれたデータは同期されません。
リバースインスタンスが作成された直後に事前チェックが実行されます。 事前チェックに合格すると、DTSは増分データを収集しますが、元の同期インスタンスのソースデータベースにはデータを書き込みません。
同期インスタンスごとに作成できるリバースインスタンスは1つだけです。 リバースインスタンスの起動後、元の同期インスタンスを直接起動することはできません。
クロスボーダー同期インスタンスのリバースインスタンスは作成できません。
同期するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでなければ、重複するデータレコードが発生する。
ビジネスデータベースで例外が発生した場合のデータベースの復元に必要な推定時間に基づいて、バイナリログの保持期間を設定する必要があります。
元の同期インスタンスがDTSサーバーレスインスタンスの場合、元の同期インスタンス用に作成したリバースインスタンスは、従量課金方式とmicroインスタンスクラスのみをサポートします。 元の同期インスタンスがサブスクリプションまたは従量課金インスタンスの場合、元の同期インスタンス用に作成するリバースインスタンスの課金方法とインスタンスクラスは、デフォルトで元の同期インスタンスと同じです。
元の同期インスタンスがクロスリージョンデータ同期に使用されている場合、元の同期インスタンス用に作成されたリバースインスタンスを [データ同期タスク] ページで表示する前に、元の同期インスタンスのソースデータベースが存在するリージョンを選択する必要があります。
リバースインスタンスが一時停止されている期間中、作成されたリバースインスタンスに対しては引き続き課金されます。
例外によりビジネスデータベースの接続に失敗した場合、DTSインスタンスは 再試行中 状態になります。
手順
データベース災害復旧シナリオ
転送同期インスタンスを作成して、ビジネス要件に基づいてビジネスデータベースからディザスタリカバリデータベースにデータを同期します。
ビジネス要件に基づいてインスタンスクラスを選択し、ビジネスデータベースで例外が発生した場合にデータベースの復元に必要な推定時間に基づいて、失敗した接続の再試行時間 パラメーターを設定します。 順方向同期インスタンスの作成方法の詳細については、「ApsaraDB RDS For MySQLインスタンス間の一方向データ同期の設定」、「ApsaraDB RDS for SQL Serverインスタンス間のデータ同期」、「ApsaraDB for MongoDBレプリカセットインスタンスからApsaraDB for MongoDBレプリカセットまたはシャードクラスターインスタンスへのデータの同期」、ApsaraDB for MongoDBシャードクラスターインスタンスからApsaraDB for MongoDBレプリカセットまたはシャードクラスターインスタンスへのデータの同期を行います。
順方向同期インスタンスが 実行中 状態になるまで待ち、次の手順を実行して逆方向インスタンスを作成します。
データ同期タスク ページで、作成した同期インスタンスを見つけます。
管理するデータ同期インスタンスを見つけ、[操作] 列のアイコンをクリックし、逆方向タスクの作成 を選択します。
[メモ] メッセージで、[OK] をクリックします。
リバースインスタンスの事前チェックが完了し、インスタンスの ステータス 列に 初期同期を実行中 が表示されるまで待ちます。
説明自動再読み込み が無効の場合、操作 列の上にあるアイコンをクリックして、リバースインスタンスの状態を更新する必要があります。ステータス
事前チェックが失敗した場合は、原因を表示 をクリックします。 表示されたページで、失敗したチェック項目の [チェック結果] 列の 詳細を表示 をクリックします。 指示に従って問題を解決し、事前チェックを再度実行します。
リバースインスタンスが作成されました。 例外が発生しない場合、これ以上の操作は必要ありません。
例外によりビジネスデータベースの接続に失敗した場合は、次の手順を実行してビジネスを復元します。
元のインスタンスを一時停止します。
データ同期タスク ページで、元のインスタンスを見つけます。
[操作] 列でアイコンをクリックし、タスクの一時停止 を選択します。
[メモ] ダイアログボックスで、[OK] をクリックします。
では、タスクが一時停止されます。 メッセージをクリックし、[OK] をクリックします。
ワークロードをディザスタリカバリデータベースに切り替えます。
リバースインスタンスを起動します。
データ同期タスク ページで、リバースインスタンスのIDをクリックします。
(オプションの手順) 左側のナビゲーションウィンドウで、タスク管理 をクリックします。
進捗状況 セクションで、増分書き込み モジュールをクリックします。
基本情報 タブで、操作 の横にある 増分書き込みの起動 をクリックします。
[メモ] メッセージで、[OK] をクリックします。
ビジネスデータベースの復元後、次の手順を実行して、ワークロードをビジネスデータベースに切り替え、同期インスタンスを復元します。
ワークロードをビジネスデータベースに切り替えます。
逆方向の増分同期タスクが遅延しなくなるまで待ち、逆方向インスタンスを一時停止します。
リバース・インスタンスは、災害復旧データベースに直接書き込まれたデータをビジネス・データベースに同期します。
リバースインスタンスが一時停止されるまで待ち、フォワード同期インスタンスを起動します。
ワークロードの切り替えシナリオ
リバースインスタンスを作成します。
データ同期タスク ページで、元のインスタンスである転送同期インスタンスを見つけます。
管理するデータ同期インスタンスを見つけ、[操作] 列のアイコンをクリックし、逆方向タスクの作成 を選択します。
[メモ] メッセージで、[OK] をクリックします。
リバースインスタンスの事前チェックが完了し、インスタンスの ステータス 列に 初期同期を実行中 が表示されるまで待ちます。
説明自動再読み込み が無効の場合、操作 列の上にあるアイコンをクリックして、リバースインスタンスの状態を更新する必要があります。ステータス
事前チェックが失敗した場合は、原因を表示 をクリックします。 表示されたページで、失敗したチェック項目の [チェック結果] 列の 詳細を表示 をクリックします。 指示に従って問題を解決し、事前チェックを再度実行します。
リバースインスタンスが作成されました。 例外が発生しない場合、これ以上の操作は必要ありません。
増分データ収集モジュールが遅延なしで実行されるまで待ちます。
リバースインスタンスのIDをクリックします。 タスク管理 ページの 進捗状況 セクションで、モジュールの状態とレイテンシを表示します。
転送インスタンスのソースデータベースへのビジネスデータの書き込みを停止します。
データの損失を回避するには、ビジネスを一時停止し、データベースへのデータの書き込みを停止します。
元のインスタンスを一時停止します。
データ同期タスク ページで、元のインスタンスを見つけます。
[操作] 列でアイコンをクリックし、タスクの一時停止 を選択します。
[メモ] ダイアログボックスで、[OK] をクリックします。
では、タスクが一時停止されます。 メッセージをクリックし、[OK] をクリックします。
ワークロードを転送インスタンスのターゲットデータベースに切り替えます。
リバースインスタンスを起動します。
データ同期タスク ページで、リバースインスタンスのIDをクリックします。
(オプションの手順) 左側のナビゲーションウィンドウで、タスク管理 をクリックします。
進捗状況 セクションで、増分書き込み モジュールをクリックします。
基本情報 タブで、操作 の横にある 増分書き込みの起動 をクリックします。
[メモ] メッセージで、[OK] をクリックします。
転送インスタンスを終了またはリリースします。
詳細については、「DTSインスタンスの終了」および「DTSインスタンスのリリース」をご参照ください。
よくある質問
前方同期インスタンスを作成するときにインスタンスクラスを選択するにはどうすればよいですか。
最大レコード数 /秒 (RPS) が最小のmicroインスタンスクラスを選択することを推奨します。 リバースインスタンスを作成した後、ビジネス要件に基づいてインスタンスをアップグレードできます。 詳細については、「DTSインスタンスのアップグレード」をご参照ください。
ビジネスデータベースの復元後にDTSインスタンスが [失敗] 状態になった場合はどうすればよいですか。
DTSタスクを開始します。 詳細については、「DTSタスクの開始」をご参照ください。