NSX를 설치하면 관리자 노드 및 클러스터에 자체 서명된 인증서가 생깁니다. 자체 서명된 인증서를 CA 서명 인증서로 대체하고 클러스터의 모든 노드의 FQDN 및 IP와 클러스터의 VIP와 일치하는 단일 공통 CA 서명 인증서를 SAN(주체 대체 이름)과 함께 사용합니다. 한 번에 하나의 인증서 교체 작업만 실행할 수 있습니다.

NSX 페더레이션을 사용하는 경우 다음 API를 사용하여 GM API 인증서, GM 클러스터 인증서, LM API 인증서 및 LM 클러스터 인증서를 대체할 수 있습니다.

NSX 페더레이션 4.1부터 GM-LM 통신에 사용되는 자체 서명된 인증서를 교체할 수 있습니다. 또한 글로벌 관리자 인증서는 이제 로컬 관리자가 등록될 때 로컬 관리자 인증서를 생성합니다. 로컬 관리자 인증서는 더 이상 기본 인증서가 아닙니다.

글로벌 관리자 또는 로컬 관리자 인증서를 교체하는 경우 사이트 관리자는 이러한 인증서를 다른 모든 페더레이션된 사이트로 전송하므로 통신이 그대로 유지됩니다.

이제 다음 사이의 통신에 대해 암호 그룹 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384를 사용하거나 교체할 수 있습니다.
  • 클러스터에 있는 NSX 노드
  • NSX 페더레이션 내에서
  • NSX Edge에서 NSX Manager
  • NSX Manager에서 NSX 에이전트로
  • NSX Manager REST API 통신(외부)

글로벌 관리자로컬 관리자 장치에 대해 자동으로 생성된 플랫폼 주체 ID 인증서를 교체할 수도 있습니다. NSX 페더레이션을 위해 자동으로 구성된 자체 서명된 인증서에 대한 자세한 내용은 NSX 및 NSX 페더레이션에 대한 인증서 항목을 참조하십시오.

참고: Cloud Service Manager의 경우 NSX 환경에서 HTTP 인증서를 바꿀 수 없습니다.

사전 요구 사항

  • NSX Manager에서 인증서를 사용할 수 있는지 확인합니다. 대기 글로벌 관리자에서 UI 가져오기 작업이 비활성화됩니다. 대기 글로벌 관리자에 대한 가져오기 REST API 명령에 대한 자세한 내용은 자체 서명된 인증서 또는 CA 서명된 인증서 가져오기 항목을 참조하십시오.
  • 서버 인증서에는 기본 제약 조건 확장 basicConstraints = CA:FALSE가 포함되어야 합니다.
  • 다음 API 호출을 수행하여 인증서가 유효한지 확인합니다.

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

  • 필요한 경우 노드 ID 문자열을 사용할 수 있습니다. UI 또는 CLI를 사용하여 이 정보를 찾는 데 도움을 얻으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.
참고: 자동화된 스크립트를 사용하여 여러 인증서를 동시에 교체하지 마십시오. 오류가 발생할 수 있습니다.

프로시저

  1. 관리자 권한으로 NSX Manager에 로그인합니다.
  2. 시스템 > 인증서를 선택합니다.
  3. ID 열에서 사용하려는 인증서의 ID를 선택하고 팝업 창에서 인증서 ID를 복사합니다.
    이 인증서를 가져올 때 옵션 서비스 인증서아니요로 설정되었는지 확인합니다.

    참고: 인증서 체인은 '인증서 - 중간 - 루트’의 업계 표준 순서여야 합니다.

  4. 관리자 노드의 API 인증서를 바꾸려면 다음 API 호출을 사용하십시오. 통합 장치 노드 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 관리 서비스가 다시 시작되어 새 인증서 사용을 시작할 수 있습니다. 다시 시작하는 동안 관리자 노드 서비스가 백업되어 실행될 때까지 UI 및 API에 액세스할 수 없습니다. VIP가 이 관리자 노드에 있으면 다른 관리자 노드로 이동됩니다. 다른 관리자 노드에서 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 클러스터 선택 또는 글로벌 관리자 UI에서 Tier-0 BGP 요약 요청과 같은 작업이 작동하지 않습니다. API에 대한 자세한 내용은 "NSX API 가이드" 항목을 참조하십시오. 이 단계는 VIP를 구성하지 않은 경우에는 필요하지 않습니다.

  6. (선택 사항) NSX 페더레이션에 대한 로컬 관리자글로벌 관리자 주체 ID 인증서를 교체하려면 다음 API 호출을 사용하십시오. 전체 NSX Manager 클러스터(로컬 관리자글로벌 관리자)에는 단일 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 호출을 사용합니다. 통합 장치 노드 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 서명 인증서인 경우에는 인증서 - 중간 - 루트 순서로 전체 체인을 포함해야 합니다. 전체 인증서를 한 줄로 제공해야 합니다. 또한 줄 끝 문자를 \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"
    }
    node_id로 UA(Unified Appliance) ID가 아닌 전송 노드의 ID를 사용합니다. 노드 ID를 찾으려면 인증서 API 호출에 대한 노드 ID 찾기 항목을 참조하십시오.

    시스템에서 구성한 기본 자체 서명 인증서 또는 VMware Cloud Foundation 인증서 요구 사항에 대한 자세한 내용은 인증서 유형 항목을 참조하십시오.

  9. 페더레이션된 NSX 배포의 다른 위치에서 시작된 인증서를 교체하려면 이름이 Site로 시작하는 인증서(예: "Site 인증서 L=PA,ST=CA,C=US" , "Site 인증서 UID=369cd66c-... " ) 또는 UUID가 "637a2ebf-84d1-4548-a0ba-51d9420672ff" 인 인증서를 찾습니다. 해당 인증서가 만료되는 경우 원래 노드 또는 클러스터에서 교체를 수행해야 합니다. UI의 사용처 열 또는 API의 사용자 필드에서 해당 정보를 찾을 수 있습니다. 원래 글로벌 관리자 또는 로컬 관리자에서 인증서를 교체하면 페더레이션된 배포 전체에서 자동으로 동기화됩니다.
  10. 더 이상 필요하지 않은 미사용 인증서를 제거하려면 UI 또는 API를 사용할 수 있습니다. [인증서] 창의 [사용처] 열에 있는 데이터가 0을 나타내는 경우 인증서가 사용되고 있지 않음을 의미하며 삭제 버튼을 사용하여 제거할 수 있습니다. API 명령 출력의 사용자 세부 정보의 데이터가 0을 나타내면 인증서가 사용되고 있지 않은 것이므로 API [시스템 관리] > [설정] > [인증서] > [인증서 삭제] 명령을 사용하여 제거할 수 있습니다.