如要設定私人網路存取權,使流量在 Google Cloud 網路中執行,您必須設定擁有 VPC 網路的專案、Service Directory 專案,以及您擁有的 Google Cloud 服務專案。這三項專案可以相同或獨立。
- 網路專案是虛擬私人雲端網路的專案。
- 「Service Directory 專案」是 Service Directory 服務的專案。這個專案可能是網路專案的共用虛擬私人雲端網路中的服務專案。
- Google Cloud 服務專案是叫用私人網路存取權的專案。例如 Google Cloud 服務設定。
事前準備
本程序假設您已完成以下步驟。
- 啟用 API您想要透過 Ad Exchange 介面的API 和服務頁面包括 Service Directory API。
- 虛擬私人雲端網路中的 VM 執行個體必須具有私人 IP 位址。
- 針對內部部署主機,您必須具備現有的 Cloud VPN 通道或 Cloud Interconnect 連線。
設定網路專案
請按照下列步驟設定網路專案。
- 建立或使用現有虛擬私人雲端網路。自動和自訂模式的虛擬私人雲端網路都支援私人 Google 存取權。但舊版網路則不受支援。
如果目的地目標為 Compute Engine VM 或內部負載平衡器後端,則您必須透過虛擬私人雲端防火牆進行私人存取權,才能存取私人網路。目標必須允許在適當的通訊埠 (通訊埠
443
或80
) 上從35.199.192.0/19
建立 TCP 輸入。授予 Google Cloud 服務專案的身分與存取權管理 (IAM) 服務目錄網路存取權。請注意,Google Cloud 專案必須位於 Google Cloud 服務與 Service Directory 專案的
servicedirectory.googleapis.com
Service Controls 範圍內。如要進一步瞭解 VPC Service Controls,請參閱 VPC Service Controls 總覽。
設定 Service Directory 專案
請按照下列步驟設定 Service Directory 專案。
- 在虛擬私人雲端網路中建立虛擬機器 (VM) 或內部負載平衡器。
- 建立 Service Directory 服務,並指向您在虛擬私人雲端網路中建立的 VM 或內部負載平衡器。
- 授予 IAM 服務目錄網路的存取權限給 Google Cloud 服務帳戶。如要進一步瞭解角色和權限,請參閱服務目錄權限和角色一文。
建立具有私人網路存取權的端點
如要建立已設定私人網路存取權的端點,請按照下列步驟操作:
主控台
- 前往 Google Cloud Console 的 Service Directory 命名空間頁面。
前往 Service Directory 命名空間頁面 - 按一下命名空間。
- 按一下所需服務。
- 按一下 more_vert,然後按一下 [Add endpoint] (新增端點)。
- 提供「Endpoint name」(端點名稱)。
- 輸入 IPv4 IP 位址,例如
192.0.2.0/24
。 - 輸入「Port」(通訊埠編號) 號碼,例如
443
或80
。 - 如要啟用私人網路存取權,請按一下 [Choose from list] (從清單中),然後從「Associated VPC network」(相關聯虛擬私人雲端網路) 下的可用網路清單中選擇。
- 您也可以選擇 [Specify by project and network name] (依專案與網路名稱指定),提供特定的專案 ID 和網路名稱。
- 按一下 [建立]。
gcloud
使用指定專案 ID 和網路路徑來執行 gcloud beta service-directory endpoints create
指令。
gcloud beta service-directory endpoints create ENDPOINT_NAME --project=PROJECT_ID \ --location=REGION \ --namespace=NAMESPACE_NAME \ --service=SERVICE_ID \ --address=IP_ADDRESS \ --port=PORT_NUMBER \ --network=NETWORK_PATH
更改下列內容:
ENDPOINT_NAME
:在服務中建立的端點名稱,例如my-endpoint
PROJECT_ID
:專案的 IDREGION
:包含命名空間的 Google Cloud 地區NAMESPACE_NAME
:您為命名空間提供的名稱,例如my-namespace
SERVICE_ID
:服務的 IDIP_ADDRESS
:端點的 IP 位址,例如192.0.2.0/24
PORT_NUMBER
:執行端點所在的通訊埠,通常是443
或80
NETWORK_PATH
:網路的網址,例如projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME
設定 Google Cloud 服務專案
- 啟用 Google Cloud 服務 API。
- 使用您在網路專案中建立的服務目錄服務來設定 Google Cloud 服務。
- 如果您使用的是 VPC Service Controls,請確保 VPC Service Controls 允許 Service Directory 存取網路專案和 Service Directory 專案。
用途
本節提供設定私人網路存取權的範例用途。
當虛擬私人雲端網路、VM 和服務目錄位於同一個專案時,呼叫 HTTP 端點
您可以設定 Google Cloud 產品,藉此呼叫 VM 上的 HTTP 端點。此流量不得透過公開網際網路傳輸。
在這項配置中,您會有一個專案在虛擬私人雲端網路中擁有虛擬私人雲端網路、VM、Service Directory 服務,以及 Google Cloud 服務。
如要使用私人網路存取權設定 Google Cloud 產品,請按照以下步驟操作。
設定網路和目標網路
- 建立專案,例如
my-project
。 - 建立虛擬私人雲端網路,例如
VPC-1
(projects/project-number/locations/global/networks/my-network)。 - 授予 Proxy 對輸入
VPC-1
或子網路或 VM 的 Proxy 存取權。 - 允許來自
35.199.192.0/19
的輸入。 - 在
VPC-1
中的us-central1
地區建立VM-1
。 - 將其設定為在通訊埠
P
執行服務。 - 如果您偏好使用 HTTPS,請確認您已安裝公用金鑰基礎架構 (PKI) 傳輸層安全性 (TLS) 憑證。
- 在
REGION-1
中建立 Service Directory 服務SD-1
。 - 在以下位置建立端點:
SD-1
內部 IP 位址為VM-1
=鍵10.10.10.10
、P
=鍵443
和network
=鍵projects/project-number/global/networks/my-network
。 如需詳細操作說明,請參閱建立具有私人網路存取權的端點,才能使用 Android 手機或平板電腦尋找另一部裝置。 將下列身分與存取權管理角色授予 Google Cloud 服務帳戶:
servicedirectory.viewer
servicedirectory.pscAuthorizedService
您可以視需要設定
VM-2
,並新增Endpoint-2
。
設定 Google Cloud 產品
- 進行 Google Cloud 產品設定
CONFIG-1
,例如「Cloud Scheduler, minute per minute」。 - 設定 HTTP 要求。
- 用於指定要求是否要透過私人網路 (例如,透過
SD-1
) 傳送。 - (選用) 指定憑證授權單位服務設定。
現在,Google Cloud 產品可以使用 SD-1
叫用 HTTP 要求。
當虛擬私人雲端網路、VM 和 Service Directory 位於不同專案中時呼叫 HTTP 端點
在這個範例中,您會想要設定 Google Cloud 服務 (例如活動、工作或 Pub/Sub),以便在 VM 上呼叫 HTTP 端點。在這個範例中,Service Directory 專案、網路專案與 Google Cloud 服務專案並不相同。此流量不得透過公開網際網路傳輸。選用這個 API 叫用時,必須遵循 VPC Service Controls 範圍。
在此情況下,Google Cloud 服務專案的設定允許輸出至位於網路專案的虛擬私人雲端網路中的 Google Cloud 服務專案 VM。
Google Cloud 服務專案可能與生產端專案不同。這兩個專案的 VPC Service Controls 範圍皆可供使用。
建立網路專案
確認您已擁有下列 IAM 權限:
- 「
servicedirectory.services.resolve
」的訊息服務 - 網路的
servicedirectory.networks.access
則
注意事項:
- Service Directory 專案和網路專案不需要連線,但這些專案必須屬於同一個 VPC Service Controls。
- 防火牆與服務的防火牆和身分與存取權管理預設預設為停用。
如要建立網路專案,請按照下列步驟操作。
- 建立虛擬私人雲端網路,例如
VPC-1
(projects/project-number/locations/global/networks/my-network)。 啟用 VPC 網路防火牆。
使用 VPC Service Controls 時,VPC Service Controls 可讓 Service Directory 連線至 Google Cloud 服務專案和 Service Directory 專案。
設定 Service Directory 專案
- 在虛擬私人雲端網路中建立 VM 或內部負載平衡器。
- 建立指向 VPC 網路中 VM 或內部負載平衡器的 Service Directory 服務。
- 將 IAM 服務
service read
的存取權授予 Google Cloud 服務專案訊息傳遞服務。 - 使用 VPC Service Controls 時,VPC Service Controls 可讓 Service Directory 連線至 Google Cloud 服務專案和 Service Directory 專案。
設定 Google Cloud 服務專案
- 針對您使用的通訊服務啟用 API。
- 使用 Service Directory 專案中的 Service Directory 服務設定訊息傳遞服務
PUSH
。 - 使用 VPC Service Controls 時,VPC Service Controls 可讓 Service Directory 連線至網路專案和 Service Directory 專案。
後續步驟
- 設定 Service Directory 端點。
- 如需 Service Directory 的總覽,請參閱 Service Directory 總覽。
- 如要進一步瞭解私人服務連線,請參閱私人服務連線一文。
- 如要查看使用 Service Directory 時可能遇到的常見問題,請參閱疑難排解一文。