操作シナリオ
既存のデータ購読タスクが1.0(旧Kafka版)で実行されている場合、コンソールが提供する製品化アップグレードフローを通じて、タスクをデータ購読2.0にスムーズにアップグレードできます。アップグレード後は、独立したCKafkaインスタンス、より強力なリソース分離性、より充実した可観測性を取得でき、アップグレード前後で価格は変わりません。
背景情報
データ購読2.0はアーキテクチャ面で全面的にアップグレードされ、地域共有の自社構築Kafkaクラスターからユーザーごとに独立したクラウド製品CKafkaインスタンスへ切り替えられ、「隣人効果」が完全に排除されました。アップグレードプロセス中、システムは1.0タスクと並行して実行される2.0シャドウタスクを自動的に作成し、GTIDポジションマッピングを通じてデータの連続性を確保し、コンシューマグループレベルでのきめ細かな切り替えとロールバックをサポートします。
実装メカニズム
アップグレードフローは4つの段階に分かれており、システムが段階の移行を自動的に管理します:
|
シャドウタスクを作成します。 | システムは2.0 CKafka上で1.0と同じ設定のシャドウ購読タスクを作成し、ソースデータベースのテーブル構造を自動的に同期します。 |
データ追平 | シャドウタスクは1.0の消費進捗の追跡を開始し、GTID差分トランザクション数によって追いつき状態を測定します。 |
アップグレード切り替え | コンシューマグループ単位で切り替えを行い、各コンシューマグループは同期位置、設定変更、サービス再起動、消費確認の4つのステップを完了する必要があります。 |
アップグレード完了 | システムは終了処理を非同期で実行します:1.0タスクのリソースを解放し、テストコンシューマグループを削除します。 |
データ追平判定基準:2.0シャドウタスクとソースデータベースのGTID差トランザクション数が5未満の場合、システムは追平済みと判定し、アップグレード切り替え段階への移行を許可します。
コンシューマグループ切り替え状態:各コンシューマグループは切り替え進捗を独立して管理し、状態はpending(未切り替え)またはupgraded(切り替え完了)です。すべてのビジネスコンシューマグループ(テストコンシューマグループを除く)がupgraded状態にある場合のみ、アップグレード完了操作をトリガーできます。
注意事項
アップグレード切り替えウィンドウ期間は3日間です。ウィンドウ期間内にすべてのコンシューマグループの切り替え操作をできるだけ早く完了してください。期間を過ぎても移行が完了していない場合、システムは古いバージョンのタスクを自動的に解放します。
アップグレードプロセス中、Topic、コンシューマグループ名(group.id)、ユーザー名、パスワードはすべて変更されません。bootstrap.servers接続ポイントアドレスのみ変更が必要です。
アップグレード完了後はアップグレードページに戻って切り替え/ロールバック操作を行うことはできません。1.0タスクが解放されると、対応するインスタンスは回収されます。
コンシューマー側がコンテナ化配置を使用している場合、コンシューマーサービスを再起動する際は、ローリング再起動方式を採用し、業務の中断を回避することをお勧めします。
新版2.0サブスクリプションインスタンスは、デフォルトではVPC内のCVMからのみアクセスできます。VPCをまたいでアクセスする必要がある場合は、追加でCCNを設定する必要があります。 前提条件
データ購読1.0(旧Kafka版)で実行中の購読タスクを既に所有しています。
コンシューマー側が存在するVPCとサブネット情報を確認済みです。
上記のVPC内にCVMインスタンスを1台準備済みです。アップグレード切り替えプロセスにおける消費テスト検証に使用します。
操作手順
ステップ1:アップグレードを開始する
1. DTSコンソールにログインし、左側のナビゲーションバーでデータ購読を選択します。 2. データ購読リストで、アップグレードが必要な1.0(旧Kafka版)購読タスクを見つけ、購読ID/名前列の2.0にアップグレードをクリックします。
ステップ2:シャドウタスクを作成する
1. シャドウタスクの作成ページでは、左側に現在のバージョン1.0(旧Kafka版)の購読情報(購読ID、Kafka接続ポイント、Topic)が表示され、右側に新バージョン2.0の購読情報が表示されます。
2. 右側のネットワーク設定で、コンシューマー側が存在するVPCとサブネットを選択し、シャドウタスクを生成をクリックします。
説明:
新版2.0サブスクリプションインスタンスは、デフォルトでは同一VPC内のCVMからのみアクセスできます。VPCをまたいでアクセスする必要がある場合は、追加でCCNサービスを設定する必要があります。
3. システムが2.0シャドウタスクの作成とデータ同期を開始します。シャドウタスクの生成が成功した後、次のステップ、データ追平テストをクリックします。
4. 表示されたダイアログボックスで、OKをクリックします。
ステップ3:データの追いつき
データ追平ページで、データが追平するのを待ちます。緑色のプロンプトデータは追平済みです。「アップグレード切り替え」を実行できますが表示されたら、次のステップ、アップグレード切り替えをクリックします。
説明:
データ追平要件:1.0および新バージョン2.0とソースデータベースのGTID差トランザクション数がともに5未満である場合のみ、アップグレード切り替えに進むことができます。
ステップ4:アップグレード切り替え(ユーザー介入が必要)
アップグレード切り替え段階に入った後、各コンシューマグループに対して順次切り替え操作を完了する必要があります。DTSは2つの切り替え方法を提供します:
プランA(個別切り替え):コンシューマグループ情報を確認します > テストコンシューマグループを追加します > テストコンシューマグループで「切り替え手順」をクリックし、プロンプトに従って操作し、完了を確認します > 残りのコンシューマグループは前の手順に従って順次操作します。
プランB(ワンクリック切り替え):コンシューマグループ情報を確認します > すべてのコンシューマグループを選択します > すべてのポジションをワンクリックで同期します > ワンクリックで完了を確認します。
コンシューマグループ切り替え手順(逐次切り替え)
各コンシューマグループについて、右側の新バージョン2.0コンシューマグループ操作列にある切り替え手順をクリックし、切り替えフローに入ります:
ステップ1:ポジションを同期
このコンシューマグループの1.0における消費場所を2.0に同期し、切り替え後に消費進捗が失われないようにして、消費場所を同期をクリックします。
説明:
この操作は回数ごとにトリガーされ、継続的な同期は行われません。古いタスクに継続的な消費がある場合は、クライアント切り替え前に最後の同期を行うことをお勧めします。
同期が成功すると、SyncOffsetステップが自動的に完了としてマークされ、次のステップに進みます。
ステップ2:Kafkaアクセスポイント設定の変更
コンシューマー側設定のbootstrap.serversを新しい2.0接続ポイントIPに変更し、その他の設定項目は変更しません。
変更が完了したら、設定変更が完了しました。次へをクリックします。
ステップ3:コンシューマーサービスを再起動
コンシューマー側プロセスを再起動して、設定変更を有効にし、完了をクリックします。
説明:
再起動する前に、前のステップのKafkaアクセスポイント設定の変更がすべてのコンシューマー側インスタンスで完了していることを確認してください。
コンテナ化配置を使用している場合は、業務の中断を回避するためにローリング再起動をお勧めします。
ステップ4:消費が正常であることを確認
消費データを観察し、データを正常に受信して消費できることを確認し、確認完了をクリックし、表示されるダイアログボックスで確認完了をクリックします。
説明:
新しいバージョン2.0のアクセスポイントで、コンシューマー側が正常にデータを消費できることを確認してから、確認完了をクリックしてください。
消費が正常であることを確認した後、1.0(旧Kafka版)に対応するコンシューマグループはアクセス制御が行われます。1.0のコンシューマグループを再度使用する必要がある場合は、ロールバック切り替え手順をクリックしてください。
コンシューマグループのロールバック操作
1. 切り替え中に異常を発見した場合は、切り替え済みのコンシューマグループをロールバックできます。右側の新バージョン2.0コンシューマグループの操作列にあるロールバックをクリックします。
2. 表示されたダイアログボックスで、ロールバックの確認をクリックしてロールバック操作を実行します。
説明:
ロールバック後、このコンシューマグループの2.0での切り替え状態は未切り替えにリセットされ、すべての切り替えプロセスを再実行する必要があります。
このコンシューマグループを再度切り替える必要がある場合は、テーブル内で再度切り替え手順をクリックし、ガイドに従って実行できます。
一括操作
1.0側のコンシューマグループを選択した場合、選択したグループに対して以下の一括操作を実行できます:
テストコンシューマグループの追加:切り替え検証用にテストコンシューマグループを追加します。テストコンシューマグループは1.0と2.0の両側で同時に作成され、切り替えプロセスの検証に使用されます。アップグレードが完了すると、システムはすべてのテストコンシューマグループを自動的に削除します。
すべてのポジションをワンクリックで同期:選択したすべてのコンシューマグループに対して、同時にポジション同期を実行します。
ワンクリックで切り替えアップグレードの完了を確認:選択したすべてのコンシューマグループに対して、同時に切り替え完了をマークします(選択したすべてのグループのコンシューマー側で設定変更と再起動が完了していることを確認する必要があります)。
ステップ5:アップグレード完了
1. すべてのビジネスコンシューマグループ(テストコンシューマグループを除く)が切り替えプロセスを完了した後、ページ下部の次へ、アップグレード完了をクリックします。
2. 表示されたアップグレード完了ダイアログボックスで、確認をクリックします。
説明:
確認後は、このページに戻ってアップグレード切り替え/ロールバック操作を行うことはできません。
1.0タスクが解放されると、対応するインスタンスは回収されます。2.0プロフェッショナル版タスクは引き続きサービスを提供します。
3. アップグレード完了後、アップグレード完了ページに切り替え成功情報が表示されます:
切り替え情報:購読ID、購読名、切り替え時間、アップグレード所要時間。
新しい接続情報:Bootstrap Servers(Kafka接続ポイント)、Topic、ソースインスタンス、ネットワークタイプ、所属ネットワーク、サブネット。
4. 完了をクリックすると、購読リストに戻ります。
後続手順
アップグレード完了後は、コンシューマー側の消費状態を継続的に観察し、データが正常に消費されていることを確認することをお勧めします。
よくある質問
Q1:アップグレードウィンドウの期限が切れた後はどうなりますか?
アップグレードウィンドウ期間は3日間です。期間内に移行切り替えが完了しなかった場合、システムは古いバージョン1.0タスクを自動的に解放します。システムは1.0インスタンスを廃止する前に通知でお知らせします。
Q2:アップグレード後、Topicとコンシューマグループ名は変更されますか?
変更されません。2.0バージョンは1.0と同じ名前のTopicを自動的に作成し、プラットフォームは2.0 CKafka上に同じ名前のコンシューマグループを事前に作成します。ユーザー名とパスワードも変更されません。bootstrap.servers接続ポイントアドレスのみ変更が必要です。
Q3:アップグレードに追加料金は発生しますか?
追加費用は発生しません。アップグレード前後で価格は完全に同一です(720元/月)。
Q4:コンシューマーが異なるVPCにある場合、2.0サブスクリプションインスタンスにアクセスするにはどうすればよいですか?
新版2.0サブスクリプションインスタンスは、デフォルトでは同一VPC内のCVMからのみアクセスをサポートします。コンシューマー側のCVMが別のVPCにある場合は、CCNを設定してVPCをまたいだアクセスを実現する必要があります。