鏡像模式

Last reviewed 2025-01-23 UTC

鏡像模式是根據特定現有環境或多個現有環境的設計,複製至新的環境或多個新的環境。因此,這個模式主要適用於遵循環境混合模式的架構。在這種模式中,您可以在一個環境中執行開發作業及測試工作負載,同時在另一個環境中執行測試環境和實際運作工作負載。

鏡像模式假設測試和實際運作工作負載不應直接互相通訊。但您應能透過一致的方式來管理及部署這兩組工作負載。

如果您使用這個模式,請以符合下列需求的方式連結兩個運算環境:

  • 持續整合/持續推送軟體更新 (CI/CD) 可以在所有運算環境或特定環境中部署及管理工作負載。
  • 監控、設定管理和其他管理系統應可在不同運算環境中運作。
  • 工作負載無法跨運算環境直接通訊。如有需要,通訊必須以精細且受控的方式進行。

架構

下圖為此模式的概略參考架構,可支援 CI/CD、監控、設定管理、其他管理系統和工作負載通訊:

在 Google Cloud 和內部實際運作環境中,CI/CD 和管理員 VPC 之間的資料流程。資料也會在 CI/CD-VPC 與 Google Cloud中的開發和測試環境之間流動。

上述架構圖中的架構說明如下:

  • 工作負載會根據功能環境 (開發、測試、CI/CD 和管理工具) 分散到 Google Cloud 端的不同 VPC。
  • 共用虛擬私有雲:用於開發作業和測試工作負載。另外一個 VPC 則用於 CI/CD 和管理工具。共用虛擬私有雲:
    • 每個環境和服務專案的應用程式,都由不同的團隊管理。
    • 主機專案會管理及控管開發和測試環境之間的網路通訊和安全性控管,以及虛擬私有雲以外的網路。
  • CI/CD VPC 會連線至在私人運算環境中執行實際運作工作負載的網路。
  • 防火牆規則只允許允許的流量。
    • 您也可以搭配使用 Cloud Next Generation Firewall Enterprise 和入侵預防服務 (IPS),在不變更設計或路由的情況下,實施深層封包檢查來防範威脅。Cloud Next Generation Firewall Enterprise 會建立 Google 管理的區域防火牆端點,使用封包攔截技術,針對已設定的威脅簽章透明檢查工作負載。同時也能保護工作負載免受威脅。
  • 讓對等互連的虛擬私有雲端可使用內部 IP 位址進行通訊。
    • 這個模式中的對等互連功能可讓 CI/CD 和管理系統部署及管理開發作業和測試工作負載。
  • 請參考下列一般最佳做法

您可以使用上述的混合式和多雲端網路連線選項之一,建立這類持續整合/持續推送軟體更新連線,以滿足您的業務和應用程式需求。為了讓您部署及管理實際運作工作負載,這項連線可在不同運算環境之間提供私人網路可及性。所有環境都應具備不重疊的 RFC 1918 IP 位址空間。

如果開發和測試環境中的執行個體需要存取網際網路,請考慮下列選項:

  • 您可以將 Cloud NAT 部署至同一個共用虛擬私有雲主機專案網路。部署至同一個共用虛擬私有雲主機專案網路,有助於避免讓這些執行個體可從網際網路直接存取。
  • 如要處理輸出的網路流量,您可以使用 Secure Web Proxy。這個 Proxy 有多項優點

如要進一步瞭解 Google Cloud 工具和功能,協助您在 Google Cloud 和混合式及多雲端環境中建構、測試及部署,請參閱DevOps 和 CI/CD 在 Google Cloud 的說明網誌。

變化版本

為了滿足不同的設計需求,同時考量所有通訊需求,鏡像架構模式提供下列選項,詳情請參閱以下各節:

每個環境共用虛擬私有雲

每個環境的共用虛擬私有雲設計選項可在各個環境中實現應用程式或服務層級的區隔,包括可能需要符合特定機構安全性需求的持續整合/持續推送軟體更新和管理工具。這些規定會限制通訊、管理網域和存取權控管,適用於需要由不同團隊管理的不同服務。

這項設計在不同環境之間提供網路和專案層級的隔離功能,以便實現更精細的通訊和身分與存取權管理 (IAM) 存取權控管。

從管理和作業的角度來看,這個設計可讓您靈活管理每個環境和服務專案中不同團隊建立的應用程式和工作負載。網路作業團隊可根據下列可能的結構,佈建及管理虛擬私有雲網路及其安全性功能:

  • 由一個團隊管理所有環境中的主機專案。
  • 不同團隊會管理各自環境中的主機專案。

您應根據各團隊的團隊架構、安全性作業和存取權需求,決定如何管理主機專案。您可以將此設計變化套用至每個環境的目標區設計選項的共用虛擬私有雲網路。不過,您必須考量鏡像模式的通訊需求,以便定義不同環境之間允許的通訊方式,包括透過混合式網路進行的通訊。

您也可以為每個主要環境佈建共用虛擬私有雲網路,如以下圖表所示:

 Google Cloud 中的 VPC 對等互連可在開發和測試環境、CI/CD 和管理子網路之間共用資料。子網路會在 Google Cloud 和內部部署環境之間共用資料。

集中式應用程式層防火牆

在某些情況下,安全性規定可能會要求您考慮應用程式層 (第 7 層) 和深層封包檢查,並採用超越 Cloud Next Generation Firewall 功能的進階防火牆機制。如要符合貴機構的安全性要求和標準,您可以使用在網路虛擬設備 (NVA) 中代管的 NGFW 設備。多家 Google Cloud 安全性合作夥伴提供適合這項任務的選項。

如下圖所示,您可以使用多個網路介面,將 NVA 放在虛擬私人雲端和私人運算環境之間的網路路徑中。

 Google Cloud 中的 VPC 對等互連可在開發和測試環境、CI/CD 和管理子網路之間共用資料。子網路會透過傳輸 VPC 網路,在 Google Cloud 和內部部署環境之間共用資料。

這項設計也能搭配多個共用虛擬私有雲使用,如下圖所示。

 Google Cloud 中的 VPC 對接可在開發和測試環境、CI/CD 和管理子網路之間共用資料。這些子網路會使用 NVA,透過傳輸虛擬私人雲端網路,在 Google Cloud 和內部部署環境之間分享資料。

這個設計中的 NVA 會做為外圍安全層。這也是啟用內嵌流量檢查並強制執行嚴格存取控制政策的基礎。

如要採用包含 VPC 防火牆規則和入侵偵測服務功能的強大多層安全性策略,請針對東西向和南北向的流量,納入進一步的流量檢查和安全性控制措施。

輻射狀拓撲

另一種可能的設計變化是針對開發作業和不同測試階段使用個別的 VPC (包括共用 VPC)。在這個變化版本中,所有階段環境都會透過軸輻式架構連線至 CI/CD 和管理 VPC。如果您必須將各環境中的管理網域和函式分開,請使用這個選項。樞紐式通訊模式可協助滿足下列需求:

  • 應用程式需要存取一組常見服務,例如監控、設定管理工具、持續整合/持續推送軟體更新或驗證。
  • 您必須透過中樞,以集中方式將一組常見的安全性政策套用至傳入和傳出流量。

如要進一步瞭解輻射狀拓撲的設計選項,請參閱「含集中式裝置的輻射狀拓撲」和「不含集中式裝置的輻射狀拓撲」。

開發和測試環境會與樞紐 VPC CI/CD 和管理 VPC 共用資料,並將資料傳送至內部部署環境。

如上圖所示,虛擬私有雲間通訊和混合式連線都會經過中樞虛擬私有雲。在這個模式中,您可以根據連線需求,控制及限制中樞虛擬私有雲中的通訊。

在軸輻式網路架構中, Google Cloud的主要連線選項 (輪輻和中樞虛擬私有雲之間) 如下:

  • 虛擬私有雲網路對等互連
  • VPN
  • 使用網路虛擬設備 (NVA)

如要進一步瞭解設計時應考慮的選項,請參閱「Hub-and-spoke 網路架構」。在需要流量轉送的情況下,選擇在輪輻和中樞虛擬私有雲之間使用 VPN 的關鍵影響因素,流量轉送性是指輪輻的流量可透過樞紐傳送至其他輪輻。

微服務零信任分散式架構

混合雲和多雲架構可能需要多個叢集,才能達成技術和業務目標,包括將正式環境與開發和測試環境分開。因此,網路周邊安全控制項非常重要,尤其是在需要符合特定安全性要求時。

這項做法無法滿足目前以雲端為優先的微服務分散式架構安全性需求,因此您也應考慮採用零信任分散式架構。微服務零信任分散式架構可透過微服務層級安全性政策執行、驗證和工作負載身分,支援您的微服務架構。信任是以身分為依據,並且會針對每項服務強制執行。

透過使用服務網格等分散式 Proxy 架構,服務就能有效驗證呼叫端,並為每個要求實作精細的存取權控管政策,打造更安全且可擴充的微服務環境。Cloud Service Mesh 可讓您靈活地建構共通網格,跨越Google Cloud 和地端部署項目。網格會使用授權政策,協助保護服務與服務之間的通訊。

您也可以將 Apigee Adapter for Envoy 納入此架構,這是在 Kubernetes 叢集中部署的輕量級 Apigee API 閘道。Apigee Adapter for Envoy 是開放原始碼邊緣和服務 Proxy,專為雲端優先應用程式而設計。

資料會透過分散式 Proxy 架構,在 Google Cloud 和內部部署環境中的服務之間流動。

如要進一步瞭解這個主題,請參閱下列文章:

鏡像圖案最佳做法

  • 部署或重新設定實際運作工作環境所需的 CI/CD 系統必須具備高可用性,也就是說,所有架構元件都必須設計為提供預期的系統可用性。詳情請參閱「Google Cloud 基礎架構可靠性」。
  • 如要消除程式碼更新等重複程序的設定錯誤,您必須透過自動化功能將建構、測試和部署作業標準化。
  • 在這個設計中整合集中式 NVA 時,可能需要納入多個區隔,並設定不同層級的安全存取控管機制。
  • 設計包含 NVA 的解決方案時,請務必考量 NVA 的高可用性 (HA),以免發生單一故障點而導致所有通訊都遭到封鎖。請按照 NVA 供應商提供的 HA 和備援設計及導入指南操作。
  • 您可以透過 VPC 對等互連或 VPN,將內部部署 IP 路徑匯出至開發和測試 VPC,藉此限制從開發和測試環境到內部部署環境的網路可及性。詳情請參閱「虛擬私人雲端網路對等互連自訂路徑交換」。
  • 如果工作負載使用私人 IP 位址,且可能需要 Google API 存取權,您可以使用 VPC 網路中的 Private Service Connect 端點,公開 Google API。如需更多資訊,請參閱本系列文章中的「閘控入口」一文。
  • 請參閱混合式雲端和多雲端網路架構模式的一般最佳做法