關於透過端點存取已發布的服務
本文概述如何使用 Private Service Connect 端點,連線至其他虛擬私有雲網路中的服務。您可以連線至自有服務,或連線至其他服務供應商 (包括 Google) 提供的服務。
用戶端會使用內部 IP 位址連線至端點。Private Service Connect 會執行網路位址轉譯 (NAT),將要求轉送至服務。
如要進一步瞭解已發布的服務,請參閱「關於已發布的服務」。
功能和相容性
在下表中,勾號表示支援該功能,沒有符號則表示不支援。
消費者設定
下表摘要列出端點的支援設定選項和功能,這些端點會存取已發布的服務。
| 目標製作人 | 消費者設定 (端點) | ||||||
|---|---|---|---|---|---|---|---|
| 全球消費者存取權 | 混合存取權 | 自動設定 DNS (僅限 IPv4) |
虛擬私有雲網路對等互連存取權 | NCC 連線傳播 (僅限 IPv4) | IPv4 端點支援的目標服務 | IPv6 端點支援的目標服務 | |
| 跨區域內部應用程式負載平衡器 |
|
|
|||||
| 內部直通式網路負載平衡器 | 只有在負載平衡器啟用全域存取權時 (已知問題) |
|
|
||||
| 內部通訊協定轉送 (目標執行個體) | 只有在供應商轉送規則啟用全域存取權時 (已知問題) |
|
|
||||
| 通訊埠對應服務 | 只有在生產端轉送規則啟用全域存取權時,才能執行這項操作 |
|
|
||||
| 區域性內部應用程式負載平衡器 | 只有在建立服務連結前,先在負載平衡器上啟用全域存取權時,才能使用這項功能 |
|
|
||||
| 區域性內部 Proxy 網路負載平衡器 | 只有在建立服務連結前,先在負載平衡器上啟用全域存取權時,才能使用這項功能 |
|
|
||||
| Secure Web Proxy |
|
|
|||||
製作人設定
下表列出端點存取的已發布服務支援的設定選項和功能。
| 製作人類型 | 生產端設定 (已發布的服務) | |||
|---|---|---|---|---|
| 支援的製作人後端 | PROXY 通訊協定 (僅限 TCP 流量) | IP 版本 | ||
| 跨區域內部應用程式負載平衡器 |
|
|
||
| 內部直通式網路負載平衡器 |
|
|
||
| 內部通訊協定轉送 (目標執行個體) |
|
|
||
| 通訊埠對應服務 |
|
|
||
| 區域性內部應用程式負載平衡器 |
|
|
||
| 區域性內部 Proxy 網路負載平衡器 |
|
|
||
| Secure Web Proxy |
|
|
||
不同的負載平衡器支援不同的通訊埠設定;部分負載平衡器支援單一通訊埠,部分支援一系列通訊埠,部分則支援所有通訊埠。詳情請參閱「通訊埠規格」。
限制
存取已發布服務的端點有以下限制:
您無法在與要存取的已發布服務相同的虛擬私有雲網路中建立端點。
Packet Mirroring無法鏡像處理 Private Service Connect 已發布服務的流量封包。
Private Service Connect 不支援所有以負載平衡器為下一個躍點的靜態路徑。詳情請參閱「靜態路徑與負載平衡器下一個躍點」。
Connectivity Tests 無法測試 IPv6 端點與已發布服務之間的連線。
內部部署存取
您可從支援的連線地端部署主機,存取用於存取 Google API 的端點。詳情請參閱「透過混合式網路存取端點」。
規格
- Private Service Connect 端點必須與端點的目標 (已發布的服務) 位於相同區域。
- 端點必須在與目標服務所在的虛擬私有雲網路不同的虛擬私有雲網路中建立。
- 如果您使用 Shared VPC,可以在主專案或服務專案中 建立端點。
- 根據預設,只有與端點位於相同區域和虛擬私有雲網路 (或 Shared VPC 網路) 的用戶端,才能存取端點。如要瞭解如何在其他區域提供端點,請參閱「全球存取權」。
-
指派給端點的 IP 位址必須來自一般子網路。
- 您可以從僅支援 IPv4 的子網路或雙重堆疊子網路使用 IPv4 位址。
- 如果子網路具有內部 IPv6 位址範圍,您可以使用僅支援 IPv6 或雙重堆疊子網路的 IPv6 位址。
- IP 位址的 IP 版本會影響端點可連線的已發布服務。詳情請參閱「 IP 版本轉換」。
- IP 位址會計入專案的靜態內部 IPv4 位址或 靜態內部 IPv6 位址配額。
- 建立端點以連線至服務時,如果服務已設定 DNS 網域名稱,系統會在虛擬私有雲網路中自動為端點建立私人 DNS 項目。
- 每個端點都有專屬的 IP 位址,也可選擇設定專屬的 DNS 名稱。
- 已發布服務後端 (預先發布):您可以設定支援的區域負載平衡器或 Cloud Service Mesh,透過 Private Service Connect 端點將流量路由至已發布服務。
連線狀態
您可以查看 Private Service Connect 端點、後端和服務連結的連線狀態,構成連線兩端的用戶和供應商資源一律會有相同的狀態。
您可以查看端點詳細資料、說明後端,或查看已發布服務的詳細資料,瞭解連線狀態。
下表說明可能的狀態。
| 連線狀態 | 說明 |
|---|---|
| 已接受 | 生產者接受 Private Service Connect 連線,且設定允許連線。不過,這個狀態無法保證流量能透過連線傳送。 |
| 待處理 | 未建立 Private Service Connect 連線,網路流量無法在兩個網路之間傳輸。連線可能因為下列原因而處於這種狀態: 如果連線因上述原因遭到封鎖,就會無限期處於待處理狀態,直到解決根本問題為止。 |
| 已遭拒 | 尚未建立 Private Service Connect 連線。網路流量無法在兩個網路之間傳輸。連線可能因為下列原因而處於這種狀態: |
| 需要處理 | 連線的供應商端發生問題。部分流量或許可以在兩個網路之間傳送,不過某些連線可能無法正常運作。舉例來說,供應商的 NAT 子網路可能已用盡,無法為新的連線分配 IP 位址。 |
| 不開放 | 服務連結遭到刪除,Private Service Connect 連線已關閉。網路流量無法在兩個網路之間傳輸。 連線關閉是終端狀態。如要恢復連線,必須重新建立服務連結和端點或後端。 |
IP 版本翻譯
對於連線至已發布服務 (服務連結) 的 Private Service Connect 端點,消費者轉送規則 IP 位址的 IP 版本會決定端點的 IP 版本,以及從端點傳出的流量。IP 位址可來自「僅限 IPv4」、「僅限 IPv6」或雙重堆疊子網路。端點的 IP 版本可以是 IPv4 或 IPv6,但不能同時使用這兩種版本。
如果是已發布的服務,服務附件的 IP 版本取決於相關聯轉送規則或 Secure Web Proxy 執行個體的 IP 位址。這個 IP 位址必須與服務附件 NAT 子網路的堆疊類型相容。 NAT 子網路可以是僅限 IPv4、僅限 IPv6 或雙重堆疊子網路。 如果 NAT 子網路是雙堆疊子網路,系統會使用 IPv4 或 IPv6 位址範圍,但不會同時使用兩者。
Private Service Connect 不支援將 IPv4 端點連線至 IPv6 服務連結。在這種情況下,端點建立作業會失敗,並顯示下列錯誤訊息:
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
以下是支援的設定組合:
- IPv4 端點到 IPv4 服務附件
- 從 IPv6 端點到 IPv6 服務附件
-
IPv6 端點到 IPv4 服務附件
在此設定中,Private Service Connect 會自動在兩個 IP 版本之間進行轉換。
連線傳播
透過傳播連線,其他連線至相同 Network Connectivity Center 中樞的消費者虛擬私有雲輪輻,即可透過 Private Service Connect 端點,以私密方式存取一個消費者 VPC 輪輻中可存取的服務。
詳情請參閱「關於傳播連線」。
全域存取權
用來存取服務的 Private Service Connect 端點是區域資源。不過,您可以設定全域存取權,讓端點在其他區域也能使用。
啟用全域存取權後,任何區域的資源都能將流量傳送至 Private Service Connect 端點。您可以透過全域存取權,為託管在多個區域的服務提供高可用性,也可以允許用戶端存取與用戶端不在同一區域的服務。
下圖說明不同區域的用戶端存取相同端點的情況:
端點位於
us-west1,且已設定全域存取權。us-west1中的 VM 可以將流量傳送至端點,且流量會留在同一區域。us-east1中的 VM 和地端部署網路中的 VM 也可以連線至us-west1中的端點,即使位於不同區域也沒關係。虛線代表跨區域流量路徑。服務消費者可透過具備全域存取權的 Private Service Connect 端點,將消費者虛擬私有雲網路中的流量傳送至服務供應商的虛擬私有雲網路中的服務。用戶端可以與端點位於相同或不同區域 (按一下即可放大)。
全域存取權規格
您可以隨時為端點開啟或關閉全域存取權。
- 啟用全域存取權不會導致現有連線的流量中斷。
- 關閉全域存取權後,系統會終止來自端點所在區域以外的任何連線。
並非所有 Private Service Connect 服務都支援具有全域存取權的端點。如果將全域存取端點連線至未設定全域存取的服務,流量可能會傳送至不正常的後端並遭到捨棄 (已知問題)。
請洽詢服務供應商,確認其服務是否支援全球存取。詳情請參閱「支援的設定」。
全域存取不會為多個全域存取端點提供單一全域 IP 位址或 DNS 名稱。
已發布的服務後端
如果生產端和消費端虛擬私有雲網路都屬於同一個機構,您可以使用已發布的服務後端存取已發布的服務。
您可以透過已發布服務後端,設定支援的負載平衡器或區域性 Cloud Service Mesh,將流量透過 Private Service Connect 端點轉送至已發布服務。
這種做法有以下優點:
- 統一連線:支援的負載平衡器和區域性 Cloud Service Mesh 可透過相同的 Private Service Connect 端點存取已發布的服務。這樣一來,您就能使用負載平衡器所用的相同端點,擴充 Cloud Service Mesh 應用程式的存取權。
- 網路和服務管理分離:服務擁有者可以參考生產者的服務連結,將負載平衡器或 Cloud Service Mesh 連線至已發布的服務。他們不需要管理或參照特定的 Private Service Connect 端點,這些端點可由網路管理員獨立管理。
- 進階流量管理和安全性:透過消費者負載平衡器存取已發布的服務時,負載平衡器可做為集中式政策強制執行點,強制執行安全性政策 (例如 Google Cloud Armor 政策和 SSL 政策) 或路由政策 (例如 Google Cloud 網址對應)。
- 可觀測性:負載平衡器可提供集中式指標和記錄,這是發布的服務可能無法提供的功能。
如要使用已發布的服務後端,您需要預先建立 Private Service Connect 端點,並連線至要存取的服務;設定已發布的服務後端時,系統不會自動建立端點。
如要將已發布的服務後端與負載平衡器搭配使用,請將負載平衡器的後端服務與服務附件建立關聯。
您未明確將負載平衡器與端點建立關聯。 因此,當用戶端向負載平衡器發送要求時,負載平衡器會透過符合下列條件的 Private Service Connect 端點轉送流量:
- 端點會連線至消費者負載平衡器後端中指定的服務附件。
- 端點的連線狀態為
ACCEPTED。 - 端點與消費者轉送規則位於相同的虛擬私有雲網路和區域。
如要瞭解如何設定已發布的服務後端,以便透過區域性 Cloud Service Mesh 存取已發布的服務,請參閱「為 Cloud Service Mesh 設定已發布的服務後端」。
支援的設定
下表列出透過 Private Service Connect 端點使用已發布服務後端時,支援的設定。消費者支援服務指出,設定可使用已發布的服務後端存取已發布的服務。「生產者支援」表示負載平衡器可用於發布服務,且可透過發布的服務後端存取。
| 設定 | 消費者支援 | 製作人支援 |
|---|---|---|
| 區域 Cloud Service Mesh | ||
| 區域性外部應用程式負載平衡器 | ||
| 區域性外部 Proxy 網路負載平衡器 | ||
| 區域性內部應用程式負載平衡器 | ||
| 區域性內部 Proxy 網路負載平衡器 | ||
| 內部直通式網路負載平衡器 | ||
| 內部通訊協定轉送 (目標執行個體) |
共用虛擬私有雲
服務專案管理員可以在 Shared VPC 服務專案中建立端點,並使用Shared VPC 網路的 IP 位址。設定方式與一般端點相同,但端點會使用從 Shared VPC 的共用子網路保留的 IP 位址。
IP 位址資源可保留在服務專案或代管專案中。IP 位址來源必須是與服務專案共用的子網路。
詳情請參閱「使用 Shared VPC 網路的 IP 位址建立端點」。
VPC Service Controls
VPC Service Controls 和 Private Service Connect 彼此相容。如果部署 Private Service Connect 端點的虛擬私有雲網路位於 VPC Service Controls 範圍內,該端點也會屬於同一個範圍。透過端點存取的任何支援 VPC Service Controls 的服務,都會受到該 VPC Service Controls 範圍的政策限制。
建立端點時,消費者和生產端專案之間會進行控制平面 API 呼叫,以建立 Private Service Connect 連線。在不屬於相同 VPC Service Controls 範圍的消費者和生產者專案之間建立 Private Service Connect 連線時,不需要透過輸出政策明確授權。透過端點與 VPC Service Controls 支援服務的通訊,會受到 VPC Service Controls perimeter 保護。
以負載平衡器做為下一個躍點的靜態路徑
靜態路徑可設定為使用內部直通式網路負載平衡器的轉送規則做為下一個躍點 (--next-hop-ilb)。Private Service Connect 不支援所有這類型的路徑。
使用 --next-hop-ilb 指定內部直通式網路負載平衡器轉送規則名稱的靜態路徑,可用於在路徑和端點位於相同虛擬私有雲網路和區域時,傳送及接收 Private Service Connect 端點的流量。
Private Service Connect 不支援下列路由設定:
- 使用
--next-hop-ilb指定內部直通式網路負載平衡器轉送規則 IP 位址的靜態路徑。 - 使用
--next-hop-ilb指定 Private Service Connect 端點轉送規則的名稱或 IP 位址的靜態路由。
記錄
您可以在含有 VM 的子網路上啟用虛擬私有雲流量記錄,這些 VM 會使用端點存取其他虛擬私有雲網路中的服務。記錄會顯示 VM 與端點之間的流程。
您可以使用稽核記錄,查看端點的連線狀態變更。系統事件中繼資料會擷取端點的連線狀態變化,資源類型為 GCE 轉送規則。您可以篩選
pscConnectionStatus來查看這些項目。舉例來說,當服務供應商允許來自您專案的連線時,端點的連線狀態會從
PENDING變更為ACCEPTED,而這項變更會反映在稽核記錄中。
定價
如要瞭解 Private Service Connect 的定價,請參閱 VPC 定價頁面。
配額
您可以建立的端點數量取決於 PSC Internal LB Forwarding Rules 配額,這些端點用於存取已發布的服務。詳情請參閱配額。
機構政策限制
機構政策管理員可以使用 constraints/compute.disablePrivateServiceConnectCreationForConsumers 限制,定義使用者無法建立轉送規則的端點類型組合。
如要瞭解如何建立使用這項限制的組織政策,請參閱「禁止消費者依連線類型部署端點」。