閘道式輸入

「閘道式輸入」模式的架構是根據在 Google Cloud 中執行的工作負載選取一組 API,並開放給私人運算環境使用,但不會在公開網際網路上發布這些 API。此模式與閘道式輸出模式互相對應,且非常適合邊緣混合分級混合分區多雲情境。

閘道輸出模式類似,您可以使用 API 閘道或負載平衡器做為現有工作負載或服務的遮蔽,有限度地公開 API。這麼做可讓私人運算環境、地端部署環境或其他雲端環境存取,如下所示:

  • 部署在私人運算環境或其他雲端環境中的工作負載,可以使用內部 IP 位址與 API 閘道或負載平衡器通訊,但無法連線至部署在Google Cloud 中的其他系統。
  • 無法與私人運算環境或其他雲端環境通訊。 Google Cloud 流量只會從私人環境或其他雲端環境傳輸至 Google Cloud中的 API。

架構

下圖顯示符合閘道式輸入模式需求的參考架構。

資料從內部部署環境或雲端,透過 Cloud VPN 或 Cloud Interconnect 單向流入 Google Cloud 環境,最終進入工作負載。

上圖的架構說明如下:

  • 在 Google Cloud 端,將工作負載部署至應用程式虛擬私有雲 (或多個虛擬私有雲)。
  • Google Cloud 環境網路會擴展至其他運算環境 (地端部署或其他雲端),並使用混合式或多雲網路連線,促進環境之間的通訊。
  • 您可以視需要使用傳輸虛擬私有雲,完成下列事項:
    • 提供額外的邊界安全層,允許存取應用程式虛擬私有雲外部的特定 API。
    • 將流量導向 API 的 IP 位址。您可以建立 VPC 防火牆規則,防止某些來源透過端點存取特定 API。
    • 整合網路虛擬設備 (NVA),在 Transit 虛擬私有雲檢查第 7 層流量。
  • 透過 API Gateway 或負載平衡器 (Proxy 或應用程式負載平衡器) 存取 API,提供 Proxy 層,以及服務 API 的抽象層或外觀。如要將流量分配至多個 API 閘道執行個體,可以使用內部直通式網路負載平衡器
  • 透過 Private Service Connect 端點,對已發布的服務提供精細的存取權。方法是透過 Private Service Connect 使用負載平衡器,公開應用程式或服務。
  • 所有環境都應使用不重疊的 RFC 1918 IP 位址空間。

下圖說明如何使用 Apigee 做為 API 平台,設計這個模式。

資料會流入 Google Cloud 環境,並透過 Cloud VPN 或 Cloud Interconnect,從內部部署或雲端環境傳送到 Apigee 執行個體中的專案。

在上圖中,使用 Apigee 做為 API 平台可提供下列功能,以啟用閘道式進入模式:

  • 閘道或 Proxy 功能
  • 安全防護功能
  • 頻率限制
  • 數據分析

在設計中:

  • 北向網路連線 (適用於來自其他環境的流量) 會通過應用程式虛擬私有雲中的 Private Service Connect 端點,該端點與 Apigee 虛擬私有雲相關聯。
  • 在應用程式 VPC 中,內部負載平衡器會透過 Apigee VPC 中顯示的 Private Service Connect 端點,公開應用程式 API。詳情請參閱「停用 VPC 對等互連的架構」。
  • 在應用程式 VPC 中設定防火牆規則和流量篩選條件。這樣做可提供精細的受控存取權。此外,這項功能也能防止系統直接連線至應用程式,而不經過 Private Service Connect 端點和 API 閘道。

    此外,您也可以限制在應用程式 VPC 中,將後端工作負載的內部 IP 位址子網路廣告放送至地端網路,以免不經過 Private Service Connect 端點和 API 閘道,就能直接連線。

某些安全防護需求可能需要對應用程式 VPC 以外的範圍進行安全檢查,包括混合式連線流量。在這種情況下,您可以納入傳輸虛擬私有雲,實作額外的安全層。這些層 (例如具有多個網路介面的下一代防火牆 (NGFW) NVA,或具有入侵預防服務 (IPS) 的 Cloud Next Generation Firewall Enterprise) 會在應用程式虛擬私有雲外部執行深層封包檢查,如下圖所示:

資料會流入 Google Cloud 環境,並透過 Cloud VPN 或 Cloud Interconnect,從地端或雲端環境傳送到應用程式。

如上圖所示:

  • 北向網路連線 (適用於來自其他環境的流量) 會通過獨立的傳輸虛擬私有雲,前往與 Apigee 虛擬私有雲相關聯的傳輸虛擬私有雲中的 Private Service Connect 端點。
  • 在應用程式虛擬私有雲中,內部負載平衡器 (圖表中的 ILB) 用於透過 Apigee 虛擬私有雲中的 Private Service Connect 端點公開應用程式。

您可以在同一個 VPC 網路中佈建多個端點,如下圖所示。如要涵蓋不同的用途,您可以使用 Cloud Router 和 VPC 防火牆規則,控管各種可能的網路路徑。舉例來說,如果您要透過多個混合式網路連線將地端網路連線至 Google Cloud ,可以透過其中一個連線將地端流量傳送至特定 Google API 或已發布的服務,其餘流量則透過另一個連線傳送。此外,您也可以使用 Private Service Connect 全域存取權提供容錯移轉選項。

資料會流入 Google Cloud 環境,並透過多個 Private Service Connect 端點,從內部部署或雲端環境,經由 Cloud VPN 或 Cloud Interconnect 傳送至多個供應商 VPC。

變化版本

閘道式連入架構模式可與其他方法搭配使用,以滿足不同的設計需求,同時仍考量模式的通訊需求。這個模式提供下列選項:

從其他環境存取 Google API

如果需要存取 Cloud Storage 或 BigQuery 等 Google 服務,但不想透過公開網路傳送流量,Private Service Connect 就能派上用場。如下圖所示,這項功能可讓您透過混合式網路連線,使用 Private Service Connect 端點的 IP 位址,從內部部署或其他雲端環境存取支援的 Google API 和服務 (包括 Google 地圖、Google Ads 和Google Cloud)。如要進一步瞭解如何透過 Private Service Connect 端點存取 Google API,請參閱「透過端點存取 Google API 簡介」。

資料從內部部署環境流向 Google 服務,再流向 Google Cloud 環境。

在上圖中,您的內部部署網路必須使用 Cloud VPN 通道或 Cloud Interconnect VLAN 連結,連線至 transit (消費者) VPC 網路。

您可以使用端點後端存取 Google API。Endpoints 可讓您指定一組 Google API。後端可讓您指定區域性 Google API

使用 Private Service Connect 將應用程式後端公開給其他環境

在特定情境中,如分級混合模式所強調,您可能需要在 Google Cloud 中部署後端,同時在私人運算環境中維護前端。雖然這種做法較不常見,但如果處理的重量級單體式前端可能依附於舊版元件,就適用這種做法。或者,更常見的情況是,管理多個環境 (包括地端部署和其他雲端) 中的分散式應用程式時,需要連線至 Google Cloud 混合式網路中託管的後端。

在這種架構中,您可以在私有內部部署環境或其他雲端環境中使用本機 API 閘道或負載平衡器,直接將應用程式前端公開至網際網路。在 Google Cloud 使用 Private Service Connect 可促進與後端的私人連線,這些後端會透過 Private Service Connect 端點公開,理想情況是使用預先定義的 API,如下圖所示:

資料從地端環境或其他雲端環境流入 Google Cloud 環境。資料會流經非Google Cloud 環境中的 Apigee 執行個體和前端服務,最終進入客戶專案應用程式 VPC。

上圖的設計採用 Apigee Hybrid 部署作業,其中包含 Google Cloud 中的管理層,以及託管於其他環境的執行階段層。您可以在地端環境或其他雲端環境中,於其中一個支援的Kubernetes 平台上,安裝及管理分散式 API 閘道的執行階段層。您可以根據在 Google Cloud 和其他環境中分散工作負載的需求,搭配使用 Apigee Hybrid 的 Apigee on Google Cloud 。詳情請參閱分散式 API 閘道

使用軸輻式架構,將應用程式後端公開至其他環境

在某些情況下,您可能需要從不同 VPC 網路中託管的應用程式後端公開 API。 Google Cloud 如下圖所示,中樞虛擬私有雲可做為各種虛擬私有雲 (輪輻) 的互連中心點,透過私人混合式連線進行安全通訊。您也可以在其他環境中使用本機 API 閘道功能,例如 Apigee Hybrid,在本機終止用戶端要求,也就是應用程式前端的代管位置。

資料會在 Google Cloud 環境與地端或其他雲端環境之間流動,並透過不同虛擬私有雲網路,公開 Google Cloud 中託管的應用程式後端 API。

如上圖所示:

  • 為提供額外的 NGFW 第 7 層檢查功能,您可選擇將具備 NGFW 功能的 NVA 整合至設計中。您可能需要這些功能,才能遵守特定安全規定和貴機構的安全政策標準。
  • 這項設計假設輪輻 VPC 不需要直接 VPC 對 VPC 通訊。

    • 如果需要輪輻間通訊,可以使用 NVA 協助進行這類通訊。
    • 如果不同虛擬私有雲中有不同的後端,您可以使用 Private Service Connect,將這些後端公開至 Apigee 虛擬私有雲。
    • 如果使用 VPC 對等互連,在輻射 VPC 和中樞 VPC 之間建立南北向連線,則必須考量透過 VPC 對等互連的 VPC 網路傳遞限制。如要解決這項限制,可以採取下列任一做法:
      • 如要互連虛擬私有雲,請使用網路虛擬設備
      • 請視情況考慮 Private Service Connect 模型。
      • 如要在 Apigee 虛擬私有雲與位於相同機構中其他Google Cloud 專案的後端之間建立連線,且不使用額外的網路元件,請使用共用虛擬私有雲
  • 如果需要 NVA 檢查流量 (包括來自其他環境的流量),則應在混合式轉移 VPC 中終止與內部部署或其他雲端環境的混合式連線。

  • 如果設計不包含 NVA,您可以在中樞 VPC 終止混合式連線。

  • 如果需要特定負載平衡功能或安全性功能,例如新增 Google Cloud Armor DDoS 防護或 WAF,您可以選擇在周邊透過外部 VPC 部署外部應用程式負載平衡器,然後將外部用戶端要求路由至後端。

最佳做法

  • 如果需要由私人內部部署或其他雲端環境中代管的前端,在本機接收來自網際網路的用戶端要求,請考慮使用 Apigee Hybrid 做為 API 閘道解決方案。此外,這種做法也有助於將解決方案無縫遷移至完全 Google Cloud代管的環境,同時維持 API 平台 (Apigee) 的一致性。
  • 視需求和架構而定,搭配使用 Apigee Adapter for Envoy 與Kubernetes 適用的 Apigee Hybrid 部署作業架構。
  • Google Cloud 中的 VPC 和專案設計應遵循本指南所述的資源階層和安全通訊模型規定。
  • 將傳輸虛擬私有雲納入這項設計,可彈性地在工作負載虛擬私有雲外部,佈建額外的邊界安全措施和混合式連線。
  • 透過混合式連線網路,使用端點的內部 IP 位址,從內部部署環境或其他雲端環境存取 Google API 和服務。詳情請參閱「透過地端部署主機存取端點」。
  • 為保護專案中的服務,並降低資料竊取風險,請使用 VPC Service Controls 在專案或 VPC 網路層級指定服務範圍。 Google Cloud
  • 透過 Private Service Connect 端點,使用虛擬私有雲防火牆規則防火牆政策,控管對 Private Service Connect 資源的網路層級存取權。舉例來說,應用程式 (消費者) 虛擬私有雲的輸出防火牆規則可以限制 VM 執行個體對端點 IP 位址或子網路的存取權。如要進一步瞭解虛擬私有雲防火牆規則,請參閱虛擬私有雲防火牆規則
  • 設計包含 NVA 的解決方案時,請務必考量 NVA 的高可用性 (HA),避免單一故障點阻斷所有通訊。請按照 NVA 供應商提供的高可用性和備援設計與實作指南操作。
  • 如要加強周邊安全防護,並保護部署在相應環境中的 API 閘道,您可以在其他運算環境 (混合式或其他雲端) 中,選擇性地導入負載平衡和 Web 應用程式防火牆機制。在直接連線至網際網路的周邊網路中,實作這些選項。
  • 如果執行個體需要存取網際網路,請在應用程式 VPC 中使用 Cloud NAT,讓工作負載可以存取網際網路。這樣一來,您就不必在部署於 API 閘道或負載平衡器後方的系統中,為 VM 執行個體指派外部公開 IP 位址。
  • 如要處理輸出網路流量,請使用 Secure Web Proxy。Proxy 具有多項優點
  • 請參閱混合式雲端和多雲端網路模式的一般最佳做法