本頁說明如何設定及管理自訂網址,讓您為 Cloud Run 服務取得簡單好記且全球通用的網址,而非預設的決定性網址:
- 自訂網址格式:
https://CUSTOM_SUBDOMAIN.cloud.run - 預設網址格式:
https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app
使用自訂網址時,您不必設定自訂網域、DNS 記錄或外部負載平衡器,即可共用服務。
為 Cloud Run 服務使用自訂網址可享有下列優點:
- 簡單網址:將服務對應至簡潔的
https://CUSTOM_SUBDOMAIN.cloud.run格式。 - 全球適用:自訂網址可從任何地方存取,與標準
.run.app網址相符。 - 彈性生命週期:在服務之間彈性附加、卸離或移動自訂網址,不必部署新版本。
- 多個對應:您可以將多個自訂網址對應至單一服務。
事前準備
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
- 在 Cloud de Confiance 專案中設定 Cloud Run 開發環境。
- 安裝並初始化 gcloud CLI。
必要的角色
如要取得管理自訂網址所需的權限,請要求管理員授予您下列 IAM 角色:
-
如要建立、更新或刪除自訂網址對應:Cloud Run 管理員 (
roles/run.admin) 專案
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
限制
- 根據預設,每個專案最多可對應 50 個網域。
- 自訂網址子網域的長度必須介於 6 至 63 個半形字元之間,符合標準 DNS 命名慣例 (允許使用英數字元和連字號),且開頭和結尾不得為連字號。
- 部分子網域受到限制。
- 您無法像停用預設
.run.app網址一樣,暫時停用自訂網址。如要停止從該對應項目放送流量,請刪除對應項目。 - 不支援將輸入流量限制為「內部」或「內部和 Cloud Load Balancing」流量的 Cloud Run 服務。
- Terraform 不支援自訂網址。為避免潛在的重大變更,請勿使用 Preview
domain_mapping資源。 - 自訂網址完全獨立,如果選擇停用服務的預設
.run.app網址,自訂網址對應仍會完全啟用並可供存取。
將自訂網址附加或對應至服務
部署新服務時,您可以附加自訂網址,也可以使用 Cloud de Confiance 控制台或 gcloud,將自訂網址對應至現有服務。
將自訂網址附加至新服務
部署新的 Cloud Run 服務時,您可以附加自訂網址做為部署設定的一部分。
控制台
在 Cloud de Confiance 控制台中,前往「Cloud Run」「Services」(服務) 頁面。
按一下「Deploy container」(部署容器)。
填寫服務的基本設定詳細資料。
在「自訂網址」部分,按一下「新增自訂網址」。
請輸入有效的自訂網址子網域。
選用。如要新增多個自訂網址,請再次按一下「新增自訂網址」。
點選「建立」。
gcloud
從容器映像檔部署
如要在初始容器部署期間,為 Cloud Run 服務建立自訂網址子網域對應,請執行下列指令:
gcloud beta run deploy SERVICE \ --image=IMAGE_URL \ --domain=CUSTOM_SUBDOMAIN.cloud.run
更改下列內容:
- SERVICE:要部署的 Cloud Run 服務名稱。您可以省略這個參數,但如果省略,系統可能會提示您輸入服務名稱。
IMAGE_URL:容器映像檔的參照,例如us-docker.pkg.dev/cloudrun/container/hello:latest。如果您使用 Artifact Registry,則必須先建立存放區 REPO_NAME。網址格式為LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG。- CUSTOM_SUBDOMAIN:要附加的子網域。
從來源部署
如要在初始來源部署期間為 Cloud Run 服務建立自訂網址子網域對應,請執行下列指令:
gcloud beta run deploy SERVICE \ --source=SOURCE \ --domain=CUSTOM_SUBDOMAIN.cloud.run
更改下列內容:
- SERVICE:要部署的 Cloud Run 服務名稱。您可以省略這個參數,但如果省略,系統可能會提示您輸入服務名稱。
- SOURCE:要建構的來源位置 (例如目前目錄的
.)。 - CUSTOM_SUBDOMAIN:要附加的子網域。
如果要求的子網域已由其他使用者或服務 Cloud de Confiance by S3NS使用,您會收到錯誤訊息,且必須選擇專屬目標。
將自訂網址對應至現有服務
您可以使用Cloud de Confiance 控制台或 gcloud CLI,將自訂網址對應至現有的 Cloud Run 服務。
控制台
前往 Cloud de Confiance 控制台的「網域對應」頁面。
按一下「新增自訂網址」。
在「服務」清單中,選取要對應的服務。
輸入自訂網址子網域。
按一下「繼續」。
如要新增多個自訂網址,請再次點選「新增自訂網址」,然後按照上述步驟操作。
gcloud
如要為現有服務建立自訂網址子網域對應,請執行下列指令:
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_SUBDOMAIN.cloud.run
更改下列內容:
- SERVICE_NAME:要對應自訂網址的服務名稱。
- CUSTOM_SUBDOMAIN:要附加的子網域。
選用。如要使用 gcloud CLI 對應多個自訂網址,請針對每個自訂網址重複執行對應建立指令:
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_SUBDOMAIN_1.cloud.run gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_SUBDOMAIN_2.cloud.run
更改下列內容:
- SERVICE_NAME:要部署的服務名稱。
- CUSTOM_SUBDOMAIN_1:要附加的第一個子網域。
- CUSTOM_SUBDOMAIN_2:要附加的第二個子網域。
如果要求的子網域已由其他使用者或服務使用 Cloud de Confiance by S3NS,您會收到錯誤訊息,且必須選擇不重複的目標。
列出及查看自訂網址
您可以列出所有自訂網址,並查看環境的對應詳細資料。
控制台
前往 Cloud de Confiance 控制台的「Cloud Run」頁面。
按一下服務名稱。
前往「網路」分頁。
在「Endpoints」(端點) 標籤下,找到「Custom domains」(自訂網域) 部分中附加的網址。
gcloud
如要列出專案中的所有自訂網址和網域對應,請執行下列指令:
gcloud beta run domain-mappings list
如要查看特定自訂網址子網域對應的詳細資料,請執行下列指令:
gcloud beta run domain-mappings describe \ --domain=CUSTOM_SUBDOMAIN.cloud.run
將 CUSTOM_SUBDOMAIN 替換為要說明的子網域。
使用自訂目標對象確保安全
您可以將自訂目標對象附加至自訂網址,限制存取權。
gcloud beta run services update SERVICE_NAME \ --add-custom-audiences=CUSTOM_SUBDOMAIN.cloud.run
更改下列內容:
- SERVICE_NAME:服務名稱。
- CUSTOM_SUBDOMAIN:做為自訂目標對象的子網域。
刪除自訂網址
如果不再需要自訂網址對應,可以刪除。
控制台
前往 Cloud de Confiance 控制台的「網域對應」頁面。
找出要刪除的自訂網址,然後勾選旁邊的核取方塊。
點選「刪除」。
gcloud
如要從 Cloud Run 服務中移除自訂網址子網域對應,請執行下列指令:
gcloud beta run domain-mappings delete \ --domain=CUSTOM_SUBDOMAIN.cloud.run
將 CUSTOM_SUBDOMAIN 替換為要刪除的子網域。
已知問題
傳播延遲:建立自訂網址後,可能需要幾秒鐘才能完全運作。建立網址後立即存取,可能會導致暫時的路由錯誤。
更新或移動自訂網址:自訂網址沒有直接的更新指令。如要將附加的自訂網址從一個服務移至另一個服務,請按照刪除及重新建立流程操作。
控制台
前往 Cloud de Confiance 控制台的「網域對應」頁面。
找出要移動的自訂網址,然後勾選旁邊的核取方塊。
點選「刪除」。
按一下「新增自訂網址」。
在「服務」清單中,選取新的目標服務。
輸入先前聲明的確切自訂網址子網域。
點選「建立」,將流量重新導向至新服務。
gcloud
從舊服務中刪除現有對應:
gcloud beta run domain-mappings delete \ --domain=CUSTOM_SUBDOMAIN.cloud.run
將 CUSTOM_SUBDOMAIN 替換為您先前聲明擁有的子網域。
回收網址並對應至新服務:
gcloud beta run domain-mappings create \ --service=NEW_SERVICE_NAME \ --domain=CUSTOM_SUBDOMAIN.cloud.run
更改下列內容:
- NEW_SERVICE_NAME:要將自訂網址移至的服務名稱。
- CUSTOM_URL_DOMAIN:要附加的子網域。
後續步驟
- 進一步瞭解如何對應自訂網域。
- 瞭解如何透過 CDN 提供靜態資產。