翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
暗号化を開始する方法
MSK クラスターを作成するときに、暗号化設定を JSON 形式で指定できます。次に例を示します。
{ "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e" }, "EncryptionInTransit": { "InCluster": true, "ClientBroker": "TLS" } }
ではDataVolumeKMSKeyId
、カスタマーマネージドキーまたは を指定できます。 AWS マネージドキー アカウント (alias/aws/kafka
) MSK の 。を指定しない場合MSKでもEncryptionAtRest
、Amazon は で保管中のデータを暗号化します。 AWS マネージドキー。 クラスターが使用しているキーを確認するには、GET
リクエストを送信するか、 DescribeCluster
APIオペレーションを呼び出します。
の場合EncryptionInTransit
、 のデフォルト値InCluster
は true ですが、Amazon がブローカー間でデータを暗号化しないようにする場合は、false MSK に設定できます。
クライアントとブローカー間で転送されるデータの暗号化モードを指定するには、ClientBroker
を TLS
、TLS_PLAINTEXT
、または PLAINTEXT
のいずれかに設定します。
クラスターの作成時に暗号化設定を指定するには
前述の例の内容をファイルに保存し、任意の名前を付けます。たとえば、
encryption-settings.json
と呼びます。-
create-cluster
コマンドを実行し、encryption-info
オプションを使用して、設定を保存したファイル をポイントしますJSON。次に例を示します。置換{YOUR MSK VERSION}
Apache Kafka クライアントバージョンと一致するバージョンを持つ 。MSK クラスターバージョンを検索する方法については、「」を参照してくださいTo find the version of your MSK cluster。MSK クラスターバージョンと同じではない Apache Kafka クライアントバージョンを使用すると、Apache Kafka データの破損、損失、ダウンタイムが発生する可能性があることに注意してください。aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file://encryptioninfo.json --kafka-version "
{YOUR MSK VERSION}
" --number-of-broker-nodes 3次に、このコマンドを実行した後の正常な応答の例を示します。
{ "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e", "ClusterName": "ExampleClusterName", "State": "CREATING" }
TLS 暗号化をテストするには
ステップ 3: クライアントマシンを作成する のガイダンスに従って、クライアントマシンを作成します。
-
クライアントマシンに Apache Kafka をインストールします。
-
この例では、JVM信頼ストアを使用してMSKクラスターと通信します。これを行うには、まずクライアントマシンに
/tmp
という名前のフォルダを作成します。次に、Apache Kafka インストールのbin
フォルダに移動し、次のコマンドを実行します。(JVMパスは異なる場合があります)。cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks
-
クライアントマシン上の Apache Kafka インストールの
bin
フォルダに、次の内容のclient.properties
というテキストファイルを作成します。security.protocol=SSL ssl.truststore.location=/tmp/kafka.client.truststore.jks
-
を持つマシンで次のコマンドを実行します。 AWS CLI インストール済み、置き換え
clusterARN
クラスターARNの を使用します。aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
正常に実行された場合の結果は次のようになります。次のステップで必要になるため、この結果を保存します。
{ "BootstrapBrokerStringTls": "a-1.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-3.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-2.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123" }
-
次のコマンドを実行し、
BootstrapBrokerStringTls
は、前のステップで取得したブローカーエンドポイントの 1 つを使用します。<path-to-your-kafka-installation>
/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringTls
--producer.config client.properties --topic TLSTestTopic -
新しいコマンドウィンドウを開き、同じクライアントマシンに接続します。その後、次のコマンドを実行して、コンソールコンシューマーを作成します。
<path-to-your-kafka-installation>
/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringTls
--consumer.config client.properties --topic TLSTestTopic -
プロデューサーウィンドウで、テキストメッセージに続けてリターンを入力し、コンシューマーウィンドウで同じメッセージを探します。Amazon は転送中にこのメッセージをMSK暗号化しました。
暗号化されたデータを操作するように Apache Kafka クライアントを設定する方法の詳細については、「Kafka クライアントの設定