服務來自多個區域的流量

在多個區域部署服務,並將使用者轉送至最近的區域,即可更快向全球使用者傳回回應。在多個區域部署,可降低延遲時間,並在區域服務中斷時提供更高的可用性。

Cloud Run 服務會部署至個別區域,因此您必須將服務部署至多個區域,然後為服務設定全域負載平衡。

您可以使用 Cloud Run Service Health,自動執行跨區域容錯移轉。

事前準備

  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。
  8. 確認帳戶具備下列 IAM 角色:
  9. 授予角色

    控制台

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

      前往「IAM」頁面
    2. 選取專案。
    3. 按一下「Grant access」(授予存取權)。
    4. 在「New principals」(新增主體) 欄位中,輸入您的使用者 ID。這通常是指用於部署 Cloud Run 服務的 Google 帳戶電子郵件地址。

    5. 在「Select a role」(選取角色) 清單中,選取角色。
    6. 如要授予其他角色,請按一下「Add another role」(新增其他角色),然後選取其他角色。
    7. 按一下「Save」(儲存)。

    gcloud

    如要將必要的 IAM 角色授予專案中的帳戶,請按照下列步驟操作:

            gcloud projects add-iam-policy-binding PROJECT_ID \
                --member=PRINCIPAL \
                --role=ROLE
            

    更改項目:

    • PROJECT_NUMBER 替換為您的 Google Cloud 專案編號。
    • 將 PROJECT_ID 替換為 Google Cloud 專案 ID。
    • PRINCIPAL 替換為您要新增繫結的帳戶。這通常是用來部署 Cloud Run 服務的 Google 帳戶電子郵件地址。
    • ROLE:要新增至部署者帳戶的角色。
  10. 查看 Cloud Run 定價頁面。您可以使用 Pricing Calculator,根據預測用量估算費用。
  11. 執行下列指令,啟用 Artifact Registry、Cloud Build、Cloud Run Admin API、Compute Engine 和 Network Services API:
  12.   gcloud services enable artifactregistry.googleapis.com \
        cloudbuild.googleapis.com \
        run.googleapis.com \
        compute.googleapis.com \
        networkservices.googleapis.com
      

將服務部署至多個區域

您設定的資源調度參數會套用至多個區域。舉例來說,在多區域部署中,執行個體數量下限值適用於多個區域中的每個區域。

您可以使用下列其中一種方法,將同一項服務部署至多個區域:

部署多區域服務

本節說明如何使用單一 gcloud CLI 指令,或透過 YAML 或 Terraform 檔案,部署及設定多區域服務。

gcloud

  • 如要建立及部署多區域服務,請使用 --regions 旗標執行 gcloud run deploy 指令:

    gcloud run deploy SERVICE_NAME \
      --image=IMAGE_URL \
      --regions=REGIONS

    更改下列內容:

    • SERVICE_NAME:要部署的多區域服務名稱。
    • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest。
    • REGIONS:要部署的多個區域清單。例如:europe-west1,asia-east1。

YAML

  1. 使用 run.googleapis.com/regions 屬性設定要部署服務的多個區域,為服務建立 YAML 檔案:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
      annotations:
        run.googleapis.com/regions: REGIONS
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL

    更改下列內容:

    • SERVICE_NAME:要部署的多區域服務名稱。
    • REGIONS:要更新的多區域清單。例如:europe-west1,asia-east1。
    • IMAGE_URL:容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/hello:latest。
  2. 使用下列指令建立服務:

    gcloud run multi-region-services replace service.yaml

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

在 Terraform 設定中,將下列內容新增至 google_cloud_run_v2_service 資源。

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-multi-region"
  location = "global"

  multi_region_settings {
    regions = [
      "REGION_1",
      "REGION_2",
    ]
  }

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
  }
}

將 "REGION_1" 和 "REGION_2" 替換為各個所需的Google Cloud 區域。例如 europe-west1 和 us-central1。

更新多區域服務

本節說明如何使用單一 gcloud CLI 指令或 YAML 檔案,在多區域服務中新增或移除區域。

gcloud

如要新增或移除多區域服務中的區域,請執行 gcloud run multi-region-services update 指令。

  • 如要將多區域服務新增至其他區域,請使用 --add-regions 旗標:

    gcloud run multi-region-services update SERVICE_NAME \
      --add-regions=REGIONS
  • 如要從一或多個區域移除多區域服務,請使用 --remove-regions 旗標:

    gcloud run multi-region-services update SERVICE_NAME \
      --remove-regions=REGIONS

    更改下列內容:

    • SERVICE_NAME:要更新的多區域服務名稱。
    • REGIONS:要新增或移除服務的一或多個區域。例如:us-central1,asia-east1。

YAML

  1. 如要更新現有多區域服務,請下載其 YAML 設定:

    gcloud run multi-region-services describe SERVICE_NAME --format export > service.yaml
  2. 更新 run.googleapis.com/regions 屬性,新增或移除要部署服務的區域清單:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
      annotations:
        run.googleapis.com/regions: REGIONS

    更改下列內容:

    • SERVICE_NAME:要部署的多區域服務名稱。
    • REGIONS:要部署服務修訂版本的多個區域新清單。
  3. 使用下列指令更新服務:

    gcloud run multi-region-services replace service.yaml

刪除多區域服務

  • 如要刪除多區域服務,請執行 gcloud run multi-region-services delete 指令:

    gcloud run multi-region-services delete SERVICE_NAME

    將 SERVICE_NAME 替換為要刪除的多區域服務名稱。

設定全域外部應用程式負載平衡器

本節說明如何設定全域外部應用程式負載平衡器,並使用受代管 TLS 憑證保護的網域,指向全域任意傳播 IP 位址,將使用者轉送至部署服務且距離最近的 Google 資料中心。

如果區域性 Cloud Run 服務沒有回應或傳回錯誤,下列各節所述的架構不會自動將要求轉送至其他區域。

如要提高多區域服務的可用性,請按照下列步驟操作:

設定區域網路端點群組

針對您在上一步部署的每個區域,請按照下列操作說明建立無伺服器網路端點群組 (NEG):

gcloud CLI

  1. 在 REGION 中為 Cloud Run 服務建立網路端點群組:

    gcloud compute network-endpoint-groups create NEG_NAME \
      --region=REGION \
      --network-endpoint-type=serverless \
      --cloud-run-service=SERVICE_NAME

    更改下列內容:

    • NEG_NAME:網路端點群組資源的名稱,例如 myservice-neg-uscentral1。
    • REGION:服務部署所在的區域。
    • 將 SERVICE_NAME 替換為服務名稱。
  2. 針對每個區域重複上述步驟

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

  1. 為 run_regions 變數中指定的每個區域,設定 Cloud Run 服務的網路端點群組,並命名為 myservice-neg:

    resource "google_compute_region_network_endpoint_group" "lb_default" {
      provider              = google-beta
      count                 = length(local.run_regions)
      name                  = "myservice-neg"
      network_endpoint_type = "SERVERLESS"
      region                = local.run_regions[count.index]
      cloud_run {
        service = google_cloud_run_v2_service.run_default[count.index].name
      }
    }

建立全域外部應用程式負載平衡器

建立全域外部應用程式負載平衡器時,您需要建立各種網路資源,並將這些資源連結在一起:

gcloud

  1. 預留靜態 IP 位址,這樣重新建立負載平衡器時,就不必更新 DNS 記錄。
    gcloud compute addresses create --global SERVICE_IP
    在上述指令中,將 SERVICE_IP 替換為 IP 位址資源的名稱 (例如 myservice-ip)。

    這個 IP 位址是全域任意傳播 IPv4 位址,會轉送至距離訪客最近的 Google 資料中心或連接點。

  2. 建立後端服務。
    gcloud compute backend-services create \
      --global BACKEND_NAME \
      --load-balancing-scheme=EXTERNAL_MANAGED

    將 BACKEND_NAME 替換為您要為後端服務指定的名稱。例如:myservice-backend。

  3. 將網路端點群組新增至後端服務:

    gcloud compute backend-services add-backend --global BACKEND_NAME 
    --network-endpoint-group-region=REGION
    --network-endpoint-group=NEG_NAME

    指定您在上一個步驟中為區域建立的 NEG_NAME。

  4. 建立網址對應。
    gcloud compute url-maps create URLMAP_NAME --default-service=BACKEND_NAME

    將 URLMAP_NAME 替換為您要為網址對應指定的名稱 (例如 myservice-urlmap)。

  5. 為網域建立代管 TLS 憑證,以便提供 HTTPS 流量。(請將 example.com 替換為您的網域名稱)。
    gcloud compute ssl-certificates create CERT_NAME \
      --domains=example.com

    將 CERT_NAME 替換為代管 SSL 憑證的名稱 (例如 myservice-cert)。

  6. 建立目標 HTTPS Proxy。
    gcloud compute target-https-proxies create HTTPS_PROXY_NAME \
      --ssl-certificates=CERT_NAME \
      --url-map=URLMAP_NAME

    將 HTTPS_PROXY_NAME 替換成要為目標 HTTPS Proxy 指定的名稱 (例如 myservice-https)。

  7. 建立轉送規則,將您建立的網路資源連結至 IP 位址。
    gcloud compute forwarding-rules create --global FORWARDING_RULE_NAME \
      --target-https-proxy=HTTPS_PROXY_NAME \
      --address=SERVICE_IP \
      --ports=443 \
      --load-balancing-scheme=EXTERNAL_MANAGED 

    將 FORWARDING_RULE_NAME 替換為要建立的轉送規則資源名稱。例如:myservice-lb。

Terraform

除了本節所述的步驟外,您也可以使用全域 HTTP 負載平衡器 Terraform 模組。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

  1. 設定 IP 位址:

    resource "google_compute_global_address" "lb_default" {
      provider = google-beta
      name     = "myservice-service-ip"
    
      # Use an explicit depends_on clause to wait until API is enabled
      depends_on = [
        google_project_service.compute_api
      ]
    }
    output "load_balancer_ip_addr" {
      value = google_compute_global_address.lb_default.address
    }

    將 IP 位址資源名稱設為 myservice-service-ip。您可以將這個值變更為自己的值。 這個 IP 位址是全域任意傳播 IPv4 位址,會轉送至距離訪客最近的 Google 資料中心或連接點。

  2. 建立及設定後端服務:

    resource "google_compute_backend_service" "lb_default" {
      provider              = google-beta
      name                  = "myservice-backend"
      load_balancing_scheme = "EXTERNAL_MANAGED"
    
      backend {
        group = google_compute_region_network_endpoint_group.lb_default[0].id
      }
    
      backend {
        group = google_compute_region_network_endpoint_group.lb_default[1].id
      }
    
      # Use an explicit depends_on clause to wait until API is enabled
      depends_on = [
        google_project_service.compute_api,
      ]
    }

    這項資源會將後端服務命名為 myservice-backend。您可以將這個值變更為自己的值。

  3. 設定網址對應:

    resource "google_compute_url_map" "lb_default" {
      provider        = google-beta
      name            = "myservice-lb-urlmap"
      default_service = google_compute_backend_service.lb_default.id
    
      path_matcher {
        name            = "allpaths"
        default_service = google_compute_backend_service.lb_default.id
        route_rules {
          priority = 1
          url_redirect {
            https_redirect         = true
            redirect_response_code = "MOVED_PERMANENTLY_DEFAULT"
          }
        }
      }
    }

    將後端服務資源 (myservice-backend) 連結至新的網址對應資源 (myservice-lb-urlmap)。您可以將這些值變更為自己的值。

  4. 為網域建立代管 TLS 憑證,以便提供 HTTPS 流量。在 google_compute_managed_ssl_certificate 資源中,將 example.com 替換為您的網域名稱:

    resource "google_compute_managed_ssl_certificate" "lb_default" {
      provider = google-beta
      name     = "myservice-ssl-cert"
    
      managed {
        domains = ["example.com"]
      }
    }
  5. 設定 HTTPS Proxy:

    resource "google_compute_target_https_proxy" "lb_default" {
      provider = google-beta
      name     = "myservice-https-proxy"
      url_map  = google_compute_url_map.lb_default.id
      ssl_certificates = [
        google_compute_managed_ssl_certificate.lb_default.name
      ]
      depends_on = [
        google_compute_managed_ssl_certificate.lb_default
      ]
    }

    建立目標名稱為 myservice-https-proxy 的 google_compute_target_https_proxy 資源,並連結先前建立的 TLS 憑證 (myservice-ssl-cert) 和網址對應資源 (myservice-lb-urlmap)。您可以將這些值變更為自己的值。

  6. 設定轉送規則:

    resource "google_compute_global_forwarding_rule" "lb_default" {
      provider              = google-beta
      name                  = "myservice-lb-fr"
      load_balancing_scheme = "EXTERNAL_MANAGED"
      target                = google_compute_target_https_proxy.lb_default.id
      ip_address            = google_compute_global_address.lb_default.id
      port_range            = "443"
      depends_on            = [google_compute_target_https_proxy.lb_default]
    }

    建立目標名稱為 myservice-https-proxy 的 google_compute_global_forwarding_rule 資源,並連結先前建立的 HTTPS Proxy 目標 (myservice-https-proxy) 和 IP 位址資源 (myservice-service-ip)。您可以將這些值變更為自己的值。

  7. 套用這項設定:

    如要在 Google Cloud 專案中套用 Terraform 設定,請完成下列各節的步驟。

    準備 Cloud Shell

    1. 啟動 Cloud Shell。
    2. 設定要套用 Terraform 設定的預設 Google Cloud 專案。

      每個專案只需執行這個指令一次,而且可以在任何目錄中執行。

      export GOOGLE_CLOUD_PROJECT=PROJECT_ID

      如果您在 Terraform 設定檔中設定明確的值,環境變數就會遭到覆寫。

    準備目錄

    每個 Terraform 設定檔都必須有自己的目錄 (也稱為根模組)。

    1. 在 Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱必須有 .tf 副檔名,例如 main.tf。在本教學課程中,這個檔案稱為 main.tf。
      mkdir DIRECTORY && cd DIRECTORY && touch main.tf
    2. 如果您正在進行教學課程,可以複製每個章節或步驟中的程式碼範例。

      將程式碼範例複製到新建立的 main.tf。

      您也可以從 GitHub 複製程式碼。如果 Terraform 程式碼片段是端對端解決方案的一部分,建議您採用這種做法。

    3. 請查看並修改範例參數,以便套用至您的環境。
    4. 儲存變更。
    5. 初始化 Terraform。每個目錄只需執行一次這項操作。
      terraform init

      如要使用最新版 Google 供應商,請視需要加入 -upgrade 選項:

      terraform init -upgrade

    套用變更

    1. 查看設定,確認 Terraform 要建立或更新的資源符合預期:
      terraform plan

      視需要修正設定。

    2. 執行下列指令,並在提示中輸入 yes,套用 Terraform 設定:
      terraform apply

      等待 Terraform 顯示「Apply complete!」訊息。

    3. 開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台的使用者介面中,前往資源頁面,確認 Terraform 已建立或更新資源。

設定區域網路端點群組

針對您在上一步部署的每個區域,您必須建立無伺服器網路端點群組 (NEG),並按照下列操作說明將其新增至後端服務:

gcloud CLI

  1. 在 REGION 中為 Cloud Run 服務建立網路端點群組:

    gcloud compute network-endpoint-groups create NEG_NAME \
      --region=REGION \
      --network-endpoint-type=serverless \
      --cloud-run-service=SERVICE_NAME

    更改下列內容:

    • NEG_NAME:網路端點群組資源的名稱。(例如 myservice-neg-uscentral1)
    • REGION:服務部署所在的區域。
    • 將 SERVICE_NAME 替換為服務名稱。
  2. 將網路端點群組新增至後端服務:

    gcloud compute backend-services add-backend --global BACKEND_NAME \
      --network-endpoint-group-region=REGION \
      --network-endpoint-group=NEG_NAME

    指定您在上一個步驟中為區域建立的 NEG_NAME。

  3. 針對每個區域重複上述步驟。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

  1. 為 run_regions 變數中指定的每個區域,設定 Cloud Run 服務的網路端點群組,並命名為 myservice-neg:

    resource "google_compute_region_network_endpoint_group" "lb_default" {
      provider              = google-beta
      count                 = length(local.run_regions)
      name                  = "myservice-neg"
      network_endpoint_type = "SERVERLESS"
      region                = local.run_regions[count.index]
      cloud_run {
        service = google_cloud_run_v2_service.run_default[count.index].name
      }
    }
  2. 設定後端服務,附加網路端點群組 (myservice-neg):

    resource "google_compute_backend_service" "lb_default" {
      provider              = google-beta
      name                  = "myservice-backend"
      load_balancing_scheme = "EXTERNAL_MANAGED"
    
      backend {
        group = google_compute_region_network_endpoint_group.lb_default[0].id
      }
    
      backend {
        group = google_compute_region_network_endpoint_group.lb_default[1].id
      }
    
      # Use an explicit depends_on clause to wait until API is enabled
      depends_on = [
        google_project_service.compute_api,
      ]
    }

設定網域的 DNS 記錄

如要將網域名稱指向您建立的轉送規則,請使用您建立的 IP 位址更新其 DNS 記錄。

  1. 執行下列指令,找出負載平衡器的預留 IP 位址:

    gcloud compute addresses describe SERVICE_IP \
      --global \
      --format='value(address)'

    將 SERVICE_IP 替換為先前建立的 IP 位址名稱。這個指令會將 IP 位址輸出。

  2. 更新網域的 DNS 記錄,方法是新增含有這個 IP 位址的 A 記錄。

如果使用已驗證的服務,請設定自訂目標對象

已驗證的服務受 IAM 保護。這類 Cloud Run 服務需要用戶端驗證,在產生憑證時宣告要求的預期接收者 (目標對象)。

目標對象通常是目標服務的完整網址,Cloud Run 服務的預設網址是以 run.app 結尾。不過,在多區域部署中,用戶端無法事先得知要求會轉送至哪個區域服務。因此,如要進行多區域部署,請將服務設為使用自訂目標對象。

等待負載平衡器佈建

使用負載平衡器 IP 位址設定網域後,請等待 DNS 記錄傳播。同樣地,請等待系統為網域核發代管 TLS 憑證,並準備好開始在全球提供 HTTPS 流量。

負載平衡器最多可能需要 30 分鐘,才會開始提供流量。

準備就緒後,請前往網站網址 (前置字元為 https://) 試用。

核對狀態

  1. 如要檢查 DNS 記錄傳播狀態,請使用 dig 指令列公用程式:

    dig A +short example.com

    輸出內容會顯示您在 DNS 記錄中設定的 IP 位址。

  2. 執行下列指令,檢查代管憑證核發狀態:

    gcloud compute ssl-certificates describe CERT_NAME

    將 CERT_NAME 替換為您先前為 SSL 憑證資源選擇的名稱。

    輸出內容會顯示包含 status: ACTIVE 的行。

設定 HTTP 至 HTTPS 的重新導向

根據預設,轉送規則只會處理單一通訊協定,因此對 http:// 端點的要求會回應「404 找不到網頁」。如需將 http:// 網址的要求重新導向至 https:// 通訊協定,請按照下列操作說明建立額外的網址對應和轉送規則:

gcloud CLI

  1. 建立含有重新導向規則的網址對應。

    gcloud compute url-maps import HTTP_URLMAP_NAME \
      --global \
      --source /dev/stdin <<EOF
            name: HTTP_URLMAP_NAME
            defaultUrlRedirect:
              redirectResponseCode: MOVED_PERMANENTLY_DEFAULT
              httpsRedirect: True
            EOF

    將 HTTP_URLMAP_NAME 替換成要建立的網址對應資源名稱 (例如 myservice-httpredirect)。

  2. 使用網址對應建立目標 HTTP Proxy。

    gcloud compute target-http-proxies create HTTP_PROXY_NAME \
      --url-map=HTTP_URLMAP_NAME

    將 HTTP_PROXY_NAME 替換為要建立的目標 HTTP Proxy 名稱 (例如 myservice-http)。

  3. 使用相同的預留 IP 位址,在通訊埠 80 建立轉送規則。

    gcloud compute forwarding-rules create --global HTTP_FORWARDING_RULE_NAME \
      --target-http-proxy=HTTP_PROXY_NAME \
      --address=SERVICE_IP \
      --ports=80
            

    將 HTTP_FORWARDING_RULE_NAME 替換為要建立的新轉送規則名稱,例如 myservice-httplb。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

  1. 建立含有重新導向規則的網址對應資源:

    resource "google_compute_url_map" "https_default" {
      provider = google-beta
      name     = "myservice-https-urlmap"
    
      default_url_redirect {
        redirect_response_code = "MOVED_PERMANENTLY_DEFAULT"
        https_redirect         = true
        strip_query            = false
      }
    }
  2. 使用新建立的網址對應資源 (myservice-https-urlmap) 建立目標 HTTP Proxy:

    resource "google_compute_target_http_proxy" "https_default" {
      provider = google-beta
      name     = "myservice-http-proxy"
      url_map  = google_compute_url_map.https_default.id
    
      depends_on = [
        google_compute_url_map.https_default
      ]
    }
  3. 使用相同的預留 IP 位址資源 (myservice-http-proxy),在通訊埠 80 上建立轉送規則:

    resource "google_compute_global_forwarding_rule" "https_default" {
      provider   = google-beta
      name       = "myservice-https-fr"
      target     = google_compute_target_http_proxy.https_default.id
      ip_address = google_compute_global_address.lb_default.id
      port_range = "80"
      depends_on = [google_compute_target_http_proxy.https_default]
    }

如需其他設定選項,請參閱「設定具備 Cloud Run 的全域外部應用程式負載平衡器」。

透過 Cloud Run Service Health,自動執行跨區域容錯移轉

如要設定多區域、高可用性的 Cloud Run 服務,並為內部或外部流量啟用自動容錯移轉和容錯回復功能,請參閱Service Health 指南。

使用已驗證的 Pub/Sub 推送訂閱項目,並部署至多個區域

根據預設,Pub/Sub 服務會將訊息傳送至與 Pub/Sub 服務儲存訊息相同的 Google Cloud 區域中的推送端點。如要解決這個問題,請參閱「搭配使用經過驗證的 Pub/Sub 推送訂閱項目和多區域 Cloud Run 部署作業」。

設定手動容錯移轉

如要手動設定流量,以便容錯移轉至健康狀態良好的區域,請修改全域外部應用程式負載平衡器網址對應。

  1. 如要更新全域外部應用程式負載平衡器網址對應,請使用 --global 旗標,從後端服務中移除 NEG:

    gcloud compute backend-services remove-backend BACKEND_NAME \
    --network-endpoint-group=NEG_NAME \
    --network-endpoint-group-region=REGION \
    --global
    

    更改下列內容:

    • BACKEND_NAME:後端服務的名稱。
    • NEG_NAME:網路端點群組資源的名稱,例如 myservice-neg-uscentral1。
    • REGION:NEG 的建立區域,也是要移除服務的區域。例如:us-central1,asia-east1。
  2. 如要確認健康狀態良好的區域現在是否正在提供流量,請前往 https://<domain-name>。

後續步驟