DataStaxエージェントとDSEの間のJMX通信の暗号化
DataStaxエージェントとDSEの間のJMX通信の暗号化を有効にします。
DataStaxエージェントとDataStax Enterprise (DSE)の間のJMX通信を暗号化するには、次の手順を実行します。この暗号化を有効にすると、DataStaxエージェントでDSEへの接続時にSSL対応のソケットファクトリが使用されるようになりますが、DSE自体の暗号化は有効になりません。
デフォルトでは、JMXリモート接続が無効で、JMXセキュリティ認証は次のファイルのローカル接続とリモート接続の両方で無効になっています。cassandra-env.shファイルの次の行のコメントを解除して更新します。
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
DSEでJMX認証を構成する場合は、DSE Unified Authentication(DSE統合認証)を有効にする必要があります。
jvm.options
jvm.optionsファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/jvm.options |
tarボール・インストール | installation_location/resources/cassandra/conf/jvm.options |
datastax-agent-env.sh
DataStaxエージェント環境のシェル・スクリプトdatastax-agent-env.shのデフォルトの場所は、インストールのタイプによって異なります。- パッケージ・インストール:/etc/datastax-agent/datastax-agent-env.sh
- tarボール・インストール:install_location/agent/conf/datastax-agent-env.sh
cassandra-env.sh
cassandra-env.shファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra-env.sh |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra-env.sh |
始める前に
手順
- クラスター内の各ノードでDSEを停止します。
-
実行されている各ノードでDataStaxエージェントを停止します。
- パッケージ・インストール:
sudo service datastax-agent stop
- tarボール・インストール:
DataStaxエージェントを停止するには、DataStaxエージェントJavaプロセスID(PID)を確認し、そのPID番号を使用してプロセスを強制終了します。
ps -ef | grep datastax-agent
sudo kill pid
- パッケージ・インストール:
-
次に、 jvm.options ファイルに移動し、SSLの設定に関する次のセクションを追加します。
# SSL settings -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Djavax.net.ssl.keyStore=/path_to_keyStore/keyStore_name.jks -Djavax.net.ssl.keyStorePassword=keyStore_password -Djavax.net.ssl.trustStore=/path_to_trustStore/trustStore_name.jks -Djavax.net.ssl.trustStorePassword=trustStore_password
com.sun.management.jmxremote.ssl
- DSEとDataStaxエージェント間のJMX接続に対してSSLを有効にするには、
true
に設定します。有効にした場合に、フル・セキュリティを有効にするには、com.sun.management.jmxremote.ssl.need.client.auth
をtrue
に設定する必要もあります。 com.sun.management.jmxremote.ssl.need.client.auth
- 双方向の証明書認証を有効にするには、
true
に設定します。 keyStore_name
- SSLキーストアの名前。
keyStore_password
javax.net.ssl.keyStore
によって指定されたキーストア用のパスワード。trustStore_name
- SSLトラストストアの名前。
trustStore_password
javax.net.ssl.trustStore
によって指定されたトラストストア用のパスワード。
-
クラスターの各ノードでDSEを開始します。
sudo service dse start
続行する前に、ノードが使用可能になるまで待機します。
-
SSL暗号化を使用してDataStaxエージェントを実行するには、次の設定をDataStaxエージェントが実行されているノードの datastax-agent-env.sh ファイルに追加します。
重要: DSEのキーストロークは、DataStaxエージェントのトラストストアです (その逆の場合も同様です)。以下に例を示します。
keyStore
変数はトラストストアをポイントし、keyStorePassword
変数はトラストストアのパスワードを使用します。trustStore
変数の場合、その逆も同じです。JVM_OPTS="$JVM_OPTS -Xmx1024M" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/path_to_trustStore/trustStore_name.jks" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=trustStore_password" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStore=/path_to_keyStore/keyStore_name.jks" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=keyStore_password" JVM_OPTS="$JVM_OPTS -Ddatastax.agent.jmx.usessl=true"
datastax.agent.jmx.usessl
- DataStaxエージェントのSSL暗号化を有効にするには、この設定を追加して
true
に設定します。
-
変更内容を適用するには、DataStaxエージェントを再起動します。
- パッケージ・インストール:
sudo service datastax-agent restart
- tarボール・インストール:
- DataStaxエージェントを停止するには、DataStaxエージェントJavaプロセスID(PID)を確認し、そのPID番号を使用してプロセスを強制終了します。
ps -ef | grep datastax-agent
sudo kill pid
- エージェントを起動する:
エージェントをフォアグラウンドで開始するには、
-f
オプションを使用します。install_location/bin/datastax-agent
- DataStaxエージェントを停止するには、DataStaxエージェントJavaプロセスID(PID)を確認し、そのPID番号を使用してプロセスを強制終了します。
- パッケージ・インストール:
- 実行されている各ノードのDataStaxエージェントを再起動したら、OpsCenterをチェックして、すべてのDataStaxエージェントが実行されており、すべてのノードが利用可能であることを確認します。