本教學課程說明如何使用憑證管理工具,將全球自行管理憑證部署至跨區域內部應用程式負載平衡器。
如要部署至全球外部負載平衡器或區域性負載平衡器,請參閱以下文章:
目標
本教學課程將說明如何完成下列工作:
- 將自行管理的憑證上傳至憑證管理工具。
- 使用目標 HTTPS Proxy,將憑證部署至支援的負載平衡器。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Certificate Manager 擁有者 (
roles/certificatemanager.owner
)建立及管理 Certificate Manager 資源時必須使用。
Compute 負載平衡器管理員 (
roles/compute.loadBalancerAdmin
) 或 Compute 網路管理員 (roles/compute.networkAdmin
)建立及管理 HTTPS 目標 Proxy 時必須使用。
- 證照管理工具的角色和權限。
- Compute Engine 身分與存取權管理角色和權限。
使用值得信賴的第三方憑證授權單位 (CA) 核發憑證,並附上相關聯的金鑰。
確認憑證已正確鏈結且受根信任。
準備下列 PEM 編碼檔案:
- 憑證檔案 (CRT)
- 對應的私密金鑰檔案 (KEY)
必要的角色
請確認您具備下列角色,才能完成本教學課程中的任務:
如要瞭解詳情,請參考下列資源:
建立負載平衡器
本教學課程假設您已建立並設定負載平衡器的後端、健康狀態檢查、後端服務和網址對應。請記下網址對應項目的名稱,本教學課程稍後會用到。
如果您尚未建立跨區域內部應用程式負載平衡器,請參閱「使用 VM 執行個體群組後端設定跨區域內部應用程式負載平衡器」。
建立私密金鑰和憑證
如要建立私密金鑰和憑證,請執行下列步驟:
如要瞭解如何要求及驗證憑證,請參閱「建立私密金鑰和憑證」。
將自行管理的憑證上傳至憑證管理工具
如要將憑證上傳至憑證管理工具,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Certificate Manager」頁面。
在「憑證」分頁中,按一下「新增憑證」。
在「Certificate name」欄位中,輸入憑證的專屬名稱。
選用:在「說明」欄位中輸入證書的說明。您可以透過說明辨識憑證。
在「Location」(位置) 部分,選取「Global」。
在「範圍」部分,選取「所有地區」。
在「憑證類型」部分,選取「建立自行管理的憑證」。
針對「Certificate」欄位,請執行下列任一操作:
- 按一下「上傳」按鈕,然後選取 PEM 格式的憑證檔案。
- 複製 PEM 格式憑證的內容,然後貼上。內容的開頭和結尾必須是
-----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
。
針對「Private key certificate」欄位,請執行下列任一操作:
- 按一下「上傳」按鈕,然後選取私密金鑰。您的私密金鑰必須採用 PEM 格式,且未受密碼字串保護。
- 複製並貼上 PEM 格式私密金鑰的內容。私密金鑰開頭必須為
-----BEGIN PRIVATE KEY-----
,結尾為-----END PRIVATE KEY-----
。
在「Labels」欄位中,指定要與憑證建立關聯的標籤。如要新增標籤,請按一下
「Add label」,然後指定標籤的鍵和值。按一下 [建立]。
新的憑證會顯示在憑證清單中。
gcloud
如要建立跨區域的自行管理憑證,請使用 certificate-manager certificates create
指令:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE" \ --scope=all-regions
更改下列內容:
CERTIFICATE_NAME
:憑證名稱。CERTIFICATE_FILE
:CRT 憑證檔案的路徑和檔案名稱。PRIVATE_KEY_FILE
:金鑰私密金鑰檔案的路徑和檔案名稱。
Terraform
如要上傳自行管理的憑證,您可以使用 self_managed
區塊搭配 google_certificate_manager_certificate
資源。
API
對 certificates.create
方法發出 POST
要求,即可上傳憑證,如下所示:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { self_managed: { pem_certificate: "PEM_CERTIFICATE", pem_private_key: "PEM_KEY", scope: "ALL_REGIONS" } }
更改下列內容:
PROJECT_ID
: Google Cloud 專案的 ID。CERTIFICATE_NAME
:憑證名稱。PEM_CERTIFICATE
:憑證 PEM。PEM_KEY
:PEM 金鑰。
將自行管理的憑證部署至負載平衡器
如要部署全球自行管理憑證,請直接將其附加至目標 Proxy。
直接將憑證附加至目標 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
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取您在本教學課程中使用資源的費用,請刪除已上傳的憑證:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
將 CERTIFICATE_NAME
替換為目標憑證的名稱。
如果您不打算使用負載平衡器,請刪除負載平衡器及其資源。請參閱「清除負載平衡器設定」。