INSERT、UPDATE、DELETE 操作を PolarDB-X 2.0 インスタンスからキャプチャし、変更追跡クライアントを介してダウンストリームのコンシューマーにストリーミングするための変更追跡タスクを設定します。
前提条件
開始する前に、以下の点を確認してください。
PolarDB-X 2.0 インスタンスが作成済みであり、そのインスタンス内にデータベースが存在すること。詳細については、「PolarDB-X インスタンスの作成」および「データベースの作成」をご参照ください。
ApsaraDB RDS for MySQL インスタンスがクラシックネットワークタイプの場合、ApsaraDB RDS for MySQL インスタンスに対して内部エンドポイントが設定されていること。
バイナリログが有効化されており、
binlog_row_imageがfullに設定されていること。詳細については、「パラメーター設定」をご参照ください。バイナリログの保持期間が 24 時間を超えること。保持期間が短い場合、DTS がログを読み取れず、タスクが失敗する可能性があります。
このタスクで使用するデータベースアカウントが、追跡対象となるすべてのオブジェクトに対して読み取り権限を持っていること。
制限事項
ソースデータベース
ソーステーブルには、プライマリキーまたはすべてのフィールドが一意である一意制約(UNIQUE constraint)が必要です。これらの制約がないテーブルでは、重複した変更レコードが生成される可能性があります。
テーブル単位の追跡は、1 つのタスクあたり最大 500 テーブルまでサポートしています。500 テーブルを超える場合は、複数のタスクを使用するか、データベース単位の追跡に切り替えてください。
ソースインスタンスが読み取り専用または一時インスタンスの場合、トランザクションログが記録されることを確認してください。
タスク実行中
ソースインスタンスでプライマリ/セカンダリ スイッチオーバーが発生すると、タスクが失敗します。
タスク実行中に、ソースインスタンスのスケーリング、頻繁にアクセスされるテーブルの移行、シャードの変更、DDL 操作の実行は行わないでください。
ソースインスタンスが他の実行中タスク(例:データ移行タスク)でも使用されている場合、DTS が追跡対象外のオブジェクトからの変更もキャプチャすることがあります。この場合、変更追跡クライアント側でデータを手動でフィルター処理してください。
DTS は FLOAT および DOUBLE 型のカラムを読み取る際に
ROUND(COLUMN, PRECISION)を使用します。FLOAT のデフォルト精度は 38 桁、DOUBLE のデフォルト精度は 308 桁です。これらのデフォルト値が要件を満たすか確認してください。DTS は
pt-online-schema-changeを使用して実行された DDL 操作をキャプチャしません。このツールでスキーマ変更を行った場合、スキーマの不整合により変更追跡クライアントがデータ書き出しに失敗する可能性があります。
必要な権限
| インスタンス | 必要な権限 |
|---|---|
| ソース PolarDB-X 2.0 インスタンス | 変更追跡対象のオブジェクトに対する読み取り権限 |
変更追跡タスクの作成
変更追跡タスクページに移動します。
Data Management (DMS) コンソール にログインします。
上部のナビゲーションバーで、DTS をクリックします。
左側のナビゲーションウィンドウで、DTS (DTS) > 変更追跡 を選択します。
代替方法として、シンプルモードでは、左上隅のアイコンにポインターを合わせて、すべての機能 > DTS > 変更追跡 を選択します。また、新しい DTS コンソール を使用することもできます。
変更追跡タスク の右側にあるドロップダウンリストから、変更追跡タスクを作成するリージョンを選択します。
新しい DTS コンソールでは、ワークベンチ の右側にあるドロップダウンリストからリージョンを選択します。
[タスクの作成] をクリックし、ソースデータベースおよびコンシューマーのネットワークタイプを構成します。
警告続行する前に、ページ上部に表示される制限事項を必ずご確認ください。このステップをスキップすると、タスクが失敗したり、ダウンストリームのコンシューマーが追跡データを読み取れなくなる可能性があります。
セクション パラメーター 説明 なし タスク名 タスクの名称です。DTS がデフォルト名を自動的に割り当てます。タスクを容易に識別できるよう、意味のある名称を指定してください。名称は一意である必要はありません。 ソースデータベース 既存のデータベース接続を選択 既存の接続を選択するか、新規に構成します。既存の接続を使用する場合、DTS が保存済みの設定を自動的に適用します。 データベースタイプ PolarDB-X 2.0 を選択します。 アクセス方法 固定値:Alibaba Cloud インスタンス。 インスタンスのリージョン ソース PolarDB-X インスタンスが配置されているリージョンです。 インスタンス ID ソース PolarDB-X インスタンスの ID です。 データベースアカウント PolarDB-X インスタンスのアカウントです。追跡対象となるすべてのオブジェクトに対して読み取り権限を持つ必要があります。 データベースパスワード データベースアカウントのパスワードです。 コンシューマーのネットワークタイプ ネットワークタイプ 固定値:VPC。使用する VPC および vSwitch を選択します。変更追跡クライアントが VPC 内で実行される場合、レイテンシーを最小限に抑えるため、クライアントと同じ VPC および vSwitch を選択してください。この設定はタスク作成後に変更できません。 「[接続性のテストと続行]」をクリックします。DTS は、自動的にその CIDR ブロックを Alibaba Cloud データベースインスタンスのホワイトリストおよび ECS でホストされるデータベースのセキュリティグループルールに追加します。データセンター内またはサードパーティのクラウドプラットフォーム上の自己管理データベースの場合、DTS サーバーの CIDR ブロックをデータベースのセキュリティ設定に手動で追加します。CIDR ブロックの完全な一覧については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。
警告パブリック CIDR ブロックをデータベースのホワイトリストまたはセキュリティグループに追加すると、データベースが潜在的なセキュリティリスクにさらされる可能性があります。このようなリスクを軽減するため、アカウント認証情報の強化、公開ポートの制限、API アクセスの監査、ホワイトリストルールの定期的な見直し、Express Connect、VPN Gateway、Smart Access Gateway を活用した非公開接続の利用などの予防措置を講じてください。
オブジェクトおよび高度な設定を構成します。
基本設定
パラメーター 説明 データ変更の種類 追跡する変更の種類を選択します。
データ更新:DML 操作(INSERT、DELETE、UPDATE)を追跡します。
スキーマ更新:ソースインスタンスのすべてのオブジェクトスキーマに対して実行される作成、削除、変更操作を追跡します。追跡対象のデータをフィルター処理するには、変更追跡クライアントを使用する必要があります。
ソースオブジェクト ソースオブジェクト セクションからオブジェクトを選択し、矢印アイコンをクリックして 選択済みオブジェクト セクションに移動します。 高度な設定
パラメーター 説明 モニタリングおよびアラート機能 タスクの失敗またはレイテンシーがしきい値を超えた場合のアラートを構成します。はい を選択すると、アラートのしきい値およびアラート連絡先を指定できます。アラート機能を無効にする場合は いいえ を選択します。 失敗した接続の再試行時間 DTS が接続失敗時に再試行を実行する時間(分)。有効範囲:10~1440 分。デフォルト値:120 分。最低でも 30 分以上を設定してください。この時間内に DTS が再接続できた場合、タスクは自動的に再開されます。注:同一インスタンスが複数の変更追跡タスクのソースまたは宛先インスタンスとして使用されている場合、そのインスタンスに設定された最も短い再試行時間範囲が優先されます。DTS が接続を再試行している間は、DTS インスタンスの課金が発生します。ビジネス要件に基づいて再試行時間範囲を設定することを推奨します。また、ソースおよび宛先インスタンスがリリースされた後は、可能な限り早期に DTS インスタンスもリリースしてください。 ETL の構成 ETL (抽出・変換・書き出し) 処理を有効化します。ETL ポリシーをコードエディタに記述するには、[はい] を選択します。詳細については、「ETL とは? [次へ:タスク設定の保存と事前チェック] をクリックします。この構成に対応する OpenAPI パラメーターをプレビューするには、次へ:タスク設定の保存と事前チェック の上にポインターを合わせ、OpenAPI パラメーターのプレビュー をクリックします。
DTS はタスク開始前に事前チェックを実行します。事前チェックがすべて成功した場合にのみ、タスクが開始されます。いずれかの項目が失敗した場合は、隣の [詳細の表示] をクリックし、問題を修正したうえで [再チェック] をクリックしてください。警告項目が重大でない場合は、[警告の詳細を確認] をクリックし、その後 [無視]、[OK] の順にクリックして再チェックを実行してください。警告を無視すると、データの不整合が発生する可能性があります。
成功率 が 100% になるまで待機し、[次へ:インスタンスの購入] をクリックします。
[購入] ページで、支払い方法を選択します。
パラメーター 説明 支払い方法 サブスクリプション:一定期間の前払い方式です。長期利用に適しており、コスト効率が高くなります。利用可能期間:1~9 か月、または 1、2、3、5 年。
従量課金:時間単位で課金されます。短期間または試験運用に適しています。不要になった時点でインスタンスをリリースすることで、課金を停止できます。
リソースグループ設定 インスタンスのリソースグループです。デフォルト値:デフォルトリソースグループResource Management とは サブスクリプション期間 サブスクリプション 支払い方法でのみ利用可能です。期間および購入するインスタンス数を設定します。 Data Transmission Service(従量課金)サービス利用規約 をお読みのうえ、チェックボックスをオンにしてください。
[購入して開始] をクリックします。タスクはタスクリストに表示され、変更の追跡を開始します。
次のステップ
タスクが実行中になったら、コンシューマーグループを作成し、ダウンストリームのクライアントを接続して追跡データを消費します。
クライアントを接続して追跡データを消費します。