SSLとnodetool(JMX)の併用

SSL暗号化を用いたnodetoolの使用

nodetoolでSSLを使用するには、JMXのセットアップが必要です。変更をcassandra-env.shに加えて、構成ファイル~/.cassandra/nodetool-ssl.propertiesを作成します。

cassandra-env.shファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/cassandra/cassandra-env.sh
tarボール・インストール install_location/conf/cassandra-env.sh

手順

  1. 最初に、JMX認証の有効化のステップ1〜8に従います。
  2. nodetoolでSSL暗号化を実行するには、追加の変更をcassandra-env.shに加える必要があります。以下の設定をファイルに追加する必要があります。キーストアとトラストストアに対するファイル・パス、および各ファイルごとに適切なパスワードを使用します。
    JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/home/automaton/keystore.node0" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=cassandra" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStore=/home/automaton/truststore.node0" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=cassandra" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.need.client.auth=true" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true"
  3. Cassandraを再起動します。
  4. nodetoolでSSL暗号化を実行するには、以下の設定でホームまたはクライアント・プログラム・ディレクトリーに.cassandra/nodetool-ssl.propertiesファイルを作成します。
    -Djavax.net.ssl.keyStore=/home/automaton/keystore.node0 -Djavax.net.ssl.keyStorePassword=cassandra -Djavax.net.ssl.trustStore=/home/automaton/truststore.node0 -Djavax.net.ssl.trustStorePassword=cassandra -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Dcom.sun.management.jmxremote.registry.ssl=true
  5. --sslオプションを用いてnodetoolを起動し、すべての操作で暗号化接続が行われるようにします。
    $ nodetool  --ssl info ## パッケージ・インストールの場合
    $ install_location/bin/nodetool -ssl info ## tarボール・インストールの場合