NSX のインストール後、マネージャ ノードとクラスタに自己署名証明書が作成されます。自己署名証明書を CA 署名付き証明書に置き換え、クラスタのすべてのノードと VIP の FQDN と IP アドレスに一致する SAN (Subject Alternative Name) を使用して、単一の共通 CA 署名付き証明書を使用します。一度に実行できる証明書の置き換え操作は 1 つだけです。

NSX フェデレーション を使用している場合は、次の API を使用して、GM API 証明書、GM クラスタ証明書、LM API 証明書、LM クラスタ証明書を置き換えることができます。

NSX フェデレーション 4.1 以降では、GM-LM 通信に使用される自己署名証明書を置き換えることができます。また、グローバル マネージャ 証明書は、ローカル マネージャ が登録された時点で ローカル マネージャ 証明書を生成するようになりました。ローカル マネージャ 証明書はデフォルトの証明書ではなくなりました。

グローバル マネージャ または ローカル マネージャ 証明書を置き換えると、サイト マネージャはこれらを他のすべてのフェデレーション サイトに送信します。通信はそのまま維持されます。

暗号スイート TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 を使用したり、次の間の通信に置き換えることが可能になりました。
  • クラスタ内の NSX ノード。
  • NSX フェデレーション 内。
  • NSX Manager から NSX Edge
  • NSX Manager から NSX エージェント。
  • NSX Manager REST API 通信(外部)。

グローバル マネージャ および ローカル マネージャ のアプライアンスに自動的に作成されたプラットフォーム プリンシパル ID 証明書を置き換えることもできます。NSX フェデレーション用の自己署名証明書の自動構成の詳細については、NSX と NSX フェデレーション の証明書を参照してください。

注: Cloud Service Manager では、 NSX 環境の HTTP 証明書を置き換えることはできません。

前提条件

  • NSX Manager で証明書が使用可能であることを確認します。スタンバイ グローバル マネージャでは、ユーザー インターフェイスのインポート操作は無効になります。スタンバイ グローバル マネージャ のインポート REST API コマンドの詳細については、「自己署名証明書または CA 署名付き証明書のインポート」を参照してください。
  • サーバ証明書には、基本的な制約拡張機能 basicConstraints = CA:FALSE が含まれている必要があります。
  • 次の API 呼び出しを行い、証明書が有効であることを確認します。

    GET https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=validate

  • 必要に応じて、ノード ID 文字列を使用できるようにします。この情報をユーザー インターフェイスまたは CLI で見つける方法については、「証明書 API 呼び出しのノード ID の検索」を参照してください。
注: 自動スクリプトを使用して複数の証明書を同時に置き換えないでください。エラーが発生する可能性があります。

手順

  1. 管理者権限で NSX Manager にログインします。
  2. [システム] > [証明書] の順に選択します。
  3. [ID] 列で、使用する証明書の ID を選択し、ポップアップ ウィンドウから証明書 ID をコピーします。
    この証明書のインポート時に [サービス証明書 ] オプションが [いいえ] に設定されていたことを確認します。

    注:証明書チェーンは、業界標準である「証明書 - 中間 - ルート」の順序にする必要があります。

  4. マネージャ ノードの API 証明書を置き換えるには、次の API 呼び出しを使用します。Unified Appliance ノード ID を確認するには、「証明書 API 呼び出しのノード ID の検索」を参照してください。
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=API&node_id=<node-id>
    次はその例です。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=API&node_id=e61c7537-3090-4149-b2b6-19915c20504f
    注: マネージャ ノードの CBM_MP 証明書を置き換えると、証明書の操作が完了した後に、そのノードの NSX 管理サービスが再起動し、新しい証明書の使用を開始できるようになります。この再起動中は、マネージャ ノード サービスがバックアップされて実行されるまで、ユーザー インターフェイスと API にアクセスできません。このマネージャ ノードに仮想 IP アドレスが存在する場合は、別のマネージャ ノードに移動されます。他のマネージャ ノードで CBM_MP 証明書を置き換える前に、 get cluster status を実行し、MANAGER グループ メンバー クラスタの状態をチェックして、管理サービスが稼動していることを確認します。
  5. マネージャ クラスタ VIP の証明書を置き換えるには、API 呼び出しを使用します。
    POST /api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=MGMT_CLUSTER
    次はその例です。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/d60c6a07-6e59-4873-8edb-339bf75711?action=apply_certificate&service_type=MGMT_CLUSTER

    グローバル マネージャ のロケーション マネージャ内から各ロケーションの ローカル マネージャ のサムプリント値が更新されていることを確認します。更新されていないと、GM と LM 間の通信が中断されます。サムプリントが更新されていない場合、NSX Edge クラスタの選択や グローバル マネージャ ユーザー インターフェイスからの Tier-0 BGP サマリの要求などのタスクは機能しません。API の詳細については、『NSX API ガイド』を参照してください。仮想 IP アドレスを構成していない場合、この手順を行う必要はありません。

  6. (オプション) NSX フェデレーションローカル マネージャ および グローバル マネージャ プリンシパル ID 証明書を置き換えるには、次の API 呼び出しを使用します。NSX Manager クラスタ全体(ローカル マネージャグローバル マネージャ)には、1 つの PI 証明書が必要です。
    注:

    この手順を使用して、NSX フェデレーションに関連しないプリンシパル ID 証明書を置き換えないでください。プリンシパル ID 証明書を置き換えるには、「ロールの割り当てまたはプリンシパル ID の追加」を参照してください。

    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=<service-type>
    次はその例です。
    POST https://<local-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=LOCAL_MANAGER
    または
    POST https://<global-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=GLOBAL_MANAGER
  7. APH-AR 証明書を置き換えるには、次の API 呼び出しを使用します。Unified Appliance ノード ID を確認するには、「証明書 API 呼び出しのノード ID の検索」を参照してください。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=APH&node_id=<node-id>
    次はその例です。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/77c5dc5c-6ba5-4e74-a801-c27dc09be76b?action=apply_certificate&service_type=APH&node_id=93350f42-16b4-cb4e-99e0-fce2d17635a3
  8. NSX 4.1 以降では、トランスポート ノード (TN) または Edge ホスト証明書を置き換えるには、次の API 呼び出しを使用します。プライベート キーは、NSX Managerの外部で生成する必要があります。NSX Manager で CSR を生成すると、API 呼び出しで必要なプライベート キーを取得することができません。CA 署名付き証明書の場合は、チェーン全体を次の順序で含めます。 certificate - intermediate - root 。証明書全体を 1 行で指定する必要があります。また、行末文字を \n に置き換えます。これは、pem_encoded とプライベート キーの値で必要です。改行文字を \n に置き換えるには、UNIX ベースのシステムで awk '{gsub(/\\n/,"\n")}1' certificate.pem コマンドを使用します。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/action/replace-host-certificate/<transport-node-id>
    {
          "display_name": "cert_name",
          "pem_encoded": "---BEGIN CERTIFICATE---\n<certificate>\n---END CERTIFICATE-----\n",   
          "private_key": "---BEGIN RSA PRIVATE KEY---\n<private rsa key>\n---END RSA PRIVATE KEY---\n"
        }
    次はその例です。
    POST https://<nsx-mgr>/api/v1/trust-management/certificates/aaction/replace-host-certificate/8e84d532-2cd8-46d8-90c7-04862980f69c
    {
        "display_name": "cert_sample",
        "pem_encoded": "-----BEGIN CERTIFICATE-----\nMIIC1DCCAbygAwIBAgIUMd1fGNGnvYKtilon2UMBP4rqRAowDQYJKoZIhvcNAQEL\nBQAwDzENMAsGA1UEAwwETVlDQTAeFw0yMzA5MjYxODMxMzVaFw0zMzA5MjMxODMx\nMzVaMBYxFDASBgNVBAMMC2NlcnRfc2FtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAzMDsp1EGFPjus/xnHmacPJYVP0N8iQMb3W8TFFQC5jxdjNzi\ncMIb1YgpI+s3LJoyYCdZKeMcCWDwtgQXMTy9FYJCHKyt86CF0br9U9q9iC+NX93X\n+/wrWtXY89ESt0NOgj22sKI49EQT9bd0dNWupxapCb98Dyztk0cetIHa7ia1q7un\nXMZ7dofwuWUEUlT8qpyXF84N6bhWQSrXRyeQ+oZrsq3sAyfnKzbfcs0T3sztWn9M\nR7h8iPkjpJjVV5z1ghAgIDKFXG8RVU8fLgX5srtYV2Ij1II0qYwe/yGBfj7xsemB\n2lGGPotlbwUE5oPFISJvG9qLOoNKVLvBrxuNnQIDAQABoyEwHzAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAAqPfZWNzG/b\nBhtN2gDjr0LplfC0yi8K6Ep3exECE5UOUJvHubko4Z6eCZFT8XSrAa6eZQEVe3O3\nwFvpdedCiEpI/IaFhpRUQDubJMPao7t4Uohz3k3ONMGbIci8dVUcQRQlmxFmx3wf\n0/33fy3b1zIOXqooQF3qUlpjms/RQOdD80dSlMze8WI7yz9LZt9Zc+sr8ePRi4Xy\ntudO6EYTiWm3CC5BxDDjKpkFCACFRT4zr5HsomHsFeo4hGIHl2zN0+JoGrdrWcta\nxdl5aQYy79vIMgvz696EKUGePEpJjpyP/wlwzmIY3RvXRKThuVXvg20gi365x8+J\niKbzpCGe0P0=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIC/zCCAeegAwIBAgIUUlHXcczsdMpei1ThgeQYpvgzaxMwDQYJKoZIhvcNAQEL\nBQAwDzENMAsGA1UEAwwETVlDQTAeFw0yMzA5MjYxODI2NDZaFw0zMzA5MjMxODI2\nNDZaMA8xDTALBgNVBAMMBE1ZQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDbr78t32TUl1qTcDGvVQhiUkktntPO/5/FRDSIjy9qyNGDrcICDAYzOe79\nceXpOzfUStacEeTXse89q1MJz4ykaU2g6EUN2E4sfoP4KznBlObLHnnlxD482DL4\nbuMA8qCe0soUsGE6uoeFHnSW3M+NRI3GtJe1MM134JQ/TSNZTv+d93nB4bS2nSK7\nA1fFDRSuj8Ey7a1im8JgykL9ahJ6yxrpk8juEJwII04nHfAG102/8/YKEZyPWcPX\nYvLZEt/lBVxRPplWfbNIo3zfA09fzb4RMaOSsyBbqTBseL/4fxlnkeu1Rii3ZwcQ\nL4Wr6mKR1YCievsuXdLK5pWUH+BtAgMBAAGjUzBRMB0GA1UdDgQWBBTnYafa1EXn\nNPIqTkIO82kdamjDgTAfBgNVHSMEGDAWgBTnYafa1EXnNPIqTkIO82kdamjDgTAP\nBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC2Ef+CPICTdWEKW3e6\nwaObe4Y85CS2wfSBRFvt0yCAUF8yysr3kQx85wdhfDfvidQdrgQIkDKe83J61r5l\n238wFo9O10RpFWl1csY4hZ19geeTW3L8tABp+f1or1vsAogfVtcaZwmqz/LEaZ0r\n4JdONE9gq40RgX5R9GPD04k3hKr6HoNHHnBssmNHgo8pLKRv04mx0yQyn45lKvet\ngcInI9j8YLsXGHdeiZ/zXKUgKQdicBw79K/mQCpgkpaEi3K9mFUFCUU9CiWxiy62\nSN2/SEuOWlb7Kq8VwJUfUn3lKoY9sofr9zsSsh5lhQOKb1uguo8xUF8v6iLuDAjr\n9bcn\n-----END CERTIFICATE-----\n",
        "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAzMDsp1EGFPjus/xnHmacPJYVP0N8iQMb3W8TFFQC5jxdjNzi\ncMIb1YgpI+s3LJoyYCdZKeMcCWDwtgQXMTy9FYJCHKyt86CF0br9U9q9iC+NX93X\n+/wrWtXY89ESt0NOgj22sKI49EQT9bd0dNWupxapCb98Dyztk0cetIHa7ia1q7un\nXMZ7dofwuWUEUlT8qpyXF84N6bhWQSrXRyeQ+oZrsq3sAyfnKzbfcs0T3sztWn9M\nR7h8iPkjpJjVV5z1ghAgIDKFXG8RVU8fLgX5srtYV2Ij1II0qYwe/yGBfj7xsemB\n2lGGPotlbwUE5oPFISJvG9qLOoNKVLvBrxuNnQIDAQABAoIBAQCE8JH2xIWVYlbh\np3RwaaDxOWTMMY4PC2SxLegOX8mOIQ2AYv3mxjD6QDCt8I9fNzKT+ZhLuPhAIp/H\nHfrM7im6aFtycK90qfmYxbarFi/O10kMQGZ2ZjDkBkqZa1qigGHd8CHIp1shRX5M\nIHPNU9vVAsJ34Mq0s7AA2sFV46X4zyEqHKLi1qVcsj68XJCrKJPTzOXiZWOHL8e0\nx4B8mGKbnWNmrq6styyYi9rzUnucoKL459YkaF/MEBpou3wvhprkR5Ufr4eNo0YV\nr0KfcEjxZqVT2o6r59+gSZQiCHael2MgslvMUTJOPgZ8tO78RQIHpH8GnNo+QkzB\nvXDfH2zhAoGBAPbeM7OveieHL37Iu/xY2wtDagSBD5K0VJhP8OOF5G1t1nHNcyWa\nYa49hTmGJ7bQsw5oGccvvsXCgGzaNbbAQtKlcz9kiXKOpTWV3t+RXtp0IXp8MIG6\nvWYd7yey7FHumHS/wC0h/REwx10153UpYaFJe2QJHw4yG9BJgN7o4duVAoGBANRT\n6BMPqV/6P9kJtduU8sZOVv3BbyUIkoBZlw2O7LB1IjIZcEm4By9DEAqCkFMp4gST\nW6o2eyXKp0oZ1UwqKdESG2LrGePNrmbQp7LvMngyk7CDqczA5gmnlndCy27k/d1Y\nQuWz+WDrqc8EAD7wRBmrwR0p3zCntPFRJPVu+yfpAoGACkDcYOAu8KlavadUt3xx\nTJx2MM2zeeJniRP461pKTIk9WOixmaQ53mTLvcHmsF8msLh+KZnAELKtZtgBVx/R\nJrKcgMuKMenezsT0xtBg4i3knhO+aAT7jNw9bKavzg9c4ax9LOK2ghpGjYaJoIIh\nffNxXoxKb+qA4TvMUHXXu6kCgYAhGeefORzVqqTTiDECx4jFo6bqLoLOSjTUr6Ld\n6T87DzfCiba4t2jfVFwm1036uRfUUMjEk3PFY3+LDNX05snYHzOHy1Eg84rR2oua\nWLIMjQ37QbtyAUybirXpZ89hPW/aVw0u1Ez3cCXr8Rq8tSZYvi8ABewWoL6TtGvH\nm4KqKQKBgCfZrv6wpCrS5Ep/AKQGdPOXCOM8O2+b4e/NJpSIH9Zk5Elg6WAunlCp\ntHyx1pZFq5RboxFw7DsM9eUTakHvGtTJ+EFHbyc5tKqWKnVbGmDYR6pNRULPEXU9\nhBQ1pzzmwGnO6AyxTxgoY5CosK2Ga1KjsWUXqay2QwIln+E+xxsm\n-----END RSA PRIVATE KEY-----\n"
    }
    Unified Appliance (UA) ID ではなく、node_id にトランスポート ノードの ID を使用します。ノード ID を確認するには、「 証明書 API 呼び出しのノード ID の検索」を参照してください。

    システムによって構成されたデフォルトの自己署名証明書の詳細、または VMware Cloud Foundation 証明書の要件については、証明書のタイプを参照してください。

  9. フェデレーション NSX 展開内の他の場所から取得した証明書を置き換えるには、「Site」という文字列で始まる名前の証明書を探します(たとえば、Site certificate L=PA,ST=CA,C=USSite certificate UID=369cd66c-... という名前の証明書)。あるいは、名前が UUID のみ(637a2ebf-84d1-4548-a0ba-51d9420672ff)の証明書を探します。これらの証明書が期限切れになっている場合は、元のノードまたはクラスタで証明書を置き換えてください。この情報は、ユーザー インターフェイスの [使用場所] 列または API の [使用元] フィールドで確認できます。元の グローバル マネージャ または ローカル マネージャ の証明書を置き換えると、システムはフェデレーション環境全体で証明書を自動的に同期します。
  10. 不要になった未使用の証明書を削除するには、ユーザー インターフェイスまたは API を使用します。[証明書] ペインの [使用場所] 列のデータがゼロになっている場合は、証明書が使用されていないことを意味します。この証明書は [削除] ボタンで削除できます。API コマンド出力で,[使用元] の詳細のデータがゼロになっている場合は、証明書が使用されていないことを意味します。この証明書は、API の [システム管理] > [設定] > [証明書] > [証明書の削除] コマンドで削除できます。