在 Google Cloud 進行內部存取的選項和比較

2024/03/16閱讀時間約 9 分鐘

Overview

在企業內部環境,確保對服務和 API 的安全且高效率的存取十分重要。當雲端作為公司內網的延伸,Google Cloud 提供了一系列私人訪問方法,可以根據不同需求去做選擇,允許服務在不同 Virtual Private Cloud, VPC 之內可以互相串接,甚至可以從本地環境進行連接。今天會探討包括 Private Google AccessPrivate Service ConnectServerless VPC AccessPrivate Services Access 這些方法的區別,探索它們如何可以使您的組織受益。

Private Google Access

Private Google Access 提供了一個簡單的解決方案,用戶可以使用內部 IP 地址連接到 Google Cloud API 和服務。通過在 subnet 啟用 Private Google Access,用戶可以確保通信保持在其VPC和內網之內,增強安全性的同時減少延遲。此外, Private Google Access 支援各種 Google Cloud 服務

Private Service Connect

Private Service Connect 允許用戶使用 內部 IP 訪問 Google 和第三方服務。它允許服務提供者(Google 服務不同部門的服務外部第三方服務)在自己獨立的 VPC 網路中託管這些服務,並為其客戶端提供私有連線。

raw-image

客戶端(Consumer) 透過內部IP連到 Endpoint, Private Service Connect 會進行網路位址轉譯轉發到處於服務提供者端(Producer)的 Service attachment 進行服務的存取。

raw-image

例如,當您使用 Private Service Connect 存取 Cloud SQL 時,application 主機端是客戶端,Google 是服務提供者端,我們需要建立 EndpointService attachment 並進行兩者的對接配對。

因此使用 Private Service Connect 具有以下特點:

  1. Service-oriented design訪問服務提供者端的客戶端流量是單向的,只能訪問服務 IP 地址,而不能訪問整個對等的 VPC 網絡。
  2. Explicit authorizationPrivate Service Connect 提供了一個授權模型,為服務提供端和客戶端提供了細粒度的控制,確保只有預期的服務端點可以連接到服務,而不是其他任何資源。(Endpoint 和 Service attachment 的對接配對)
  3. No shared dependencies服務提供端和客戶端之間的流量使用 NAT 進行處理,因此 VPC 網絡之間不存在 IP 地址協調或其他共享資源依賴所導致的問題。這種獨立性簡化了部署流程,使您更容易擴展管理服務。
  4. Line-rate performancePrivate Service Connect 的流量直接從客戶端到服務提供端,沒有中間跳躍或代理。Private Service Connect 的頻寬容量僅受到直接通信的客戶端和服務提供端之機器的頻寬容量限制。

Serverless VPC Access

對於使用無服務器產品(如 Cloud Run、App Engine Standard 和 Cloud Functions)的使用者,Google Cloud 提供了一種將這些服務使用內部 IP 地址連接到其 VPC 網絡的方式-Serverless VPC Access

通常在使用 Cloud Run 或是 Cloud Functions 並串接如 Cloud SQL, Memorystore 時,以永久保存資料時,會使用到 Serverless VPC Access 達到使用內部 IP 存取的架構。


raw-image

不過要連接並跨多個 VPC 網絡和 Google Cloud 專案的資源,您還必須配置 Shared VPCVPC Network Peering。 (Google Cloud 託管服務和自身服務處於不同的 VPC)

Private Services Access

Private Services Access 提供了一種通過 VPC Network Peering 訪問服務提供者端(Producer)的簡化解決方案。通過自動化大部分 VPC 網絡對等配置,此功能簡化了建立消費者和生產者網絡之間連接的過程。

最常用的情境是在建立 Cloud SQL,由於和 AWS 不同,Cloud SQL 實際上是處於 Google 託管的 VPC 內,因此在分配內部ip 時通常還要再設定 Private Services Access ,在自己的 VPC 切出一段網段,服務提供端 (Cloud SQL) 會使用該網段進行存取。設置完後,自己的 VPC 和 Google 的 VPC 會自動設置完 VPC Network Peering。

基於 VPC Network Peering 無法進行 transitive routing 的限制,其他 VPC 會無法存取該 Cloud SQL,如有有此需求需使用 Private Service Connect。

raw-image

此外,Private Services Access 支持各種 Google Cloud 服務,確保與各種服務提供的兼容性。需要注意的是,必須進行先前適當的網路規畫和配置。

在使用 Private Services Access 時,需先切割出一個內部 IPv4 地址範圍,然後創建一個私人連接,我們將不能在本地 VPC 網絡中使用保留的網段。該網段專門為服務提供者端 (Cloud SQL)所保留並使用,並防止您的 VPC 網絡和服務生產者的 VPC 網絡之間的重疊(overlape)。

Conclusion

Google Cloud 的各種 Private Access 選項為組織提供了靈活性和安全性,使其能夠安全連接到 Google Cloud API 和服務。

在實務上通常最常使用的還是 Private Google Access ,其方便設置並能夠快速地達到內部存取 Google Cloud API 和服務的目的;在使用特定的一些 Google Cloud 託管服務時,我們會使用 Private Services Access 和 Serverless VPC Access,然而當組織內有一些跨VPC的網路規劃或是服務串接時,我們才會使用 Private Service Connect 已達到內部存取的需求,但其設定也最繁瑣。

本文統整了在 Google Cloud 進行內部存取的選項和比較,如果你喜歡這篇文章歡迎幫我按愛心鼓勵一下喔!~閱讀愉快!~

延伸閱讀


16會員
31內容數
歡迎來到「Marcos的方格子」!目前在「Marcos談科技」撰寫在職涯上學習到的知識,在「Marcos談書」分享我在日常的閱讀和心得,歡迎您的到來!!
留言0
查看全部
發表第一個留言支持創作者!