透過憑證授權單位服務部署跨區域的 Google 代管憑證

本教學課程說明如何使用 Certificate Manager,透過憑證授權單位服務,將全球 Google 代管憑證部署至跨區域內部應用程式負載平衡器。

如要部署至全域外部負載平衡器或區域負載平衡器,請參閱下列說明:

設定 CA 服務與 Certificate Manager 的整合

如要將 CA 服務與 Certificate Manager 整合,請按照下列步驟操作:

  1. 在目標 Google Cloud 專案中,建立 Certificate Manager 服務帳戶:

    gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    PROJECT_ID 替換為目標專案的 ID。Google Cloud

    指令會傳回所建立服務身分的名稱。請參閱以下範例:

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
    
  2. 在目標 CA 集區中,將 CA 服務憑證要求者角色 (roles/privateca.certificateRequester) 授予 Certificate Manager 服務帳戶:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    更改下列內容:

    • CA_POOL:目標 CA 集區的 ID。
    • LOCATION:目標 Google Cloud 位置。
    • SERVICE_ACCOUNT:您在步驟 1 中建立的服務帳戶完整名稱。
  3. 為 CA 集區建立憑證核發設定資源:

    主控台

    1. 前往 Google Cloud 控制台的「Certificate Manager」頁面,然後點選「Issuance configs」分頁標籤。

      前往 Certificate Manager

    2. 點按「Create」(建立)。系統隨即會顯示「建立憑證核發設定」頁面。

    3. 在「Name」(名稱) 欄位中,輸入憑證核發設定的專屬名稱。

    4. 選用:在「說明」欄位中,輸入核發設定的說明。

    5. 在「Location」(位置) 部分,選取「Global」

    6. 選用:在「生命週期」欄位中,以天為單位指定核發憑證的生命週期。值必須介於 21 至 30 天之間 (含首尾值)。

    7. 選用:在「Rotation window percentage」(輪替視窗百分比) 中,指定憑證效期百分比,達到這個百分比時就會開始更新程序。如要瞭解有效值的範圍,請參閱「生命週期和輪替窗口百分比」。

    8. 選用:從「金鑰演算法」清單中,選取產生私密金鑰時要使用的金鑰演算法。

    9. 從「CA pool」(CA 集區) 清單中,選取要指派給這個憑證核發設定資源的 CA 集區名稱。

    10. 在「標籤」欄位中,指定要與憑證建立關聯的標籤。如要新增標籤,請按一下「新增標籤」,然後指定標籤的鍵和值。

    11. 點選「建立」

    gcloud

    gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL
    

    更改下列內容:

    • ISSUANCE_CONFIG_NAME:憑證核發設定資源的名稱。
    • CA_POOL:您要指派給這個憑證核發設定資源的 CA 集區完整資源路徑和名稱。

    如要進一步瞭解憑證核發設定資源,請參閱「管理憑證核發設定資源」。

建立由 CA 服務執行個體核發的 Google 代管憑證

如要建立由 CA 服務執行個體核發的 Google 代管憑證,請按照下列步驟操作:

主控台

  1. 前往 Google Cloud 控制台的「Certificate Manager」頁面。

    前往 Certificate Manager

  2. 在「憑證」分頁中,按一下「新增憑證」

  3. 在「憑證名稱」欄位中,輸入憑證的專屬名稱。

  4. 選用:在「說明」欄位中輸入憑證說明。說明可協助您識別憑證。

  5. 在「Location」(位置) 部分,選取「Global」

  6. 在「範圍」部分,選取「所有區域」。

  7. 在「Certificate type」(憑證類型) 部分,選取「Create Google-managed certificate」(建立 Google 代管的憑證)

  8. 在「Certificate Authority type」(憑證授權單位類型) 部分,選取「Private」(私人)

  9. 在「網域名稱」欄位中,指定以半形逗號分隔的憑證網域名稱清單。每個網域名稱都必須是完整網域名稱,例如 myorg.example.com

  10. 在「選取憑證核發設定」中,選取參照目標 CA 集區的憑證核發設定資源名稱。

  11. 在「標籤」欄位中,指定要與憑證建立關聯的標籤。如要新增標籤,請按一下「新增標籤」,然後指定標籤的鍵和值。

  12. 點選「建立」

    新憑證會顯示在憑證清單中。

gcloud

如要使用憑證授權單位服務建立跨區域的 Google 代管憑證,請使用 certificate-manager certificates create 指令,並加上 issuance-config--scope 標記:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    --scope=all-regions

更改下列內容:

  • CERTIFICATE_NAME:憑證名稱。
  • DOMAIN_NAME:目標網域的名稱。網域名稱必須是完整網域名稱,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:參照目標 CA 集區的憑證核發設定資源名稱。

API

certificates.create 方法發出 POST 要求,建立憑證,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "ALL_REGIONS"
 }
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_NAME:憑證名稱。
  • DOMAIN_NAME:目標網域的名稱。網域名稱必須是完整網域名稱,例如 myorg.example.com
  • ISSUANCE_CONFIG_NAME:參照目標 CA 集區的憑證核發設定資源名稱。

驗證憑證狀態

將憑證部署至負載平衡器之前,請先確認憑證是否有效。憑證狀態可能需要幾分鐘的時間才會變更為 ACTIVE

主控台

  1. 前往 Google Cloud 控制台的「Certificate Manager」頁面。

    前往 Certificate Manager

  2. 在「認證」分頁中,查看「狀態」欄中的認證。

gcloud

如要驗證憑證狀態,請執行下列指令:

gcloud certificate-manager certificates describe CERTIFICATE_NAME

CERTIFICATE_NAME 替換為目標 Google 管理的憑證名稱。

輸出結果會與下列內容相似:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
  domains:
  - myorg.example.com
  issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig
  state: ACTIVE
name: projects/myproject/locations/global/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  - myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

如需更多疑難排解步驟,請參閱「排解憑證管理工具問題」。

將憑證部署至負載平衡器

如要部署 Google 代管的全域憑證,請直接將其附加至目標 Proxy。

將憑證直接附加至目標 Proxy

您可以將憑證附加至新的或現有的目標 Proxy。

如要將憑證附加至新的目標 Proxy,請使用 gcloud compute target-https-proxies create 指令

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --global

更改下列內容:

  • PROXY_NAME:目標 Proxy 的名稱。
  • URL_MAP:網址對應表名稱。建立負載平衡器時,您已建立網址對應。
  • CERTIFICATE_NAME:憑證名稱。

如要將憑證附加至現有的目標 HTTPS Proxy,請使用 gcloud compute target-https-proxies update 指令。如果不知道現有目標 Proxy 的名稱,請前往「目標 Proxy頁面,並記下目標 Proxy 的名稱。

gcloud compute target-https-proxies update PROXY_NAME \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

建立或更新目標 Proxy 後,請執行下列指令進行驗證:

gcloud compute target-https-proxies list

排解 CA 服務核發的憑證相關問題

如需疑難排解步驟,請參閱「與 CA 服務執行個體核發憑證相關的問題」。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取這個教學課程所用資源的費用,請將資源全數刪除。

  1. 刪除負載平衡器及其資源。

    請參閱「清除負載平衡設定」。

  2. 刪除 Google 代管的憑證:

    主控台

    1. 前往 Google Cloud 控制台的「Certificate Manager」頁面。

      前往 Certificate Manager

    2. 在「憑證」分頁中,勾選憑證的核取方塊。

    3. 點選「刪除」。

    4. 在出現的對話方塊中,按一下 [Delete] (刪除) 以進行確認。

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    CERTIFICATE_NAME 替換為目標憑證的名稱。

  3. 刪除憑證核發設定資源:

    主控台

    1. 前往 Google Cloud 控制台的「Certificate Manager」頁面,然後點選「Issuance configs」分頁標籤。

      前往 Certificate Manager

    2. 選取要刪除的核發設定資源核取方塊。

    3. 點選「刪除」。

    4. 在出現的對話方塊中,按一下 [Delete] (刪除) 以進行確認。

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
    

    ISSUANCE_CONFIG_NAME 替換為目標憑證核發設定資源的名稱。

  4. 刪除 CA 集區。

    如要刪除 CA 集區,或停用憑證核發設定資源參照的 CA 集區中最後一個已啟用的 CA,請刪除參照該 CA 集區的所有憑證核發設定。詳情請參閱「刪除 CA 集區」。