将证书迁移到证书管理器

本页面介绍了将一个或多个证书迁移到证书管理器的步骤。 它涵盖以下场景:

  • 将第三方证书迁移到证书管理器。
  • 将 Cloud Load Balancing 证书迁移到 Certificate Manager。如需详细了解 Cloud Load Balancing 证书,请参阅 Cloud Load Balancing 文档中的 SSL 证书概览

只要配置期间没有发生错误,这两种情况下都不会出现任何停机时间。

如需详细了解本页面中提及的 Certificate Manager 实体,请参阅 Certificate Manager 的运作方式

将第三方证书迁移到证书管理器

本部分介绍如何迁移提供的一个或多个证书 传递给证书管理器。

在开始之前,您必须选择并设置受支持的负载均衡器。借助证书管理器,您可以获取和管理传输层 用于以下负载均衡器资源的安全 (TLS) 证书:

  • 应用负载均衡器使用的目标 HTTPS 代理:

    • 全球外部应用负载均衡器
    • 传统应用负载均衡器
    • 区域级外部应用负载均衡器
    • 区域级内部应用负载均衡器
    • 跨区域内部应用负载均衡器
  • 代理网络负载平衡器使用的目标 SSL 代理:

    • 全局外部代理网络负载均衡器
    • 传统代理网络负载均衡器

针对您要迁移的每个证书完成以下步骤:

  1. 按照部署具有 DNS 授权的 Google 代管的证书(教程)中所述的步骤部署目标证书,但不包括清理步骤。为要迁移到负载均衡器的所有证书使用单个证书映射。

  2. 对于您在上一步中部署的每个证书,请使用以下命令测试证书涵盖的每个网域与负载均衡器 IP 地址之间的连接情况:

    openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
    

    替换以下内容:

    • DOMAIN_NAME:目标网域的名称
    • IP_ADDRESS:您的负载均衡器的 IP 地址

    如需详细了解如何测试连接,请参阅使用 OpenSSL 进行测试

  3. 完成更新 DNS A 和 AAAA 记录以指向负载均衡器的 IP 地址中的步骤,将流量从第三方服务切换到 Cloud 负载均衡。

将 Cloud Load Balancing 证书迁移到 Certificate Manager

本部分介绍如何迁移一个或多个 Cloud Load Balancing 证书管理器。

确定要迁移的证书

如需确定要迁移的证书,请完成以下步骤:

  1. 在目标负载均衡器上,确定目标代理的名称。

  2. 使用以下命令获取目标代理的相关信息(包括附加的证书),从而确定要迁移的证书:

    gcloud compute target-https-proxies describe TARGET_PROXY_NAME
    

    TARGET_PROXY_NAME 替换为目标代理的名称。

    输出类似于以下内容:

    creationTimestamp: '2021-10-06T04:05:07.520-07:00'
    fingerprint: c9Txdx6AfcM=
    id: '365692570234384780'
    kind: compute#targetHttpsProxy
    name: my-proxy
    selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy
    sslCertificates:
    - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate
    - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate
    urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-map
    

    如需了解详情,请参阅获取有关目标代理的信息

在证书管理器中创建证书

在证书管理器中创建所选证书,如下所示:

在继续执行下一步之前,请等待每个证书的状态都变为 ACTIVE,如验证证书是否有效中所述。每个证书可能需要数小时才能颁发完毕并状态更改为 ACTIVE

创建证书映射

如需将证书部署到全球外部应用负载均衡器或传统版应用负载均衡器,请按照创建证书映射中的步骤创建证书映射。

您无需证书映射即可将证书部署到区域级外部应用负载平衡器或区域级内部应用负载平衡器。

创建证书映射条目

如需将证书部署到全局外部应用负载平衡器或传统应用负载平衡器,请创建一个证书映射条目。您无需证书映射条目即可将证书部署到区域级外部应用负载均衡器或区域级内部应用负载均衡器。

对于要迁移的每个证书,请创建引用这些证书的证书映射条目,如下所示:

  1. 使用以下命令获取证书的详细信息:

    gcloud compute ssl-certificates --project=my-project describe CERTIFICATE_NAME
    

    CERTIFICATE_NAME 替换为目标证书的名称。

    输出类似于以下内容:

       -----BEGIN CERTIFICATE-----
       MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX
       MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE
       CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx
       OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT
       GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx
       MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63
       ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS
       iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k
       KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ
       DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk
       j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5
       cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW
       CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499
       iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei
       Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap
       sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b
       9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP
       BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf
       BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw
       JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH
       MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al
       oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy
       MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF
       AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9
       NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9
       WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw
       9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy
       +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi
       d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8=
       -----END CERTIFICATE-----
       creationTimestamp: '2021-05-06T04:39:21.736-07:00'
       expireTime: '2022-06-07T01:10:34.000-07:00'
       id: '6422259403966690822'
       kind: compute#sslCertificate
       managed:
          domainStatus:
          a.my-domain1.example.com: ACTIVE
          b.my-domain2.example.com: ACTIVE
          domains:
          - a.my-domain1.example.com
          - b.my-domain2.example.com
          status: ACTIVE
       name: my-certificate
       selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate
       subjectAlternativeNames:
       - a. my-domain1.example.com
       - b. my-domain2.example.com
       type: MANAGED
    
  2. 对于 subjectAlternativeNames 字段中列出的每个网域,请创建涵盖该网域的证书映射条目 完成创建证书映射条目中的步骤。如果多个证书涵盖单个网域,您只需创建一个证书映射条目,并使用涵盖该网域的任何有效证书。

  3. 可选:创建主证书映射条目,并引用与第一个证书对应的证书 最初附加到代理的证书列表中的证书 如创建主证书映射条目中所述。

  4. 使用以下命令验证您创建的每个证书映射条目是否处于活跃状态:

    gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
       --map="CERTIFICATE_MAP_NAME"
    

    替换以下内容:

    • CERTIFICATE_MAP_ENTRY_NAME:目标证书映射条目的名称
    • CERTIFICATE_MAP_NAME:映射到的证书的名称 此证书映射条目

    输出类似于以下内容:

       createTime: '2021-09-06T10:01:56.229472109Z'
       name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry
       state: ACTIVE
       updateTime: '2021-09-06T10:01:58.277031787Z'
    

可选:在新负载均衡器上测试配置

为了最大限度地缩短停机时间,我们建议您在新的负载均衡器上测试新配置的证书映射 没有处理生产流量的节点上这样,您就可以 继续在生产环境中进行迁移。

按如下方式测试您的配置:

  1. 按照设置外部应用负载均衡器中的说明,使用新目标代理创建新的负载均衡器。

  2. 如果您使用的是外部应用负载均衡器,请按照将证书映射附加到目标代理中所述的方法,将要测试的证书映射附加到新负载均衡器的目标代理。

    如果您使用的是区域级外部应用负载均衡器或区域级内部应用负载均衡器,请按照部署区域级自行管理的证书中的说明将证书附加到目标代理。

  3. 对于迁移中包含的每个目标网域,请使用以下命令测试在新负载均衡器的 IP 地址上与网域的连接:

    openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
    

    替换以下内容:

    • DOMAIN_NAME:目标网域的名称
    • IP_ADDRESS:新负载均衡器的 IP 地址

    如需详细了解如何测试连接,请参阅使用 OpenSSL 进行测试

清理测试环境

按照以下步骤清理您在上一步中创建的测试环境:

  1. 将证书映射与代理分离:

    gcloud compute target-https-proxies update PROXY_NAME \
       --clear-certificate-map
    

    PROXY_NAME 替换为目标代理的名称。

  2. 按照删除负载均衡器中所述的步骤删除测试负载均衡器。

请勿删除您在前面的步骤中创建的证书、证书映射或证书映射条目。

将新证书映射应用于目标负载均衡器

测试新证书配置并确认其有效后,请按如下方式将新证书映射应用于目标负载均衡器。

  1. 如果您使用的是外部应用负载平衡器,请按照将证书映射附加到目标代理中的说明,将新证书映射附加到相应的目标代理。

    如果您使用的是区域级外部应用负载均衡器或区域级内部应用负载均衡器,请按照部署区域级自行管理的证书中的说明将证书附加到目标代理。

  2. 等待配置更改应用完毕,并且负载均衡器开始分发新证书。 此过程通常需要几分钟的时间,但最长可能需要 30 分钟。

  3. 如果您发现流量存在任何问题,请按照将证书映射与代理分离中的步骤操作,将新证书映射与目标代理分离。这会将负载均衡器还原为原始配置。否则,您的新配置现已完成。

    如果您使用的是区域级外部应用负载平衡器或区域级内部应用负载平衡器,请附加之前挂接的传统证书,以还原更改。

后续步骤