建立自訂網址

本頁說明如何設定及管理自訂網址,讓您為 Cloud Run 服務取得簡單好記且全球通用的網址,而非預設的決定性網址:

  • 自訂網址格式:https://CUSTOM_URL_DOMAIN.cloud.run
  • 預設網址格式:https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app

使用自訂網址時,您不必設定自訂網域、DNS 記錄或外部負載平衡器,即可共用服務。

為 Cloud Run 服務使用自訂網址可享有下列優點:

  • 簡單網址:將服務對應至簡潔的 https://CUSTOM_URL_DOMAIN.cloud.run格式。
  • 全球適用:自訂網址可從任何地方存取,與標準 .run.app 網址相符。
  • 彈性生命週期:在服務之間彈性附加、卸離或移動自訂網址,不必部署新版本。
  • 多個對應:您可以將多個自訂網址對應至單一服務。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自體驗產品的實際應用成效。新客戶還能獲得價值 $300 美元的免費抵免額,能用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 在 Google Cloud 專案中設定 Cloud Run 開發環境。
  7. 安裝並初始化 gcloud CLI。

必要的角色

如要取得管理自訂網址所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

限制

  • 根據預設,每個專案最多可對應 50 個網域。
  • 自訂網址子網域的長度必須介於 6 至 63 個半形字元之間,符合標準 DNS 命名慣例 (允許使用英數字元和連字號),且開頭和結尾不得為連字號。
  • 部分子網域受到限制。
  • 您無法像停用預設 .run.app網址一樣,暫時停用自訂網址。如要停止從該對應項目放送流量,請刪除對應項目。
  • 不支援將輸入流量限制為「內部」或「內部和 Cloud Load Balancing」流量的 Cloud Run 服務。
  • Terraform 不支援自訂網址。為避免潛在的重大變更,請勿使用 Preview domain_mapping 資源。
  • 自訂網址完全獨立,如果選擇停用服務的預設 .run.app 網址,自訂網址對應仍會完全啟用並可供存取。

將自訂網址附加或對應至服務

部署新服務時,您可以附加自訂網址,也可以使用 Google Cloud 控制台或 gcloud,將自訂網址對應至現有服務。

將自訂網址附加至新服務

部署新的 Cloud Run 服務時,您可以附加自訂網址做為部署設定的一部分。

  1. 在 Google Cloud 控制台中,前往「Cloud Run」「Services」(服務) 頁面。

    前往 Cloud Run。

  2. 按一下「Deploy container」(部署容器)。

  3. 填寫服務的基本設定詳細資料。

  4. 在「自訂網址」部分,按一下「新增自訂網址」。

  5. 請輸入有效的自訂網址網域。

  6. 選用。如要新增多個自訂網址,請再次按一下「新增自訂網址」。

  7. 點選「建立」。

將自訂網址對應至現有服務

您可以使用Google Cloud 控制台或 gcloud CLI,將自訂網址對應至現有的 Cloud Run 服務。

控制台

  1. 前往 Google Cloud 控制台的「網域對應」頁面。

    前往「網域對應」頁面

  2. 按一下「新增自訂網址」。

  3. 在「服務」清單中,選取要對應的服務。

  4. 輸入自訂網址。

  5. 按一下「繼續」。

如要新增多個自訂網址,請再次點選「新增自訂網址」,然後按照上述步驟操作。

gcloud

如要為現有服務建立自訂網址網域對應,請執行下列指令:

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

更改下列內容:

  • SERVICE_NAME:要對應自訂網址的服務名稱。
  • CUSTOM_URL_DOMAIN:要附加的子網域。

選用。如要使用 gcloud CLI 對應多個自訂網址,請針對每個自訂網址重複執行對應建立指令:

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN_1.cloud.run

gcloud beta run domain-mappings create \
    --service=SERVICE_NAME \
    --domain=CUSTOM_URL_DOMAIN_2.cloud.run

更改下列內容:

  • SERVICE_NAME:要部署的服務名稱。
  • CUSTOM_URL_DOMAIN_1:要附加的第一個子網域。
  • CUSTOM_URL_DOMAIN_2:要附加的第二個子網域。

如果要求的子網域已由其他使用者或服務使用 Google Cloud,您會收到錯誤訊息,且必須選擇不重複的目標。

列出及查看自訂網址

您可以列出所有自訂網址,並查看環境的對應詳細資料。

控制台

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

    前往 Cloud Run。

  2. 按一下服務名稱。

  3. 前往「網路」分頁。

  4. 在「Endpoints」(端點) 標籤下,找到「Custom domains」(自訂網域) 部分中附加的網址。

gcloud

如要列出專案中的所有自訂網址和網域對應,請執行下列指令:

gcloud beta run domain-mappings list

如要查看特定自訂網址網域對應的詳細資料,請執行:

gcloud beta run domain-mappings describe \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

將 CUSTOM_URL_DOMAIN 替換為要說明的子網域。

使用自訂目標對象確保安全

您可以將自訂目標對象附加至自訂網址,限制存取權。

gcloud beta run services update SERVICE_NAME \
    --add-custom-audiences=CUSTOM_URL_DOMAIN.cloud.run

更改下列內容:

  • SERVICE_NAME:服務名稱。
  • CUSTOM_URL_DOMAIN:做為自訂目標對象的子網域。

刪除自訂網址

如果不再需要自訂網址對應,可以刪除。

控制台

  1. 前往 Google Cloud 控制台的「網域對應」頁面。

    前往「網域對應」頁面

  2. 找出要刪除的自訂網址,然後勾選旁邊的核取方塊。

  3. 點選「刪除」。

gcloud

如要從 Cloud Run 服務移除自訂網址網域對應,請執行下列指令:

gcloud beta run domain-mappings delete \
    --domain=CUSTOM_URL_DOMAIN.cloud.run

將 CUSTOM_URL_DOMAIN 替換為要刪除的子網域。

已知問題

  • 傳播延遲:建立自訂網址後,可能需要幾秒鐘才能完全運作。建立網址後立即存取,可能會導致暫時的路由錯誤。

  • 更新或移動自訂網址:自訂網址沒有直接的更新指令。如要將附加的自訂網址從一個服務移至另一個服務,請按照刪除及重新建立流程操作。

    控制台

    1. 前往 Google Cloud 控制台的「網域對應」頁面。

      前往「網域對應」頁面

    2. 找出要移動的自訂網址,然後勾選旁邊的核取方塊。

    3. 點選「刪除」。

    4. 按一下「新增自訂網址」。

    5. 在「服務」清單中,選取新的目標服務。

    6. 輸入先前聲明的自訂網址網域。

    7. 點選「建立」,將流量重新導向至新服務。

    gcloud

    1. 從舊服務中刪除現有對應:

      gcloud beta run domain-mappings delete \
          --domain=CUSTOM_URL_DOMAIN.cloud.run

      將 CUSTOM_URL_DOMAIN 替換為您先前聲明擁有的子網域。

    2. 回收網址並對應至新服務:

      gcloud beta run domain-mappings create \
          --service=NEW_SERVICE_NAME \
          --domain=CUSTOM_URL_DOMAIN.cloud.run

      更改下列內容:

      • NEW_SERVICE_NAME:要將自訂網址移至的服務名稱。
      • CUSTOM_URL_DOMAIN:要附加的子網域。

後續步驟