翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用してオンプレミスの Apache Kafka クラスターを Amazon MSK に移行する MirrorMaker
ハン・チャン (AWS) とタナー・プラット(AWS)によって作成されました
環境:PoC またはパイロット | ソース:オンプレミスまたはセルフマネージド Apache Kafka クラスター | ターゲット:Amazon Managed Streaming for Apache Kafka (Amazon MSK) |
Rタイプ:リプラットフォーム | ワークロード:その他すべてのワークロード、オープンソース | テクノロジー:分析、ビッグデータ、移行 |
AWS サービス: Amazon MSK |
[概要]
このパターンは、オンプレミス、セルフマネージド、またはホスト型の Apache Kafka クラスターを、Amazon Managed Streaming for Apache Kafka (Amazon MSK) に移行するガイダンスを提供します。このパターンを使用して、ある Amazon MSK クラスターから別の Amazon MSK クラスターに移行することもできます。
Apache Kafka には、2 つの Kafka クラスター間でデータをレプリケートする MirrorMaker 機能が含まれています。 MirrorMaker コンシューマーグループ の一部であるコンシューマー のコレクションで構成されています。 コンシューマーはソースクラスターのトピックからデータを読み取り、そのデータをプロデューサーに渡し、プロデューサーはデータをターゲットクラスターに書き込みます。
Amazon MSK ドキュメントには、 MirrorMaker バージョン 1.0 を使用してオンプレミスの Kafka クラスターを Amazon MSK に移行するプロセスの概要が記載されています。このパターンは、 MirrorMaker バージョン 2.0 を使用するための包括的な step-by-step 指示を提供することで、この情報を補完します。
前提条件と制限
前提条件
アクティブなAWS アカウント
以下のいずれかのKafka ソースクラスター:
オンプレミスのデータセンターで
クラウドで管理されます
パートナーを通じてホストされています
制約事項
MirrorMaker バージョン 2.0 を使用するには、ソースクラスターが Apache Kafka バージョン 2.4.0 以降を実行している必要があります。以前のバージョンについては、Amazon MSK ドキュメントの手順を参照して、 MirrorMaker バージョン 1.0 を使用してください。
製品バージョン
MirrorMaker バージョン 2.0
Apache Kafka バージョン 2.8.0 Amazon MSK がサポートする Apache Kafka のバージョンに関する詳細については、サポートされている Apache Kafka のバージョン を参照してください。
アーキテクチャ
ソーステクノロジースタック
ソース:オンプレミスまたはセルフマネージド Apache Kafka クラスター
ターゲットテクノロジースタック
Amazon MSK クラスター
ターゲット アーキテクチャ
![MirrorMaker はソースクラスター上のデータを読み取り、ターゲット Amazon MSK クラスターにレプリケートします。](images/pattern-img/1bf3b1ba-696a-4bc3-8138-4dd6f2e07db2/images/b433df2e-6894-424d-97da-2d35941ee4b1.png)
図表に示す内容は以下のステップです。
MirrorMaker は、ソース Kafka クラスター内のトピックとコンシューマーグループからデータを読み取ります。
MirrorMaker は、データとコンシューマー情報をターゲット Amazon MSK クラスターにレプリケートします。
ツール
サービス
「Amazon Elastic Compute Cloud (Amazon EC2)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。必要な数の仮想サーバーを起動することができ、迅速にスケールアップまたはスケールダウンができます。
「Amazon Managed Streaming for Apache Kafka (Amazon MSK)」 は、Apache Kafka を使ってストリーミングデータを処理するアプリケーションを、構築および実行することを支援するフルマネージドサービスです。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内でリソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
その他のツール
「Apache Kafka
」 は、オープンソースのイベントストリーミングプラットフォームです。このパターンでは、Kafka MirrorMaker の機能を使用してクラスター間移行を実行します。
ベストプラクティス
ソース環境またはターゲット環境のいずれかで MirrorMaker を実行できますが、ターゲットクラスターにできるだけ近い場所で実行することをお勧めします。詳細については、Apache Kafka ドキュメントの「ベストプラクティス:リモートからコンシューマを使用し、ローカルに生成する
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
VPC を作成します。 |
| AWS システム管理者、 DevOps エンジニア、クラウド管理者 |
Amazon MSK クラスターを作成します。 | Amazon ECS クラスターを作成します。手順については、「AWS マネジメントコンソールを使用してクラスターを作成する」 または 「AWS CLI を使用してクラスターを作成する」 を参照してください。以前に作成した VPC とサブネットを使用するようにクラスターを設定します。 | AWS システム管理者、 DevOps エンジニア、クラウド管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
をインストールします MirrorMaker。 |
注: このパターンでは、Amazon EC2 MirrorMaker2 インスタンスに 2.0 を専用 MirrorMaker クラスターとしてインストールします。このオプションは開発環境には適しており、このパターンで使用されているアプローチでもあります。 MirrorMaker2.0 の他のデプロイオプションの詳細については、このパターンの「追加情報」セクションを参照してください。 | AWS システム管理者、クラウド管理者、 DevOps エンジニア |
Kafka クラスター情報を指定します。 | Kafka | AWS システム管理者、クラウド管理者、 DevOps エンジニア |
を起動します MirrorMaker。 | mm2.properties ファイルを起動 MirrorMaker して渡すには、次のコマンドを入力します。
| AWS システム管理者、クラウド管理者、 DevOps エンジニア |
進行状況をモニタリングする | 各トピックの最後のオフセットとトピックの現在のオフセット MirrorMaker が消費している間の遅延を調べて、進行状況を確認します。手順については、Kafka ドキュメントの「ジオレプリケーションの監視 | AWS システム管理者、クラウド管理者、 DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
コンシューマアプリケーションを停止します。 | ソースクラスターのデータを消費するコンシューマーアプリケーションをすべて停止します。 | アプリ開発者 |
コンシューマアプリケーションを停止します。 | アプリケーションのブートストラップ構成を、デスティネーションクラスターを指すように変更します。次に、ターゲットクラスターでコンシューマを開始します。 | アプリ開発者 |
ソースクラスターですべての ETL プロセスを停止します。 | コンシューマーアプリケーションがターゲットクラスターで正常に消費できるようになったら、ソースクラスターのプロデューサーを停止します。 | アプリ開発者 |
ターゲットクラスターでプロデューサーを起動します。 | プロデューサーの設定ブートストラップサーバーを変更し、ターゲットクラスターを指定します。プロデューサーを開始する前に MirrorMaker 、 がソースクラスターからのすべてのデータのミラーリングを完了するまで待ちます。 | アプリ開発者 |
を停止します MirrorMaker。 | プロデューサーがターゲットクラスターに移動したら、 を停止します MirrorMaker。 | AWS システム管理者、クラウド管理者、 DevOps エンジニア |
関連リソース
「AWS リソース」
を使用したクラスターの移行 MirrorMaker (Amazon MSK ドキュメント)
「Amazon MSK 移行ラボ
」 (AWS Workshop Studio)
その他のリソース
MirrorMaker 2.0
(Apache Kafka 改善提案) 「ジオレプリケーション:クラスター間のデータミラーリング
」 (Apache Kafka ドキュメント)
追加情報
このパターンは、Amazon EC2 MirrorMaker 2 の専用 MirrorMaker クラスター として 2.0 を実行します。このアカウントの SSH 開発環境 このパターンでは説明されていませんが、Kafka Connect クラスターで MirrorMaker 2.0 を実行することもできます。このデプロイオプションでは、スケーリングとメンテナンスを改善する Kafka エコシステム内のフレームワークを使用します。アプリケーションを実行するための関連する設定を含む Kafka Connect クラスターにコネクターをデプロイします。コネクタは、開発やテストではスタンドアロンモードで、本番環境では分散モードで実行できます。詳細については、「Connect クラスター MirrorMaker での実行