在您依循這份指南之前,請先熟悉 Internet NEG 總覽說明文件,包括限制。
下圖顯示區域內部應用程式負載平衡器前端與外部後端。權限
如要按照本指南操作,您必須建立網際網路 NEG,並在專案中建立或修改應用程式負載平衡器。您必須是專案擁有者或編輯者 (roles/owner
或 roles/editor
),或是應具有以下兩個 Compute Engine 身分與存取權管理角色:
工作 | 必要角色 |
---|---|
建立及修改負載平衡器元件 | Compute Network Admin ( roles/compute.networkAdmin )
|
建立及修改 NEG | Compute 執行個體管理員 ( roles/compute.instanceAdmin )
|
在 Google Cloud外部設定外部後端環境
如要設定外部後端環境,請參閱下列章節。
設定網路端點
設定網路端點,將外部後端公開給Google Cloud。請確認端點 (IP:Port 組合或完整網域名稱 (FQDN) 和通訊埠) 可透過網際網路存取。這個端點稍後會從網際網路 NEG 參照。
如要瞭解網際網路 NEG 端點的詳細設定需求,請參閱「網際網路 NEG 總覽」。
允許外部後端接收來自 Google Cloud的流量
完成建立僅限 Proxy 的子網路並設定 Cloud NAT 閘道後,即可完成這個步驟。
如要讓來自 Google Cloud 的請求連上外部後端,您必須執行下列步驟:
- 使用用於 Google Cloud外向流量的 IP 位址,設定 Cloud NAT 閘道。閘道會將僅限 Proxy 的子網路範圍對應至外部 IP 位址。如需步驟說明,請參閱「設定 Cloud NAT 閘道」。
- 請確認外部後端環境已設定為允許來自 Google Cloud 的流量傳送至外部後端。舉例來說,如果您為 NAT 閘道使用預先保留的 IP 位址,就會在外部環境中將這些 IP 位址加入許可清單。您可能需要與外部環境的網路或安全性管理員合作,才能完成這項設定。
設定 Google Cloud 環境
您需要具有兩個子網路的虛擬私有雲網路:一個用於負載平衡器元件,另一個用於區域的僅限 Proxy 子網路。接著,您將建立具有網際網路 NEG 後端的負載平衡器。
建立虛擬私有雲網路和子網路
這個子網路用於建立負載平衡器的元件。
Cloud 控制台
- 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
前往「VPC networks」(虛擬私有雲網路) - 按一下「建立虛擬私有雲網路」。
- 輸入「名稱」:LB_NETWORK。
- 在「Subnets」(子網路) 區段中:
- 將「Subnet creation mode」(子網路建立模式) 設為 [Custom] (自訂)。
- 在「New subnet」(新的子網路) 區段中,輸入以下資訊:
- Name (名稱):LB_SUBNET_NAME
- Region (區域):REGION
- IP address range (IP 位址範圍):LB_SUBNET_RANGE
- 按一下 [完成]。
- 點選「建立」。
gcloud
使用
gcloud compute networks create
指令建立自訂虛擬私有雲網路:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
在 LB_NETWORK 網路中建立子網路。
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=LB_NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
設定僅限 Proxy 的子網路
REGION 區域內所有區域 Envoy 型負載平衡器都會使用這個 Proxy 專用子網路。
主控台
- 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
前往「VPC networks」(虛擬私有雲網路) - 從清單中選取「網路」。
- 按一下 [新增子網路]。
- 輸入「名稱」:PROXY_ONLY_SUBNET_NAME。
- 選取「Region」(區域):REGION。
- 將「用途」設為「區域受管理 Proxy」。
- 輸入「IP address range」(IP 位址範圍):PROXY_ONLY_SUBNET_RANGE。
- 按一下「新增」。
gcloud
使用 gcloud compute networks subnets
create
指令,建立僅限 Proxy 的子網路。
gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=LB_NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
設定 Cloud NAT 閘道
設定 Cloud NAT 閘道前,請務必詳閱相關限制和定價考量。詳情請參閱「區域 NEG:使用 Cloud NAT 閘道」。下列指令說明如何設定 Cloud NAT 閘道。Cloud NAT 閘道可設定為使用自動 NAT 外部 IP 位址 (分配方式是根據需求),或使用手動預先保留的外部 IP 位址組合。閘道會將僅限 Proxy 的子網路範圍對應至外部 IP 位址。
設定自動 NAT 分配 IP 位址
建立 Cloud NAT 閘道時,如果要使用自動 NAT IP 位址分配功能,您可以指定 Cloud NAT 閘道分配 IP 位址的網路服務級別 (進階級或標準級)。
主控台
前往 Google Cloud 控制台的「Cloud NAT」頁面。
按一下「開始使用」或「建立 Cloud NAT 閘道」。
輸入閘道名稱 LB_NAT_CONFIG。
在「NAT 類型」中,選取「Public」。
在「Network」(網路) 清單中選取「LB_NETWORK」。
在「Region」(區域) 清單中選取「REGION」。
在該地區建立 Cloud Router。
在「Source endpoint type」中,選取「Managed proxy load balancers」。
在「Source」(來源) 清單中,選取「Custom」(自訂)。
- 在「子網路」中,選取 PROXY_ONLY_SUBNET_NAME。
在「Cloud NAT IP 位址」清單中,選取「自動 (建議)」。
在「Network service tier」(網路服務級別) 部分,選擇「Premium」(進階級) 或「Standard」(標準)。
點選「建立」。
gcloud
如果外部後端環境不需要您將可將流量傳送至外部後端的特定 IP 位址加入許可清單,請使用動態分配的 IP 位址。 Google Cloud
建立 Cloud Router:
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
設定 Cloud NAT 閘道。
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --auto-allocate-nat-external-ips \ --region=REGION
更改下列內容:
LB_NAT_CONFIG
:NAT 設定的名稱。ROUTER_NAME
:Cloud Router 的名稱。REGION
:要建立的 NAT 區域。如果未指定,系統可能會提示您選取區域 (僅限互動模式)。PROXY_ONLY_SUBNET_NAME
:僅限 Proxy 子網路的名稱。
設定手動分配的 IP 位址
只有在外部後端環境要求您為特定 Google Cloud IP 位址使用許可清單時,才使用手動指派的 IP 位址。如果外部後端環境不需要許可清單,請改用動態分配功能,如上文所述。
建立 Cloud NAT 閘道時,您可以選擇手動指派 NAT IP 位址 (取決於特定條件),並從進階級別或標準級別指派。
主控台
前往 Google Cloud 控制台的「Cloud NAT」頁面。
按一下「開始使用」或「建立 Cloud NAT 閘道」。
輸入閘道名稱 LB_NAT_CONFIG。
在「Network」(網路) 清單中選取「LB_NETWORK」。
在「Region」(區域) 清單中選取「REGION」。
選取或建立該區域的 Cloud Router。
在「Source endpoint type」中,選取「Managed proxy load balancers」。
在「Source」(來源) 清單中,選取「Custom」(自訂)。
- 在「子網路」中,選取 PROXY_ONLY_SUBNET_NAME。
在「Cloud NAT IP 位址」清單中,選取「手動」。
在「Network service tier」(網路服務級別) 部分,選擇「Premium」(進階級) 或「Standard」(標準)。
選取或建立要用於 NAT 的靜態預留外部 IP 位址。
如要指定其他 IP 位址,請按一下「Add IP address」(新增 IP 位址),然後選取或建立其他靜態保留外部 IP 位址。
點選「建立」。
gcloud
建立 IP 位址。由於閘道會執行一對一的 NAT 轉譯,因此您必須確保保留的 IP 位址集區足夠大,才能處理預期的流量量。如果分配的 NAT IP 位址數量不足,可能會導致流量流失。
gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \ --region=REGION
建立 Cloud Router:
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
設定 Cloud NAT 閘道。
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \ --region=REGION
更改下列內容:
LB_NAT_CONFIG
:NAT 設定的名稱。ROUTER_NAME
:Cloud Router 的名稱。PROXY_ONLY_SUBNET_NAME
:僅限 Proxy 子網路的名稱。REGION
:要建立的 NAT 區域。如果未指定,系統可能會提示您選取區域 (僅限互動模式)。
設定動態通訊埠分配
更新 Cloud NAT 閘道,以便使用動態通訊埠分配模式,充分運用已指派的 IP 位址。
gcloud
更新 Cloud NAT 閘道。建議您將通訊埠數量下限設為 2048,上限設為 4096。
gcloud compute routers nats update LB_NAT_CONFIG \ --router=ROUTER_NAME \ --enable-dynamic-port-allocation \ --min-ports-per-vm=MIN_PORTS_PER_VM \ --max-ports-per-vm=MAX_PORTS_PER_VM \ --region=REGION
確認已啟用動態通訊埠分配功能,且已設定通訊埠的最低和最高數量。
gcloud compute routers nats describe LB_NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION
輸出結果會與下列內容相似:
enableDynamicPortAllocation: true enableEndpointIndependentMapping: false endpointTypes: ‐ ENDPOINT_TYPE_MANAGED_PROXY_LB logConfig: enable: true filter: ALL maxPortsPerVm: 4096 minPortsPerVm: 2048 name: LB_NAT_CONFIG natIpAllocateOption: MANUAL_ONLY natIps: ‐ https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES type: PUBLIC
詳情請參閱 Cloud NAT 說明文件中的「指定 NAT 的子網路範圍」。
請務必為外部後端環境的 NAT IP 位址範圍使用許可清單,以便外部後端接收來自 Google Cloud的流量。
保留負載平衡器的 IP 位址
為負載平衡器保留內部 IP 位址。
主控台
您可以使用Google Cloud 主控台保留獨立的內部 IP 位址。
- 前往「VPC networks」(VPC 網路) 頁面。
- 按一下用於設定環境之間混合式連線的網路。
- 按一下「Static internal IP addresses」(靜態內部 IP 位址),然後點選「Reserve static address」(預留靜態位址)。
- 輸入「名稱」:LB_IP_ADDRESS。
- 在「子網路」中,選取 LB_SUBNET_NAME。
- 如要指定要保留的 IP 位址,請在「Static IP address」(靜態 IP 位址) 下方選取「Let me choose」(自行選擇),然後填入「Custom IP address」(自訂 IP 位址)。否則,系統會自動在子網路中指派 IP 位址。
- 如果您想將這個 IP 位址用於多個轉送規則,請在「用途」下方選擇「共用」。
- 按一下「預訂」,即可完成程序。
gcloud
使用 gcloud CLI 執行
compute addresses create
指令:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME
使用
compute addresses describe
指令查看已分配的 IP 位址:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
設定網際網路 NEG
您可以使用 INTERNET_FQDN_PORT
端點或 INTERNET_IP_PORT
端點建立網際網路 NEG。
主控台
建立含有 INTERNET_FQDN_PORT
端點的 NEG
在 Google Cloud 控制台中,前往「Network endpoint group」(網路端點群組) 頁面。
按一下「建立網路端點群組」。
為網際網路 NEG 指定 INTERNET_NEG_NAME。詳情請參閱「資源命名慣例」。
在「網路端點群組類型」清單中,選取「網路端點群組 (網際網路)」,然後執行下列操作:
- 在「範圍」清單中選取「區域」。
- 選用步驟:在「Region」清單中,變更此 NEG 的 REGION。
- 在「Network」(網路) 清單中選取「LB_NETWORK」。
- 在「Default port」方塊中輸入 DEFAULT_PORT_NUMBER。
- 在「透過」清單中,選取「完整網域名稱與通訊埠」。
- 選取 [Create] (建立)。
將 INTERNET_FQDN_PORT
端點新增至 NEG
在 Google Cloud 控制台中,前往「Network endpoint group」(網路端點群組) 頁面。
- 按一下「INTERNET_NEG_NAME」。
請輸入完整網域名稱,例如
myorg.example.com
。您必須使用標準 FQDN 語法指定 FQDN 物件。選用:在「Port type」(通訊埠類型) 中,選取「Custom」(自訂)。如果「通訊埠類型」為
Default
,系統會使用 NEG 的預設通訊埠。- 在「Port number」(通訊埠編號) 方塊中輸入 PORT_NUMBER_1。
- 選取 [Create] (建立)。
建立含有 INTERNET_IP_PORT
端點的 NEG
在 Google Cloud 控制台中,前往「Network endpoint group」(網路端點群組) 頁面。
按一下「建立網路端點群組」。
指定網路 NEG 的名稱 INTERNET_NEG_NAME。詳情請參閱「資源命名慣例」。
在「網路端點群組類型」清單中,選取「網路端點群組 (網際網路)」,然後執行下列操作:
- 在「範圍」清單中選取「區域」。
- 選用步驟:在「Region」清單中,變更此 NEG 的 REGION。
- 在「Network」(網路) 清單中選取「LB_NETWORK」。
- 在「Default port」方塊中輸入 DEFAULT_PORT_NUMBER。
- 在「Add endpoints through」清單中,選取「IP 和通訊埠」。
- 選取 [Create] (建立)。
將 INTERNET_IP_PORT
端點新增至 NEG
在 Google Cloud 控制台中,前往「Network endpoint group」(網路端點群組) 頁面。
- 按一下「INTERNET_NEG_NAME」。
- 在「IP 位址」欄位中輸入 IP_ADDRESS_1。
選用:在「Port type」清單中,選取「Custom」。如果「通訊埠類型」為
Default
,系統會使用 NEG 的預設通訊埠。- 在「Port number」(通訊埠編號) 欄位中輸入 PORT_NUMBER_1。
- 選取 [Create] (建立)。
gcloud
如要建立含有 INTERNET_FQDN_PORT
端點的 NEG,請按照下列步驟操作:
建立 NEG 資源。
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_FQDN_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
將端點新增至 NEG。如果未指定通訊埠,系統會使用 NEG 的預設通訊埠。
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \ [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \] --region=REGION
更改下列內容:
FULLY_QUALIFIED_DOMAIN_NAME
:端點的完整網域名稱PORT_NUMBER
:端點的通訊埠號碼
每個 NEG 最多可新增 256 個端點。
如果網域可透過網際網路解析,則不需要其他設定即可設定 DNS。不過,如果您使用私人 FQDN,就必須設定 Cloud DNS,以利 DNS 解析。名稱必須託管在 Cloud DNS 上,或是可透過 DNS 轉送從 Cloud DNS 解析至內部部署 DNS。
請先建立 Cloud DNS 區域,以便在專案中代管 DNS 記錄。然後新增 DNS 記錄。如需具體設定步驟,請參閱 Cloud DNS 說明文件。
如要建立含有 INTERNET_IP_PORT
端點的 NEG,請按照下列步驟操作:
建立 NEG 資源。
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_IP_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
將端點新增至 NEG。如果未指定通訊埠,系統會使用 NEG 的預設通訊埠。
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \ [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \] --region=REGION
更改下列內容:
IP_ADDRESS
:端點的 IP 位址PORT_NUMBER
:端點的通訊埠號碼
您可以重複執行這個步驟,最多可為每個 NEG 新增 256 個端點。
建立負載平衡器
主控台
開始設定
前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。
- 點選「建立負載平衡器」。
- 在「Type of load balancer」(負載平衡器類型)部分,選取「Application Load Balancer (HTTP/HTTPS)」(應用程式負載平衡器 (HTTP/HTTPS)),然後點選「Next」(下一步)。
- 在「公開或內部」部分,選取「內部」,然後點選「下一步」。
- 在「跨區域或單一區域部署」部分,選取「最適合區域工作負載」,然後點選「Next」。
- 按一下 [設定]。
基本設定
- 輸入「負載平衡器名稱」。
- 在「Region」(區域) 中選取 REGION。
- 在「Network」(網路) 中選取 LB_NETWORK。
保留僅限 Proxy 子網路
如要保留僅限 Proxy 的子網路,請按照下列步驟操作:
- 按一下「保留子網路」。
- 在「Name」(名稱) 中輸入 PROXY_ONLY_SUBNET_NAME。
- 在「IP address range」(IP 位址範圍) 中,輸入 PROXY_ONLY_SUBNET_RANGE。
- 按一下「新增」。
前端設定
- 按一下「前端設定」。
- 輸入名稱。
- 在「Subnetwork」(子網路) 中,選取 LB_SUBNET_NAME。
如要建立 HTTPS 負載平衡器,您必須具備 SSL 憑證。建議使用 Google 代管的憑證。
屬性 值 (輸入值或選取指定的選項) 通訊協定 HTTPS IP 版本 IPv4 IP 位址 選取先前保留的 IP 位址:LB_IP_ADDRESS。 通訊埠 443 憑證 選取現有的 SSL 憑證或建立新的憑證。
如要建立 HTTPS 負載平衡器,您必須具備要在 HTTPS Proxy 中使用的 SSL 憑證資源。
如果您想在不設定 SSL 憑證資源 (或 Google 代管憑證所需的網域) 的情況下測試這個程序,可以設定 HTTP 負載平衡器。
如要建立 HTTP 負載平衡器,請確認下列選項已設為指定的值:
屬性 值 (輸入值或選取指定的選項) 通訊協定 HTTP IP 版本 IPv4 IP 位址 選取先前保留的 IP 位址:LB_IP_ADDRESS。 通訊埠 80 按一下 [完成]。
後端設定
- 按一下「後端設定」。
- 按一下「後端服務和後端值區」。
- 按一下「建立後端服務」。
- 輸入名稱。
- 在「Backend type」部分,選取「Internet network endpoint group」。
- 在「Protocol」部分,選取從負載平衡器到網際網路 NEG 的通訊協定。
- 針對「後端」,請在「New backend」視窗中選取上一個步驟建立的「Regional internet network endpoint group」。
- 按一下 [完成]。
- 設定健康狀態檢查:
- 在「健康狀態檢查」部分,選取「建立健康狀態檢查」。
- 將健康狀態檢查名稱設為 HTTP_HEALTH_CHECK_NAME。
- 在「通訊協定」部分選取「HTTP」。
- 將「Port」(通訊埠) 設為
80
。
- 點選「建立」。
檢查並完成
- 按一下「檢查並完成」。
- 如果沒有任何問題,請按一下「建立」。
gcloud
- 選用:建立健康狀態檢查。外部後端的健康狀態檢查探測會使用分散式 Envoy 健康狀態檢查,並在之後進行 NAT 轉譯。
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- 建立後端服務:
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- 將網際網路 NEG 新增至後端服務:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
- 建立網址對應,將連入的要求轉送至後端服務:
gcloud compute url-maps create URL_MAP_NAME \ --default-service=BACKEND_SERVICE \ --region=REGION
-
選用步驟:如果您在用戶端和負載平衡器之間使用 HTTPS,請執行這個步驟。HTTP 負載平衡器不需要執行這個步驟。
您可以建立 Compute Engine 或憑證管理工具憑證。請使用下列任一方法,透過憑證管理工具建立憑證:
- 區域性自行管理憑證。如要進一步瞭解如何建立及使用區域性自行管理憑證,請參閱「部署區域性自行管理憑證」一文。不支援憑證對應。
區域性 Google 代管憑證。不支援憑證對應。
Certificate Manager 支援下列類型的區域性 Google 代管憑證:
- 區域性 Google 代管憑證,並具備個別專案 DNS 授權。詳情請參閱「部署區域性 Google 代管憑證」。
- 區域性 Google 代管 (私人) 憑證 (搭配憑證授權單位服務)。 詳情請參閱「透過 CA 服務部署區域性 Google 代管憑證」。
建立憑證後,請直接將憑證附加至目標 Proxy。
建立 Compute Engine 自行管理的 SSL 憑證資源:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
-
建立目標 HTTP(S) Proxy,將要求轉送至您的網址對應。
針對 HTTP 負載平衡器,請建立 HTTP 目標 Proxy:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --region=REGION
針對 HTTPS 負載平衡器,請建立 HTTPS 目標 Proxy。Proxy 是負載平衡器的一部分,用於保存 HTTPS 負載平衡的安全資料傳輸層 (SSL) 憑證,因此您還可以在此步驟中載入憑證。
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --region=REGION
-
建立轉送規則,將傳入要求轉送至 Proxy。
針對 HTTP 負載平衡器:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION \ --region=REGION \ --ports=80
針對 HTTPS 負載平衡器:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION \ --region=REGION \ --ports=443
將網域連結至負載平衡器
建立負載平衡器後,請記下與負載平衡器相關聯的 IP 位址,例如 30.90.80.100
。如要將網域指向負載平衡器,請使用網域註冊服務建立 A
記錄。如果您在 SSL 憑證中新增了多個網域,則必須為每個網域新增 A
記錄,並全部指向負載平衡器的 IP 位址。舉例來說,如要為 www.example.com
和 example.com
建立 A
記錄,請使用以下方法:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
如果您使用 Cloud DNS 做為 DNS 供應商,請參閱「新增、修改及刪除記錄」。
測試負載平衡器
負載平衡器已設定完成,您可以開始將流量傳送至負載平衡器的 IP 位址。
建立用戶端 VM
這個範例會在與負載平衡器相同的地區中建立用戶端 VM (vm-client
)。該用戶端用於驗證負載平衡器的設定,以及示範預期行為。
gcloud
用戶端 VM 可以位於與負載平衡器相同 REGION 的任何區域中,也可以使用相同 VPC 網路中的任何子網路。
gcloud compute instances create vm-client \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --zone=ZONE
將流量傳送至負載平衡器
首次部署負載平衡器後,可能需要幾分鐘的時間才能完成設定。
使用 SSH 連線至用戶端執行個體。
gcloud compute ssh vm-client \ --zone=ZONE
確認負載平衡器是否如預期連線至您在外部後端執行的應用程式。
如要進行 HTTP 測試,請執行:
curl IP_ADDRESS
如要測試 HTTPS,請執行:
curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
將 TEST_DOMAIN_URL 替換為與應用程式相關聯的網域。例如:
test.example.com
。-k
標記會讓 curl 略過憑證驗證。
額外設定
本節會延伸說明設定範例,並提供替代和其他設定選項。所有工作都是選填項目。您可以按任何順序執行這些工作。
如要為區域內部應用程式負載平衡器啟用更多功能 (例如全域存取權,如果您的用戶端位於其他區域),請參閱「使用 VM 執行個體群組後端設定內部應用程式負載平衡器:其他設定」。使用自訂標頭驗證要求
如要驗證傳送至外部後端的要求,您可以設定自訂標頭,指出要求來自 Google Cloud 負載平衡器。您還需要設定外部後端,讓後端預期來自 Google Cloud的流量會帶有這個自訂標頭。
如要瞭解如何設定自訂標頭,請參閱「設定進階流量管理」一文。如需其他驗證方法,請參閱「驗證外部後端的要求」。
更新用戶端 HTTP 保持運作逾時時間
在先前步驟中建立的負載平衡器已設定 用戶端 HTTP keepalive 逾時 的預設值。如要更新用戶端 HTTP keepalive 逾時值,請按照下列操作說明操作。
控制台
前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。
- 按一下要修改的負載平衡器名稱。
- 按一下「編輯」圖示 。
- 按一下「前端設定」。
- 展開「進階功能」。在「HTTP 保持運作逾時」中,輸入逾時值。
- 按一下「更新」。
- 如要查看變更內容,請依序按一下「Review and finalize」和「Update」。
gcloud
對於 HTTP 負載平衡器,請使用 gcloud compute target-http-proxies update
指令更新目標 HTTP Proxy。
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region=REGION
針對 HTTPS 負載平衡器,請使用 gcloud compute target-https-proxies update
指令更新目標 HTTPS Proxy。
gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region REGION
更改下列內容:
TARGET_HTTP_PROXY_NAME
:目標 HTTP Proxy 的名稱。TARGET_HTTPS_PROXY_NAME
:目標 HTTPS Proxy 的名稱。HTTP_KEEP_ALIVE_TIMEOUT_SEC
:HTTP 保持運作逾時值,介於 5 到 600 秒。