通常、Kafka サービスは単一のクラスターにデプロイされます。 したがって、一定のシナリオにおいては、クラスター間で Kafka にアクセスする必要があります。
シナリオ
以下のシナリオでは、クラスター間で Kafka にアクセスする必要があります。
- VPC ネットワークから E-MapReduce (EMR) Kafka クラスターにアクセスする場合。
- パブリック ネットワークから EMR Kafka クラスターにアクセスする場合。
注 クラシックネットワークに EMR Kafka クラスターがデプロイされている場合、パブリックネットワークからクラスターにアクセスすることはできません。
EMR のバージョンに基づいて、さまざまなソリューションが提供されます。
V3.11.X 以降のバージョン
- VPC ネットワークから Kafka にアクセスします。
Kafka クラスター内のノードのプライベート IP アドレスに接続することで Kafka サービスにアクセスできます。 VPC ネットワークから Kafka へのアクセス時はポート 9092 を使用します。
Kafka サービスにアクセスする前に、クラスターがデプロイされている VPC ネットワークに VPC ネットワークが接続されていることを確認してください。 詳細については、VPC 間接続の設定をご参照ください。
- パブリックネットワークから Kafka にアクセスします。
デフォルトでは、パブリックネットワークから Kafka クラスター内のコアノードにアクセスすることはできません。 パブリックネットワークから Kafka クラスターにアクセスするには、次の手順に沿って操作してください。
- パブリックネットワークで Kafka クラスターとクライアント間の通信を有効にします。
次の方法で VPC ネットワークにデプロイされた Kafka クラスターに接続します。
- Kafka クラスター内のコアノードの Elastic IP Address (EIP) に接続します。 Kafka へのアクセス手順は以下のとおりです。
- Express Connect を使用して VPC ネットワークをパブリックネットワークに接続します。 詳細については、Express Connect をご参照ください。
- クラスター管理ページで、ターゲットクラスターの [詳細の表示] をクリックします。 クラスター概要ページに移動します。
- [ネットワーク管理] をクリックします。 ドロップダウンリストから [パブリック IP アドレスの割り当て] を選択します。
- Kafka クラスターのセキュリティグループルールを設定して、Kafka クラスターへのアクセスを許可するパブリック IP アドレスを指定します。 これによって、Kafka クラスターがパブリックネットワークへ接続する際、Kafka クラスターを保護することができます。 EMR コンソールにログインして、Kafka クラスターのセキュリティグループを確認します。セキュリティグループ ID で ECS コンソール内のセキュリティグループを検索し、ルールを設定できます。 詳細の表示
- [クラスター概要] ページで [インスタンス状態管理] をクリックします。 ドロップダウンリストから、[同期クラスターホスト情報] を選択します。
- クラスターとサービスページの [サービス] のリストから を選択します。 [サービス設定] セクションで、kafka.public-access.enable パラメーターの値を true に設定します。
- Kafka サービスを再起動します。
- クラスターの EIP とポート 9093 を使用して Kafka クラスターに接続します。
- パブリックネットワークで Kafka クラスターとクライアント間の通信を有効にします。
V3.11.X 以前のバージョン
- VPC ネットワークから Kafka にアクセスします。
Kafka クラスターノードに合わせてクライアントのホスト設定を変更する必要があります。 注 : 接続の失敗を回避するために、クライアント上の Kafka クラスターノードの [長いドメイン] を設定する必要があります。 例:
/etc/hosts # kafka cluster 10.0.1.23 emr-header-1.cluster-48742 10.0.1.24 emr-worker-1.cluster-48742 10.0.1.25 emr-worker-2.cluster-48742 10.0.1.26 emr-worker-3.cluster-48742
- パブリックネットワークから Kafka にアクセスします。
デフォルトでは、パブリックネットワークから Kafka クラスターのコアノードにアクセスすることはできません。 パブリックネットワークから Kafka クラスターにアクセスするには、次の手順に沿って操作します。
- パブリックネットワークでの Kafka クラスターとクライアント間の通信を有効化します。
次の方法で VPC ネットワークにデプロイされた Kafka クラスターに接続します。
- Kafka クラスター内のコアノードの EIP に接続します。 Kafka へのアクセス手順は以下のとおりです。
- Express Connect で VPC ネットワークとパブリックネットワーク間の接続を有効化します。 詳細については、Express Connectをご参照ください。
- VPC コンソールで EIP を購入します。 購入した EIP の数は、Kafka クラスター内のコアノードの数と等しくなります。
- Kafka クラスターのセキュリティグループ ルールを設定して、Kafka クラスターへのアクセスを許可するパブリック IP アドレスを指定します。 これによって、Kafka クラスターがパブリックネットワークへ接続する際、Kafka クラスターを保護することができます。 EMR コンソールにログインして、Kafka クラスターのセキュリティグループを確認します。セキュリティグループ ID で ECS コンソール内のセキュリティグループを検索し、ルールを設定できます。 詳細の表示
- サービス設定のセクションで、listeners.address.principal パラメーターを HOST に設定します。 Kafka クラスターを再起動します。
- クライアント上のホストのファイルを設定します。
- パブリックネットワークでの Kafka クラスターとクライアント間の通信を有効化します。