Apache へのアクセスのコントロール ZooKeeper - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Apache へのアクセスのコントロール ZooKeeper

セキュリティ上の理由から、Amazon MSK クラスターの一部である Apache ZooKeeper ノードへのアクセスを制限できます。ノードへのアクセスを制限するには、それらに別のセキュリティグループを割り当てます。その後、そのセキュリティグループにアクセスできるユーザーを決定できます。

Apache ZooKeeper ノードを別のセキュリティグループに配置するには

  1. クラスターの Apache ZooKeeper 接続文字列を取得します。この方法の詳細は、Amazon MSK クラスターの Apache ZooKeeper 接続文字列の取得を参照してください。接続文字列には Apache ZooKeeper ノードの DNS 名が含まれます。

  2. hostping などのツールを使用して、前の手順で取得した DNS 名を IP アドレスに変換します。この手順の後半で必要になるため、これらの IP アドレスを保存します。

  3. AWS Management Console にサインインし、https://console.aws.amazon.com/ec2/ にある Amazon EC2 コンソールを開きます。

  4. 左側のペインの [Network & Security (ネットワークとセキュリティ)] で、[Network Interfaces (ネットワークインターフェイス)] を選択します。

  5. ネットワークインターフェイスのテーブルの上にある検索フィールドに、クラスターの名前を入力し、「return」と入力します。これにより、テーブルに表示されるネットワークインターフェイスの数を、クラスターに関連付けられたインターフェイスの数に制限します。

  6. リストの最初のネットワークインターフェイスに対応する行の先頭にあるチェックボックスをオンにします。

  7. ページの下部にある詳細ペインで、[Primary private IPv4 IP (プライマリプライベート IPv4 IP)] を探します。この IP アドレスが、この手順の最初のステップで取得した IP アドレスのいずれかと一致する場合、このネットワークインターフェイスはクラスターの一部である Apache ZooKeeper ノードに割り当てられていることになります。それ以外の場合は、このネットワークインターフェイスの隣にあるチェックボックスをオフにして、リスト内の次のネットワークインターフェイスを選択します。ネットワークインターフェイスを選択する順序は関係ありません。次のステップでは、Apache ZooKeeper ノードに割り当てられているすべてのネットワークインターフェースで同じ操作を 1 つずつ実行します。

  8. Apache ZooKeeper ノードに対応するネットワークインターフェースを選択したら、ページ上部の「アクション」メニューを選択し、「セキュリティグループの変更」を選択します。このネットワークインターフェイスに新しいセキュリティグループを割り当てます。セキュリティグループの作成については、Amazon VPC ドキュメントのセキュリティグループの作成を参照してください。

  9. 前のステップを繰り返して、クラスターの Apache ZooKeeper ノードに関連付けられているすべてのネットワークインターフェースに同じ新しいセキュリティグループを割り当てます。

  10. これで、この新しいセキュリティグループにアクセスできるユーザーを選択できるようになりました。セキュリティグループルールの設定については、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.shkafka-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 パラメータを設定する必要があります。次の例は、Apache KAFKA_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 --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
注記

Apache ZooKeeper KAFKA_OPTS 設定ファイルで使用するパラメータの名前と環境変数で使用するパラメータの名前が一致しません。設定ファイルおよび KAFKA_OPTS 環境変数の、どのパラメーターでどの名前を使用するかに注意してください。

TLS で Apache ZooKeeper ノードにアクセスする方法の詳細については、「KIP-515: ZK クライアントが新しい TLS がサポートする認証を使用できるようにする」を参照してください。