本教學課程說明如何使用 Private Service Connect,讓其他虛擬私有雲網路存取負載平衡服務。
根據預設,您在上一個教學課程中建立的內部直通式網路負載平衡器,只能在本身的虛擬私有雲網路中使用。透過 Private Service Connect 發布服務後,其他虛擬私有雲網路中的資源就能存取該服務。
本教學課程的適用對象為雲端架構師、網路架構師、網路管理員和 IT 管理員。
目標
- 建立已發布的服務
- 為已發布的服務流量建立防火牆規則
- 取得服務連結 URI
費用
在本文件中,您會使用下列 Google Cloud的計費元件:
您可以使用 Pricing Calculator,根據預測用量估算費用。
完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」。
事前準備
- 完成上一個教學課程「建立負載平衡服務」中的步驟。
- 選取您在先前的教學課程中選取或建立的服務生產者專案 (
PRODUCER_PROJECT)。請使用這個專案完成本教學課程的步驟。
建立已發布的服務
如要讓其他虛擬私有雲網路使用這項服務,請發布服務。如要發布服務,請在與負載平衡器相同的網路和區域中建立下列資源:
- Private Service Connect 子網路,可為供應商和消費者網路之間的網路位址轉譯 (NAT) 提供 IP 位址。
- 服務連結。
您可以按照這些操作說明,建立可從任何專案存取的已發布服務。在實際運作環境中,您可能會選擇限制哪些網路或專案可以存取服務。
控制台
前往 Google Cloud 控制台的「Private Service Connect」頁面。
按一下「已發布的服務」分頁標籤。
按一下「發布服務」。
在「目標詳細資料」部分中,選取「負載平衡器」。
選取「內部直通式網路負載平衡器」
選取您建立的內部負載平衡器
service-lb。在「Service name」(服務名稱) 中輸入
published-service。為 NAT 建立 Private Service Connect 子網路:
- 依序點選「子網路」和「保留新的子網路」。
- 在「Name」(名稱) 中輸入
nat-subnet。 - 在「Region」(區域) 中選取
REGION。 - 在「IPv4 range」(IPv4 範圍) 中,輸入
10.10.20.0/22。 - 按一下「新增」。
在「連線偏好設定」部分,選取「自動接受所有連線」。
按一下「新增服務」。
gcloud
使用
gcloud compute networks subnets create指令建立 Private Service Connect 子網路。gcloud compute networks subnets create nat-subnet \ --network=service-network \ --region=REGION \ --range=10.10.20.0/22 \ --purpose=PRIVATE_SERVICE_CONNECT
如要發布服務,請使用
gcloud compute service-attachments create指令。gcloud compute service-attachments create published-service \ --region=REGION \ --target-service=projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/service-rule \ --connection-preference=ACCEPT_AUTOMATIC \ --nat-subnets=nat-subnet
更改下列內容:
PRODUCER_PROJECT:生產者專案的 ID。REGION:服務附件的區域。這必須與目標轉送規則的 IP 位址位於相同區域。
為已發布的服務流量建立防火牆規則
建立防火牆規則,允許流量從 Private Service Connect NAT 子網路傳入負載平衡器的後端 VM。
控制台
前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。
如要允許 Private Service Connect NAT 子網路的流量傳送至負載平衡器的後端 VM,請按一下「建立防火牆規則」,並使用下列設定:
- 在「Name」(名稱) 中輸入
fw-allow-nat。 - 在「Network」(網路) 中選取
service-network。 - 在「Priority」(優先順序) 中輸入
1000。 - 在「Direction of traffic」(流量方向) 中選取 [Ingress] (輸入)。
- 在「Action on match」(相符時執行的動作) 中選取 [Allow] (允許)。
- 在「Targets」(目標) 中選取 Specified target tags。
- 在「Target tags」(目標標記) 中輸入
allow-nat。 - 在「Source filter」(來源篩選器) 中選取「IPv4 ranges」(IPv4 範圍)。
- 在「Source IPv4 ranges」(來源 IPv4 範圍) 中輸入
10.10.20.0/22。 - 在「Protocols and ports」(通訊協定和通訊埠) 中選取「Allow all」(全部允許)。
- 在「Name」(名稱) 中輸入
點選「建立」。
gcloud
建立
fw-allow-nat防火牆規則,允許從 Private Service Connect NAT 子網路與 VM 後端通訊:gcloud compute firewall-rules create fw-allow-nat \ --network=service-network \ --action=allow \ --direction=ingress \ --source-ranges=10.10.20.0/22 \ --rules=tcp,udp,icmp
取得服務連結 URI
您會在下一個教學課程「從其他虛擬私有雲網路存取服務」中,使用服務連結 URI 設定端點。
控制台
前往 Google Cloud 控制台的「Private Service Connect」頁面。
按一下「已發布的服務」分頁標籤。
按一下要查看的服務。
「服務連結」欄位含有服務連結 URI。
gcloud
使用
gcloud compute service-attachments describe指令查看已發布服務的詳細資料。selfLink欄位包含服務連結 URI。gcloud compute service-attachments describe \ published-service --region=REGION將
REGION替換為包含服務附件的區域。