このトピックでは、Data Transmission Service (DTS) を使用して ApsaraDB RDS for MySQL インスタンス(ソース)からリアルタイムのデータ変更を追跡するための変更追跡タスクの構成方法について説明します。変更追跡は、軽量なキャッシュ更新、非同期データ処理によるビジネスデカップリング、および抽出・変換・書き出し(ETL)同期をサポートします。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
- ApsaraDB RDS for MySQL インスタンス(ソース)
- 対象オブジェクトに対する SELECT 権限および REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW 権限を有するデータベースアカウント
- 購入済みの変更追跡インスタンス。詳細については、「変更追跡インスタンスを購入する
注意事項
- DTS は、gh-ost や pt-online-schema-change によって実行された DDL 操作を追跡しません。スキーマの競合により、変更追跡クライアントが消費済みデータを宛先テーブルに正常に書き込めなくなる場合があります。
- ソースデータベースが、実行中のデータ移行タスクなど他のタスクに関与している場合、DTS が追加のオブジェクトのデータ変更も追跡する可能性があります。その場合は、変更追跡クライアントで追跡対象データを手動でフィルター処理してください。
変更追跡タスクの構成
- DTS コンソール にログインします。
- 左側ナビゲーションウィンドウで、[変更追跡] をクリックします。
- [変更追跡タスク] ページ上部で、変更追跡インスタンスが配置されているリージョンを選択します。
- 変更追跡インスタンスを見つけ、[アクション] 列の [タスクの設定] をクリックします。
- ソースデータベースおよびネットワークタイプを構成します。
カテゴリ 構成 説明 タスク設定 タスク名 DTS が自動的にタスク名を生成します。識別しやすい名称を指定してください。タスク名は一意である必要はありません。 ソースデータベース設定 インスタンスタイプ [RDS インスタンス] を選択します。 説明 ソースデータベースがセルフマネージドの場合、まずネットワーク環境を展開します。詳細については、「準備の概要」をご参照ください。データベースタイプ [MySQL] この値は変更できません。 インスタンスリージョン 購入ページで選択したソースリージョンが表示されます。この値は変更できません。 RDS インスタンス ID データ変更を追跡する ApsaraDB RDS for MySQL インスタンスの ID を選択します。読み取り専用インスタンスまたは一時インスタンスはソースとして使用できません。 データベースアカウント ソースインスタンスのデータベースアカウントを入力します。このアカウントには、対象オブジェクトに対する SELECT 権限および REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW 権限が必要です。 データベースパスワード データベースアカウントのパスワードを入力します。 ネットワークタイプ - クラシック
- [VPC]
変更追跡インスタンスのネットワークタイプとして、[クラシック] または [VPC] を選択します。
説明- 変更追跡クライアントがローカルサーバー上で実行される場合、[クラシック] または [VPC] のいずれかを選択します。
- 変更追跡クライアントが ECS インスタンス上で実行される場合、ECS インスタンスと一致するネットワークタイプを選択します。たとえば、ECS インスタンスが VPC 内にある場合は、[VPC] を選択し、[VPC] および [vSwitch] のパラメーターを指定します。
- 内部ネットワーク経由でのデータ変更の追跡は、ネットワーク遅延を最小限に抑えます。
- ページ右下の [接続性のテストと続行] をクリックします。
ソースデータベースが Alibaba Cloud のデータベースインスタンス(例:ApsaraDB RDS for MySQL または ApsaraDB for MongoDB)である場合、または ECS 上でホストされている自己管理データベースである場合、DTS は自動的に DTS サーバーの CIDR ブロックをデータベースインスタンスのホワイトリストまたは ECS セキュリティグループルールに追加します。詳細については、「オンプレミスデータベースのセキュリティ設定に DTS サーバーの CIDR ブロックを追加する」をご参照ください。ソースデータベースがデータセンター内の自己管理データベース、または他のクラウドプロバイダーから提供される自己管理データベースである場合は、アクセスを許可するために DTS サーバーの CIDR ブロックを手動で追加します。
警告 CIDR ブロックをホワイトリストまたは ECS のセキュリティグループルールに追加すると、セキュリティリスクが生じる可能性があります。DTS を使用する前に、これらのリスクを理解し、承認してください。予防措置として、アカウントおよびパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストまたはセキュリティグループルールの定期的なレビュー、不正な CIDR ブロックの削除、Express Connect、VPN Gateway、または Smart Access Gateway を介したデータベースと DTS の接続などが挙げられます。DTS タスクが完了またはリリースされた後は、ホワイトリストまたは ECS のセキュリティグループルールから追加された CIDR ブロックを手動で確認・削除してください。
- 追跡対象のデータ変更タイプおよびオブジェクトを選択します。
構成 説明 必要なデータタイプ 以下のデータ変更タイプのいずれか、または両方を選択します。
- [データ更新]
選択したオブジェクトに対する INSERT、DELETE、UPDATE 操作を追跡します。
- [スキーマ更新]
ソースインスタンスのすべてのオブジェクトスキーマに対する作成、削除、変更操作を追跡します。必要なデータは、変更追跡クライアントでフィルター処理してください。
説明- データベースを選択すると、そのデータベース内のすべてのオブジェクト(今後追加されるオブジェクトを含む)のデータ変更が追跡されます。
- テーブルを選択すると、そのテーブルのデータ変更のみが追跡されます。追加のテーブルの変更を追跡するには、選択したオブジェクトを変更します。詳細については、「変更追跡のオブジェクトを変更する」をご参照ください。
必要なオブジェクト [必要なオブジェクト] セクションからオブジェクトを選択し、
アイコンをクリックして [選択済み] セクションに移動します。説明 変更追跡の対象オブジェクトとして、テーブルまたはデータベースを選択してください。 - [データ更新]
- ページ右下の [保存して事前チェック] をクリックします。説明
- DTS は、変更追跡タスクの開始前に事前チェックを実行します。事前チェックが成功した場合にのみ、タスクが開始されます。
- 事前チェック項目のいずれかが失敗した場合、失敗した項目の横にある
アイコンをクリックして詳細を確認し、問題を修正したうえで再度事前チェックを実行してください。
- [事前チェックが成功しました] というメッセージが表示されたら、[事前チェック] ダイアログボックスを閉じます。
構成が完了すると、DTS が初期の変更追跡を実行します。このプロセスには約 1 分かかります。初期変更追跡が完了したら、追跡されたデータを消費するための使用者グループを 1 つ以上作成してください。