翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Apache へのアクセスのコントロール ZooKeeper
セキュリティ上の理由から、Amazon MSK クラスターの一部である Apache ZooKeeper ノードへのアクセスを制限できます。ノードへのアクセスを制限するには、それらに別のセキュリティグループを割り当てます。その後、そのセキュリティグループにアクセスできるユーザーを決定できます。
このトピックには、次のセクションが含まれています。
Apache ZooKeeper ノードを別のセキュリティグループに配置するには
-
クラスターの Apache ZooKeeper 接続文字列を取得します。この方法の詳細は、Amazon MSK クラスターの Apache ZooKeeper 接続文字列の取得を参照してください。接続文字列には Apache ZooKeeper ノードの DNS 名が含まれます。
-
host
やping
などのツールを使用して、前の手順で取得した DNS 名を IP アドレスに変換します。この手順の後半で必要になるため、これらの IP アドレスを保存します。 AWS Management Console にサインインし、https://console.aws.amazon.com/ec2/
にある Amazon EC2 コンソールを開きます。 左側のペインの [Network & Security (ネットワークとセキュリティ)] で、[Network Interfaces (ネットワークインターフェイス)] を選択します。
-
ネットワークインターフェイスのテーブルの上にある検索フィールドに、クラスターの名前を入力し、「return」と入力します。これにより、テーブルに表示されるネットワークインターフェイスの数を、クラスターに関連付けられたインターフェイスの数に制限します。
-
リストの最初のネットワークインターフェイスに対応する行の先頭にあるチェックボックスをオンにします。
-
ページの下部にある詳細ペインで、[Primary private IPv4 IP (プライマリプライベート IPv4 IP)] を探します。この IP アドレスが、この手順の最初のステップで取得した IP アドレスのいずれかと一致する場合、このネットワークインターフェイスはクラスターの一部である Apache ZooKeeper ノードに割り当てられていることになります。それ以外の場合は、このネットワークインターフェイスの隣にあるチェックボックスをオフにして、リスト内の次のネットワークインターフェイスを選択します。ネットワークインターフェイスを選択する順序は関係ありません。次のステップでは、Apache ZooKeeper ノードに割り当てられているすべてのネットワークインターフェースで同じ操作を 1 つずつ実行します。
-
Apache ZooKeeper ノードに対応するネットワークインターフェースを選択したら、ページ上部の「アクション」メニューを選択し、「セキュリティグループの変更」を選択します。このネットワークインターフェイスに新しいセキュリティグループを割り当てます。セキュリティグループの作成については、Amazon VPC ドキュメントのセキュリティグループの作成を参照してください。
-
前のステップを繰り返して、クラスターの Apache ZooKeeper ノードに関連付けられているすべてのネットワークインターフェースに同じ新しいセキュリティグループを割り当てます。
-
これで、この新しいセキュリティグループにアクセスできるユーザーを選択できるようになりました。セキュリティグループルールの設定については、Amazon VPC ドキュメントのルールの追加、削除、更新を参照してください。
Apache で TLS セキュリティを使用する ZooKeeper
TLS セキュリティを使用して、クライアントと Apache ノード間の転送中の暗号化を行うことができます。 ZooKeeper Apache ZooKeeper ノードに TLS セキュリティを実装するには、次の操作を行います。
Apache で TLS セキュリティを使用するには、クラスターが Apache Kafka バージョン 2.5.1 以降を使用する必要があります。 ZooKeeper
クラスターを作成または構成するときに TLS セキュリティを有効にします。Apache Kafka バージョン 2.5.1 以降で作成され、TLS が有効になっているクラスターは、自動的に Apache エンドポイントで TLS セキュリティを使用します。 ZooKeeper TLS セキュリティの設定については、「暗号化を開始する方法」を参照してください。
オペレーションを使用して TLS Apache エンドポイントを取得します。 ZooKeeper DescribeCluster
kafka-configs.sh
kafka-acls.sh
およびツール、またはシェルで使用する Apache ZooKeeper 設定ファイルを作成します。 ZooKeeper 各ツールでは、 --zk-tls-config-file
パラメータを使用して Apache ZooKeeper の設定を指定します。次の例は、一般的な Apache ZooKeeper 設定ファイルを示しています。
zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234
その他のコマンド (など
kafka-topics
) では、KAFKA_OPTS
環境変数を使用して Apache ZooKeeper パラメータを設定する必要があります。次の例は、ApacheKAFKA_OPTS
ZooKeeper パラメーターを他のコマンドに渡すように環境変数を設定する方法を示しています。export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"
KAFKA_OPTS
環境変数を設定すると、CLI コマンドを通常どおりに使用できます。次の例では、環境変数の Apache ZooKeeper 設定を使用して Apache Kafka トピックを作成します。KAFKA_OPTS
<path-to-your-kafka-installation>
/bin/kafka-topics.sh --create --zookeeperZooKeeperTLSConnectString
--replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
注記
Apache ZooKeeper KAFKA_OPTS
設定ファイルで使用するパラメータの名前と環境変数で使用するパラメータの名前が一致しません。設定ファイルおよび KAFKA_OPTS
環境変数の、どのパラメーターでどの名前を使用するかに注意してください。
TLS で Apache ZooKeeper ノードにアクセスする方法の詳細については、「KIP-515: ZK クライアントが新しい TLS がサポートする認証を使用できるようにする