NSX Federation スタンバイ Global Manager クラスターでは、CARR スクリプトを実行した後も期限切れの自己署名証明書が残っています。
search cancel

NSX Federation スタンバイ Global Manager クラスターでは、CARR スクリプトを実行した後も期限切れの自己署名証明書が残っています。

book

Article ID: 435919

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

免責事項:これは英文の記事「NSX Federation standby Global Manager cluster still has expired self-signed certificates after running CARR script」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

 

NSX 4.x バージョンでNSX 内の自己署名証明書の有効期限が切れる、または既に切れているという既知の問題があります。 

Certificate Analyzer, Results and Recovery (CARR) Script may have been used to resolve the expired self-signed certs issue. 

しかし、フェデレーションNSX環境に対してCARRスクリプトを実行した後でも、スタンバイGlobal Managerクラスタ内に更新されていない自己署名証明書が残っている可能性があります。 

この問題はスタンバイ GM サイトに限定されるものではありません。アクティブ GM サイトやローカル サイトでも発生する可能性があります。このナレッジ ノートは、スタンバイ Global Manager に関する特定の問題に対処するためのものです。 

CARRスクリプトでは、証明書の交換プロセスが正常に完了したと表示される場合があります。しかし、NSX UIには次の例のように、期限切れの証明書が表示されることがあります。

Environment

VMware NSX 

Cause

CARRスクリプトはこれらの証明書が置換基準に合致しなかったため、置換を行いませんでした。 

Resolution

以下のサービスタイプについては、自己署名証明書を置き換えることができます。

  • MGMT_CLUSTER (VIP)
  • CBM_CLUSTER_MANAGER
  • K8S_MSG_CLIENT
  • CBM_CORFU
  • CCP
  • APH_TN
  • LOCAL_MANAGER
  • GLOBAL_MANAGER
  • APH (aka APH_AR)
  • API
  • WEB_PROXY
  • IDPS-Reporting

この問題を解決するには有効期限切れの自己署名証明書ごとに新しい自己署名証明書を作成し、それらをインポートして有効期限切れの証明書と置き換える必要があります。 

  1. NSXマネージャーノードにroot権限でSSH接続し、以下のコマンドを実行します。 
    • openssl req -newkey rsa:2048 -extensions usr_cert -nodes -keyout <service-name-node-UUID>.key -x509 -days 36500 -out <service-name-node-UUID>.crt -subj "/CN=<service-type>" -sha256
      • -subj パラメータは、既存の証明書の詳細と照合するために使用する必要があります。
      • 一般的なNSX自己署名証明書には、次のサブジェクトパラメータが含まれています。
        「/C=US/ST=California/L=Palo Alto/O=VMware/CN=<SERVICE_TYPE>」
      • 証明書の共通名(CN)は、置き換える期限切れの証明書と一致している必要があります。
  2. 次のステップで使用するキー情報を、新しく作成したキーペアに対して以下のコマンドで取得してください。  
    1. awk 'NF {sub(//, ""); printf "%s\\n",$0;}' <service-name-node-UUID>.crt
    2. awk 'NF {sub(//, ""); printf "%s\\n",$0;}' <service-name-node-UUID>.key
  3. API"POST /api/v1/trust-management/certificates?action=import"を使用して新しい証明書をインポートします。
    • ボディに以下のJSONが含まれている場合:
      {
        "display_name": "<new-cert-name-can-be-the-same-as-the-expired-one>",
        "pem_encoded": "<content from 2.a from above>",
        "private_key": "<content from 2.b from above>"
      }
  4. NSX UIで新しい証明書が作成されていることを確認し、次のステップのためにそのUUIDをコピーします。
  5. 有効期限切れの証明書が添付されているサービスに新しい証明書を適用します。
    • POST /api/v1/trust-management/certificates/<New Certificate ID>?action=apply_certificate&service_type=<service-type>&node_id=<NSX-manager-node-UUID>
    • 新しい証明書に使用するサービスタイプとノードIDは、置き換えられる期限切れの証明書と一致している必要があります。不明な場合は、以下のAPI呼び出しを使用して証明書の詳細を取得してください。
      • GET /api/v1/trust-management/certificates/<Old Certificate ID>
      • 出力例:
        • {
              ....
              "used_by": [
                  {
                      "node_id": "<NSX-Manager-node-UUID>",
                      "service_types": [
                          "APH"
                      ]
                  }
              ],
              "resource_type": "certificate_self_signed",
              "id": "<Cert-UUID>",
              "display_name": "APH-AR certificate for node <NSX-Manager-node-UUID>",
          ...
          }
  6. 新しい証明書の「使用箇所」にインクリメントがあり、期限切れの証明書の「使用箇所」に0があることを確認してください。
  7. 期限切れの証明書は、UIまたはAPI呼び出しのいずれかを使用して削除できます。
    • DELETE /api/v1/trust-management/certificates/<expired-cert-UUID>

Additional Information

If using VMware NSX 4.2, the certificate can also be replaced through UI