Netezza Performance Server レプリケーションサービス 3.0.X.Xの証明書の置き換え

Netezza Performance Server 証明書を切り替えたり、期限切れ間近の証明書を更新したりする方法について説明します。

このタスクについて

証明書を交換する場合は、ダウンタイムが必要であることに注意すること。 それに応じて処置を計画する。

手順

  1. Cloud Pak for Data Systemで、 Platform Managerによる NRS監視をオフにします。
    ap apps disable NRS
  2. 指定したノードでのレプリケーションの開始と停止 」の説明に従ってレプリケーションを停止し、この手順に戻ります。
  3. すべてのノードのすべてのレプリケーション・システムを停止します。
    docker stop nrs_replmgmt nrs_broker nrs_mirrormaker nrs_zookeeper
  4. 証明書を準備する。
    • 自己署名証明書の生成
      1. 認証局(CA)ファイルを生成するCloud Pak for Data Systemを選択します。
      2. 新しい証明書を生成するには、各ノードのパスワード・ファイルを作成する。
        例:
        echo -n PASSWORD > NODE PASSWORD FILE PATH
      3. 認証局の鍵( cacert.pem )のパスワードを作成し、 password_file に保存する。
        echo -n PASSWORD > CAKEY PASSWORD FILE PATH

        パスワードには、先頭または末尾に空白文字があってはならない。 先頭または末尾に空白文字を含むパスワードは、 nrscertmgr スクリプトによって拒否されます。

        ファイルと関連する証明書が、すべてのシステムで既知のディレクトリ、たとえば /root/mycerts に置かれていることを確認する。

        ヒント:

        コマンドに -n 。 このパラメータを指定すると、パスワードファイルは改行で終わらない。 パスワードファイルの最後に改行があると、セットアップに失敗する可能性がある。

      4. nrscertmgr スクリプトを実行します。
        nrscertmgr generate-cacert --passfile /path/to/cakey_password_file
        例:
        nrscertmgr generate-cacert --passfile /path/to/cakey_password_file
        
        Running command: 'openssl req -new -subj /C=US/ST=CA/CN=localhost -newkey rsa:4096 -nodes
                -sha256 -x509 -days 3650 -keyout cakey.pem -out cacert.pem -passin pass:***'
      5. サブステップbとcで生成した cakey.pemcacert.pemcakey_password_file を、もう一方の Cloud Pak for Data Systemにコピーします。

        ファイルがすべてのシステムで既知のディレクトリ、例えば /root/mycerts に置かれていることを確認してください。

    • カスタム証明書の生成:
      1. 認証局(CA)ファイルを生成するCloud Pak for Data Systemを選択します。
      2. index.yaml ファイルを作成します。
        index.yaml のようにファイルを入力する:
        certs:
          cacert:
            cert: /path/to/cacert.pem
          nodes:
            replication-node-1.fqdn:
              cert: /path/to/rn1-ccertfile.pem
              key: /path/to/rn1-ckeyfile.pem
              password: /path/to/rn1-cpassword
            replication-node-2.fqdn:
              cert: /path/to/rn2-certfile.pem
              key: /path/to/rn2-ckeyfile.pem
              password: /path/to/rn2-cpassword

        パスワードの末尾に空白文字があってはならない。 絶対パスを使用してください。

      3. サブステップbで生成した index.yaml をもう一方の Cloud Pak for Data Systemにコピーします。

        ファイルがすべてのシステムで既知のディレクトリ、例えば /root/mycerts に置かれていることを確認してください。

  5. 証明書を配置する。
    • 自己署名証明書の場合は、以下を実行する:
      ./nrscertmgr add-node host_fqdn /path/to/cacert.pem /path/to/cakey.pem /path/to/password --cakey-passfile /path/to/cakey_password_file --out /tmp/certs --deploy
    • カスタム証明書については、以下を実行する:
      ./nrscertmgr package-certs host_fqdn /path/to/index.yaml --out /tmp/certs --deploy
  6. 各ノードで、すべてのコンテナを再起動する。
    docker restart nrs_replmgmt nrs_broker nrs_mirrormaker nrs_zookeeper
  7. 時々オンラインにならないことがあるので、 nrs_broker
    docker ps
    例:
    [root@exegeses1 certs]# docker ps
    
    CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS     NAMES
    9ce2b4fb8622   replmgmt:3.0.1.0      "/usr/bin/python3 /o…"   12 minutes ago   Up 12 minutes             nrs_replmgmt
    ea7a1492d199   mirrormaker:3.0.1.0   "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_mirrormaker
    6214f5f44404   broker:3.0.1.0        "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_broker
    d1ba0fbc54db   zookeeper:3.0.1.0     "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_zookeeper
    nrs_broker が起動していない場合は、もう一度再起動してください:
    docker restart nrs_broker

    これらの試みを試みても nrs_broker が立ち上がらない場合は、証明書が正しいことを確認してください。

  8. nzdr の証明書を新しい証明書に置き換える。
    • 自己署名証明書を使用している場合は、 /opt/ibm/appliance/storage/nrs/nps/cert/cacertcacert 認証キーを新しい cacert で置き換えてください。 これは、ステップ3で使用した /path/to/cacert.pem と同じファイルです。
      cp /path/to/cacert /opt/ibm/appliance/storage/nrs/nps/cert/cacert

      証明書と鍵は、 /tmp/certs/ に保存されている、この特定のシステム用に生成された証明書/鍵を使用する必要があります。

      例:
      cp /tmp/cert/hostname for this system.pem /opt/ibm/appliance/storage/nrs/nps/cert/cert
      cp /tmp/cert/hostname for this system_key.pem /opt/ibm/appliance/storage/nrs/nps/cert/key
    • カスタム証明書を使用している場合は、 /opt/ibm/appliance/storage/nrs/nps/cert/cacertindex.yaml にある cacert の情報を、 /path/to/index.yaml のステップ 3 で使用した index.yaml ファイルの情報に置き換える。
      cp /path/to/cacert /opt/ibm/appliance/storage/nrs/nps/cert/cacert
      例:
      cp /path/to/cert for this system /opt/ibm/appliance/storage/nrs/nps/cert/cert
      cp /path/to/key for this system_key.pem /opt/ibm/appliance/storage/nrs/nps/cert/key
  9. 指定したノードでのレプリケーションの開始と停止 」の説明に従ってレプリケーションを開始し、この手順に戻ります。
  10. Cloud Pak for Data Systemで、 Platform Managerによる監視を有効にします。
    ap apps enable NRS