OpsCenterとエージェントの通信用のSSL/TLSを有効にする - パッケージ・インストール

パッケージ・インストールのSSLを有効にするには、構成ファイルを編集します。

opscenterd.conf構成ファイルを編集して、OpsCenterとDataStaxエージェント間のSSLを有効にします。
注: SSLキー生成プロセスは、パッケージ・インストール時に自動的に行われます。SSLキー・ファイルを再生成する必要がない限り、7に進んで、適切な構成ファイルを編集してSSLを有効にしてください。

opscenterd.conf

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

address.yaml

address.yamlファイルの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/var/lib/datastax-agent/conf/address.yaml
  • tarボール・インストール:install_location/conf/address.yaml

始める前に

OpsCenterでは、SSLは.derファイル形式である必要があります。既存の[エージェント] ssl_certfileopscenterd.conf 内)が.pem形式である場合は、以下のコマンドを実行して形式を変換します。
openssl x509 -outform der -in /var/lib/opscenter/ssl/opscenter.pem -out /var/lib/opscenter/ssl/opscenter.der

SSL証明書ファイル形式の詳細については、「SSL証明書の変換」を参照してください。

手順

  1. /usr/share/opscenter/sslディレクトリーに既にSSLファイルがある場合は、自動的に再作成されません。3setup.pyを実行する前に、そのディレクトリーから古いSSLファイルを削除してください。
  2. /tmpディレクトリーにnoexecフラグが設定されていないことを確認してください。

    setup.pyスクリプトでは、/tmpディレクトリーにexecパーミッションがある必要があります。「DataStaxエージェントのtmpディレクトリーの設定とセキュリティ保護」を参照してください。

  3. OpsCenter setup.pyスクリプトを実行します。
    sudo /usr/share/opscenter/bin/setup.py
    OpsCenterデーモンとDataStaxエージェントが相互に通信するために使用されるSSLキーと証明書が/usr/share/opscenter/sslディレクトリーに生成されます。
  4. 次のファイルを/var/lib/opscenter/sslにコピーします。
    • opscenter.key:OpsCenter SSLの秘密鍵
    • opscenter.der:OpsCenter SSLの証明書
    • agentKeyStore:DataStaxエージェント・キーストア
    • agentKeyStore.der:DataStaxエージェントSSLの証明書
    • agentKeyStore.key:DataStaxエージェント・キーファイル
      注: OpsCenterセカンダリ・インスタンスがOpsCenterプライマリ・インスタンスと通信できるように、高可用性(HA)の構成を行う場合にのみ、agentKeyStore.keyキーファイルが必要です。OpsCenterセカンダリ・インスタンスでのフェイルオーバーOpscenterdプロセスでは、このキーを使用して、opscenterdプライマリ・インスタンスとのSTOMP接続を確立します。
    sudo cp /usr/share/opscenter/ssl/opscenter.key /var/lib/opscenter/ssl
    sudo cp /usr/share/opscenter/ssl/opscenter.der /var/lib/opscenter/ssl
    sudo cp /usr/share/opscenter/ssl/agentKeyStore /var/lib/opscenter/ssl
    sudo cp /usr/share/opscenter/ssl/agentKeyStore.der /var/lib/opscenter/ssl
    sudo cp /usr/share/opscenter/ssl/agentKeyStore.key /var/lib/opscenter/ssl
  5. 前述の手順でコピーしたファイルの所有権をopscenterユーザーとopscenterグループに変更します。
    sudo chown opscenter:opscenter /var/lib/opscenter/ssl/opscenter.key
    sudo chown opscenter:opscenter /var/lib/opscenter/ssl/opscenter.der
    sudo chown opscenter:opscenter /var/lib/opscenter/ssl/agentKeyStore
    sudo chown opscenter:opscenter /var/lib/opscenter/ssl/agentKeyStore.der
  6. HAを構成する場合は、agentKeyStore.keyキーファイルの所有権も変更します。
    sudo chown opscenter:opscenter /var/lib/opscenter/ssl/agentKeyStore.key
  7. エディターでopscenterd.confを開き、[agents]セクションを追加してuse_sslオプションをtrueに設定します。
    sudo vi /etc/opscenter/opscenterd.conf
    [agents]
    use_ssl = true
    ssl_keyfile =  /var/lib/opscenter/ssl/opscenter.key
    ssl_certfile = /var/lib/opscenter/ssl/opscenter.der
    agent_keyfile = /var/lib/opscenter/ssl/agentKeyStore
    agent_keyfile_raw = /var/lib/opscenter/ssl/agentKeyStore.key
    agent_certfile = /var/lib/opscenter/ssl/agentKeyStore.der
    注: agent_keyfile_rawファイルはHA設定でのみ使用されます。
  8. OpsCenterデーモンを再起動します
  9. DataStaxエージェントが既にデプロイされているクラスターに接続する必要がある場合は、各ノードにログインして、 address.yaml ファイルを再構成します。すべてのノードでDataStaxエージェントを再構成します。
    ヒント: すべてのノードの構成ファイルを手動で編集したくない場合は、「DataStaxエージェントの自動インストール」の手順に従ってください。
    1. OpsCenterマシンの/var/lib/opscenter/ssl/agentKeyStoreを、クラスター内の各ノードの/var/lib/datastax-agent/ssl/agentKeyStoreにコピーします。
      scp /var/lib/opscenter/ssl/agentKeyStore user@node:/var/lib/datastax-agent/ssl/
      ここで、userはノード上のユーザーIDで、nodeはノードのホスト名かIPアドレスのいずれかです。
    2. sshを使用してクラスター内の各ノードにログインします。
      ssh user@node
      ここで、userはノード上のユーザーIDで、nodeはノードのホスト名かIPアドレスのいずれかです。
    3. address.yamlファイルを編集して、use_sslの値を1に変更します。
      sudo vi /var/lib/datastax-agent/conf/address.yaml
      use_ssl: 1
      キーストアおよびトラストストアのファイルがデフォルトとは異なる場所にある場合、次のパラメーターを定義して、キーストアとトラストストアの場所を指定し、それぞれのパスワードも指定します。
      opscenter_ssl_truststore: /etc/datastax-agent/key/dse-truststore.jks
      opscenter_ssl_truststore_password: truststore_password
      opscenter_ssl_keystore: /etc/datastax-agent/key/keystore.jks
      opscenter_ssl_keystore_password: keystore_password
      
    4. DataStaxエージェントを再起動します。
      sudo install_location/bin/datastax-agent
  10. opscenterdとすべてのDataStaxエージェントを構成して再起動したら、[Agent Status]タブで接続が適切であることを確認します。