

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Apache ZooKeeper에서 TLS 보안 사용
<a name="zookeeper-security-tls"></a>

클라이언트와 Apache ZooKeeper 노드 간의 전송 시 암호화에 TLS 보안을 사용할 수 있습니다. Apache ZooKeeper 노드로 TLS 보안을 구현하려면 다음을 수행합니다.
+ Apache ZooKeeper에서 TLS 보안을 사용하려면 클러스터는 Apache Kafka 버전 2.5.1 이상을 사용해야 합니다.
+ 클러스터를 생성하거나 구성할 때 TLS 보안을 활성화합니다. TLS가 활성화된 Apache Kafka 버전 2.5.1 이상에서 생성된 클러스터는 Apache ZooKeeper 엔드포인트에서 자동으로 TLS 보안을 사용합니다. TLS 보안 설정에 대한 자세한 내용은 [Amazon MSK 암호화 시작하기](msk-working-with-encryption.md) 섹션을 참조하세요.
+ [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster) 작업을 사용하여 TLS Apache ZooKeeper 엔드포인트를 검색합니다.
+ `kafka-configs.sh` 및 [https://kafka.apache.org/documentation/#security_authz_cli](https://kafka.apache.org/documentation/#security_authz_cli) 도구 또는 ZooKeeper 셸과 함께 사용할 Apache 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 ZooKeeper 파라미터를 다른 명령에 전달하도록 `KAFKA_OPTS` 환경 변수를 구성하는 방법을 보여줍니다.

  ```
  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 명령을 정상적으로 사용할 수 있습니다. 다음 예제는 `KAFKA_OPTS` 환경 변수의 Apache ZooKeeper 구성을 사용하여 Apache Kafka 주제를 생성합니다.

  ```
  <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 지원 인증 활성화](https://cwiki.apache.org/confluence/display/KAFKA/KIP-515%3A+Enable+ZK+client+to+use+the+new+TLS+supported+authentication)를 참조하세요.