Data Transmission Service (DTS) は、AnalyticDB for PostgreSQL インスタンスから Alibaba Cloud Message Queue for Kafka へのデータ同期をサポートしています。
この機能は招待プレビューです。この機能を使用するには、チケットを送信してください。
適用範囲
同期されたデータを受信するために、ターゲットの Alibaba Cloud Message Queue for Kafka インスタンスに Topic が作成されている必要があります。詳細については、「手順1:Topic の作成」をご参照ください。
ターゲットの Alibaba Cloud Message Queue for Kafka インスタンスのストレージ領域は、ソースの AnalyticDB for PostgreSQL インスタンスが使用するストレージ領域よりも大きい必要があります。
注意事項
ソースデータベースの制限事項
タイプ | 制限事項 |
同期前 |
|
同期中 |
|
ターゲットデータベースの制限事項
タイプ | 制限事項 |
同期前 |
|
同期中 |
|
サポートされている同期 SQL |
|
サポートされている同期オブジェクト |
|
課金
同期タイプ | タスク設定料金 |
スキーマ同期と完全データ同期 | 無料。 |
増分同期 | 課金対象です。詳細については、「課金の概要」をご参照ください。 |
操作手順
ターゲットリージョンのデータ同期タスクリストページに移動します。次のいずれかの方法を使用できます。
DTS コンソールから
DTS コンソールにログインします。
左側のナビゲーションウィンドウで、データ同期 をクリックします。
ページの左上隅で、同期インスタンスが配置されているリージョンを選択します。
DMS コンソールから
説明実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモードコンソール」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。
DMS コンソールにログインします。
上部のメニューバーから、 を選択します。
データ同期タスク の右側で、同期インスタンスのリージョンを選択します。
タスクの作成 をクリックして、タスク設定ページに移動します。
ソースデータベースとターゲットデータベースを設定します。次の表にパラメーターを示します。
カテゴリ
設定
説明
なし
タスク名
DTS は自動的にタスク名を生成します。識別しやすいように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。
移行元データベース
既存の接続情報の選択
システムに登録されているデータベースインスタンス (新規作成または保存されたもの) を使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報は自動的に設定されます。
説明DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 です。
データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。
データベースタイプ
AnalyticDB for PostgreSQL を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ソースの AnalyticDB for PostgreSQL インスタンスが存在するリージョンを選択します。
Alibaba Cloud アカウント間でデータを複製
この例では、同じ Alibaba Cloud アカウント内での同期を示します。× を選択します。
インスタンス ID
ソースの AnalyticDB for PostgreSQL インスタンスのインスタンス ID を選択します。
データベース名
ソースの AnalyticDB for PostgreSQL インスタンスで同期するデータを含むデータベースの名前を入力します。
データベースアカウント
ソースの AnalyticDB for PostgreSQL インスタンスのデータベースアカウントを入力します。アカウントには、同期対象オブジェクトに対する読み取り権限が必要です。
データベースのパスワード
データベースアカウントに対応するパスワードを入力します。
移行先データベース
既存の接続情報の選択
システムに登録されているデータベースインスタンス (新規作成または保存されたもの) を使用するには、ドロップダウンリストから目的のデータベースインスタンスを選択します。以下のデータベース情報は自動的に設定されます。
説明DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 です。
データベースインスタンスをシステムに登録していない場合、または登録済みのインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定します。
データベースタイプ
Kafka を選択します。
アクセス方法
Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
ターゲットの Alibaba Cloud Message Queue for Kafka インスタンスが存在するリージョンを選択します。
Kafka インスタンス ID
ターゲットの Alibaba Cloud Message Queue for Kafka インスタンスの ID を選択します。
暗号化
ビジネスおよびセキュリティ要件に基づき、非暗号化 または SCRAM-SHA-256 を選択します。
トピック
ドロップダウンリストから、データを受信する Topic を選択します。
Kafka スキーマレジストリの使用
Kafka スキーマレジストリは、Avro スキーマを保存および取得するための RESTful インターフェイスを提供するメタデータサービスレイヤーです。
×:Kafka スキーマレジストリを使用しません。
○:Kafka スキーマレジストリを使用します。Avro スキーマが登録されている Kafka スキーマレジストリの URL または IP アドレスを入力する必要があります。
設定完了後、ページ下部の 接続をテストして続行 をクリックします。
説明DTS サーバーからのアクセスを許可するために、DTS サービスの IP アドレスブロックが、自動または手動でソースデータベースとターゲットデータベースのセキュリティ設定に追加されていることを確認してください。詳細については、「DTS サーバーの IP アドレスホワイトリストを追加する」をご参照ください。
ソースまたはターゲットデータベースが自己管理データベースの場合 (アクセス方法 が Alibaba Cloud インスタンス ではない場合)、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックする必要もあります。
タスクオブジェクトを設定します。
オブジェクト設定 ページで、同期するオブジェクトを設定できます。
設定
説明
同期タイプ
デフォルトでは [増分同期] が選択されています。[スキーマ同期] と [完全データ同期] も選択する必要があります。事前チェックが完了すると、DTS はソースインスタンスの完全データでターゲットクラスターの同期オブジェクトを初期化します。このデータは、後続の増分同期のベースラインとして機能します。
説明ターゲットの Kafka インスタンスの アクセス方法 が Alibaba Cloud インスタンス の場合、スキーマ同期 はサポートされていません。
競合するテーブルの処理モード
エラーの事前チェックと報告:ターゲットデータベースに同名のテーブルがあるかを確認します。同名のテーブルが見つかった場合、事前チェック中にエラーが報告され、データ同期タスクは開始されません。それ以外の場合、事前チェックは成功します。
説明ターゲットデータベースで同名のテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用してターゲットデータベースのテーブル名を変更できます。詳細については、「オブジェクト名のマッピング」をご参照ください。
エラーを無視して続行:ターゲットデータベースでの名前の衝突チェックをスキップします。
警告エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスにリスクをもたらす可能性があります。例:
テーブルスキーマが一致し、ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキーまたは一意キーの値を持つ場合:
完全データ同期中、DTS はターゲットクラスターのレコードを保持します。ソースデータベースの対応するレコードは同期されません。
増分同期中、ソースデータベースのレコードがターゲットデータベースのレコードを上書きします。
テーブルスキーマが一致しない場合、データ初期化が失敗する可能性があります。これにより、一部の列のみが同期されたり、同期が完全に失敗したりする可能性があります。注意して進めてください。
Kafka のデータ形式
Kafka インスタンスへの同期に必要なデータストレージ形式を選択します。
[DTS Avro] を選択した場合、DTS Avro スキーマ定義に従ってデータを解析する必要があります。詳細については、「DTS Avro スキーマ定義」および「DTS Avro デシリアライズの例」をご参照ください。
[Canal JSON] を選択した場合、パラメーターの説明と例については「Canal JSON」をご参照ください。
Kafka 圧縮形式
Kafka メッセージに必要な圧縮形式を選択します。
[LZ4] (デフォルト):圧縮率は低いですが、圧縮速度は速いです。
[GZIP]:圧縮率は高いですが、圧縮速度は遅いです。
説明この形式はより多くの CPU リソースを消費します。
[Snappy]:圧縮率と圧縮速度は中程度です。
Kafka パーティションへのデータ転送ポリシー
必要に応じてポリシーを選択します。
メッセージ肯定応答メカニズム
必要に応じてメッセージ確認メカニズムを選択します。
DDL 情報を格納するトピック
ドロップダウンリストから、DDL 情報を格納する Topic を選択します。
説明Topic を選択しない場合、DDL 情報はデフォルトでデータを受信する Topic に格納されます。
移行先インスタンスでのオブジェクト名の大文字化
ターゲットインスタンスのデータベース、テーブル、列オブジェクトの名前の大文字/小文字ポリシーを設定できます。デフォルトでは [DTS デフォルトポリシー] が選択されています。ソースまたはターゲットデータベースのデフォルトポリシーを使用することも選択できます。詳細については、「ターゲットオブジェクト名の大文字/小文字ポリシー」をご参照ください。
ソースオブジェクト
ソースオブジェクト ボックスでオブジェクトをクリックし、
をクリックして 選択中のオブジェクト ボックスに移動します。説明テーブルレベルで同期するオブジェクトを選択できます。
選択中のオブジェクト
この例では追加の設定は不要です。マッピング機能を使用して、ターゲットの Kafka インスタンスで Topic 名、Topic のパーティション数、またはソーステーブルの列名を設定できます。
説明データベースまたはテーブルレベルで同期する SQL 操作を選択するには、選択中のオブジェクト セクションでオブジェクトを右クリックし、表示されるダイアログボックスで目的の SQL 操作を選択します。
オブジェクト名マッピング機能を使用する場合、マッピングされたオブジェクトに依存する他のオブジェクトの同期が失敗する可能性があります。
詳細設定へ をクリックします。
設定
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、選択する必要はありません。タスクの安定性を高めるために、専用クラスターを購入して DTS 同期タスクを実行できます。詳細については、「DTS 専用クラスターとは」をご参照ください。
[データ転送の暗号化を有効化]
暗号化された転送を有効にすると、DTS の同期パフォーマンスに影響する可能性があります。本番環境およびセキュリティ要件に基づいて、この機能を有効にするかどうかを選択します。
× (デフォルト)
○
失敗した接続の再試行時間
同期タスクの開始後にソースまたはターゲットデータベースへの接続が失敗した場合、DTS はエラーを報告し、直ちに接続のリトライを開始します。デフォルトのリトライ時間は 720 分です。リトライ時間は 10 分から 1,440 分の間でカスタマイズできます。30 分以上の設定を推奨します。指定されたリトライ時間内に DTS が再接続した場合、タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。
説明同じソースまたはターゲットを持つ複数の DTS インスタンス (DTS インスタンス A と DTS インスタンス B など) がある場合、A のネットワークリトライ時間が 30 分、B が 60 分に設定されていると、短い方の 30 分が適用されます。
DTS は接続リトライ中のタスク実行時間に対して課金するため、ビジネスニーズに基づいてリトライ時間をカスタマイズするか、ソースおよびターゲットデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。
移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。
同期タスクの開始後、ソースまたはターゲットデータベースで接続以外の問題 (DDL または DML 実行エラーなど) が発生した場合、DTS はエラーを報告し、直ちに継続的なリトライ操作を開始します。デフォルトのリトライ時間は 10 分です。リトライ時間は 1 分から 1,440 分の間でカスタマイズすることもできます。10 分以上の設定を推奨します。設定されたリトライ時間内に関連操作が成功した場合、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。
重要移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値より小さくする必要があります。
完全同期レートを制限するかどうか
完全データ同期フェーズ中、DTS はソースおよびターゲットデータベースの読み取りおよび書き込みリソースを消費し、それらの負荷を増加させる可能性があります。1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、1 秒あたりの完全移行データ量 (MB) BPS を設定することで、完全データ同期タスクのレート制限を設定し、ターゲットデータベースへの圧力を軽減できます。
説明この設定項目は、同期タイプ が 完全データ同期 に設定されている場合にのみ利用可能です。
同期インスタンスの実行後に完全データ同期のレートを調整することもできます。
増分同期率を制限するかどうか
1 秒あたりの増分同期の行数 RPS と 1 秒あたりの増分同期データ量 (MB) BPS を設定することで、増分同期タスクのレート制限を設定し、ターゲットデータベースへの圧力を軽減することもできます。
環境タグ
必要に応じて環境タグを選択してインスタンスを識別できます。この例では選択は不要です。
シーンラベル
必要に応じてシナリオタグを選択してインスタンスのユースケースを識別できます。シナリオタグはタスクの正常な動作に影響しません。この例では選択は不要です。
ETL 機能の設定
抽出・変換・書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:
[はい]:ETL 機能を設定します。コードエディタにデータ処理文を入力できます。詳細については、「データ移行またはデータ同期タスクで ETL を設定する」をご参照ください。
[いいえ]:ETL 機能を設定しません。
監視アラート
アラートを設定するかどうかを指定します。同期が失敗した場合や遅延が指定されたしきい値を超えた場合に、アラート連絡先に通知が送信されます。
[設定しない]:アラートは設定されません。
[設定]:アラートを設定します。アラートのしきい値とアラート通知も設定する必要があります。詳細については、「タスク設定中にモニタリングとアラートを設定する」をご参照ください。
タスクを保存して事前チェックを実行します。
API 操作でこのインスタンスを設定するためのパラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにマウスポインターを合わせ、ツールチップの OpenAPI パラメーターのプレビュー をクリックします。
API パラメーターの表示が完了したら、ページ下部の 次:タスク設定の保存と事前チェック をクリックします。
説明同期タスクが開始される前に、事前チェックが実行されます。タスクは事前チェックに合格した後にのみ開始できます。
事前チェックが失敗した場合は、失敗した項目の横にある 詳細を表示 をクリックし、プロンプトに従って問題を解決してから、事前チェックを再実行します。
事前チェック中に警告が生成された場合:
チェック項目が失敗し、無視できない場合は、項目の横にある 詳細を表示 をクリックします。その後、指示に従って問題を修正し、事前チェックを再実行します。
無視できるチェック項目については、アラートの詳細を確認、無視、OK、再度事前チェックを実行 の順にクリックして警告をスキップし、事前チェックを再実行します。チェック項目の警告を無視すると、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。
インスタンスを購入します。
成功率 が 100% になったら、次:インスタンスの購入 をクリックします。
購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。詳細については、次の表をご参照ください。
カテゴリ
パラメーター
説明
新しいインスタンスクラス
課金方法
サブスクリプション:インスタンス作成時にお支払いいただきます。長期的なニーズに適しており、従量課金よりも手頃で、サブスクリプション期間が長いほど割引率が高くなります。
従量課金:時間単位で課金されます。短期的なニーズに適しています。使用後すぐにインスタンスをリリースしてコストを節約できます。
リソースグループ設定
インスタンスが属するリソースグループ。デフォルトは [デフォルトリソースグループ] です。詳細については、「Resource Management とは」をご参照ください。
リンク仕様
DTS は、異なるパフォーマンスレベルの同期仕様を提供します。リンク仕様は同期レートに影響します。ビジネスシナリオに基づいて選択できます。詳細については、「データ同期リンク仕様」をご参照ください。
サブスクリプション期間
サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。月単位のサブスクリプションでは 1〜9 ヶ月、年単位のサブスクリプションでは 1、2、3、5 年から選択できます。
説明このオプションは、課金方法が サブスクリプション の場合にのみ表示されます。
設定が完了したら、Data Transmission Service (従量課金) 利用規約 を読み、同意のチェックを入れます。
購入して起動 をクリックし、表示される OK ダイアログボックスで [OK] をクリックします。
データ同期ページでタスクの進捗状況を確認できます。
よくある質問
Kafka 圧縮形式 は変更できますか?
はい、[同期オブジェクトの変更] 機能を使用して変更できます。
メッセージ肯定応答メカニズム は変更できますか?
はい、[同期オブジェクトの変更] 機能を使用して変更できます。