VPC 設計的最佳做法與參考架構

Last reviewed 2025-01-30 UTC

本指南介紹使用 Google Cloud設計虛擬私有雲 (VPC) 的最佳做法和典型企業架構,適用對象是熟悉網路概念的雲端網路架構師和系統架構師。 Google Cloud

一般原則與最初步驟

識別決策者、時程和前期工作

設計虛擬私人雲端網路時,首先必須識別必要的決策者、時程和前期工作,以確保您可以滿足相關人員的需求。

相關人員可能包括應用程式擁有者、安全架構師、解決方案架構師和營運經理。視您規劃虛擬私人雲端網路的對象是專案、特定業務範圍或整個機構而定,相關人員的身分可能會隨之改變。

前期工作的其中一環是讓團隊熟悉虛擬私人雲端網路設計的概念和術語。實用的文件包括:

提早思考虛擬私有雲網路設計

在 Google Cloud中設計機構設定時,請盡早構思虛擬私有雲網路的設計。如果日後需要變更網路區隔方式或工作負載位置等基本項目,可能會對貴機構造成干擾。

不同的虛擬私有雲網路設定可能會對路徑、規模和安全性產生重大的影響。如果能夠仔細規劃並深入瞭解自己的特定考量,將有助於建立穩固的架構基礎以因應漸進式增加的工作負載。

保持精簡

讓虛擬私人雲端網路拓撲的設計保持簡單,是確保所建立的架構方便管理、可靠且易於理解的最佳方式。

使用明確的命名慣例

使用簡單、直覺式且一貫的命名慣例。如此能確保管理員和使用者均可瞭解各項資源的用途、資源所在位置,以及與其他資源的區別。

為了保持精簡,較長的字詞可使用普遍接受的縮寫。此外,請盡可能使用熟悉的術語以方便閱讀。

建立命名慣例時,請考慮下列範例所描述的構成要素:

  • 公司名稱:Acme 公司:acmeco
  • 業務單位:人力資源:hr
  • 應用程式程式碼:薪酬系統:comp
  • 地區代碼:northamerica-northeast1:na-ne1、europe-west1:eu-we1
  • 環境代碼devtestuatstageprod

例如,人力資源部門薪酬系統的開發環境可以命名為 acmeco-hr-comp-eu-we1-dev

至於其他常見的網路資源,請考慮使用以下模式:

  • 虛擬私有雲網路
    語法:{company name}-{description(App or BU)-label}-{environment-label}-{seq#}
    範例:acmeco-hr-dev-vpc-1

  • 子網路
    語法:{company-name}-{description(App or BU)-label}-{region-label}-{environment-label}-{subnet-label}
    範例:acmeco-hr-na-ne1-dev-vpc-1-subnet-1
    注意:如果子網路只包含一個可用區的資源,您可以使用「zone-label」而非「region-label」。

  • 防火牆規則
    語法:{company-name}-{description(App or BU)-label}{source-label}-{dest-label}-{protocol}-{port}-{action}
    範例:acmeco-hr-internet-internal-tcp-80-allow-rule

  • IP 路由
    語法:{priority}-{VPC-label}-{tag}-{next hop}
    範例:1000-acmeco-hr-dev-vpc-1-int-gw

位址與子網路

使用自訂模式虛擬私人雲端網路

雖然自動模式網路非常適合用於提早探索,但是大部分的實際工作環境更適合使用自訂模式虛擬私人雲端網路。

建議企業一開始就在自訂模式下使用虛擬私人雲端網路,原因如下:

  • 自訂模式虛擬私人雲端網路能更好地整合至現有的 IP 位址管理配置。所有自動模式網路都使用相同的內部 IP 範圍組合,因此與內部部署企業網路建立連結時,自動模式 IP 範圍可能會重疊。
  • 您無法使用虛擬私人雲端網路對等互連連線兩個自動模式虛擬私人雲端網路,因為其子網路使用相同的主要 IP 範圍。
  • 自動模式子網路的名稱都與網路相同。您可以為自訂模式子網路選擇不重複且具描述性的名稱,讓虛擬私人雲端網路更易於理解和維護。
  • 推出新 Google Cloud 區域時,自動模式虛擬私人雲端網路會自動取得該區域的新子網路。只有在您指定時,自訂模式虛擬私有雲網路才會取得新的子網路。這項功能對於主權和 IP 位址管理而言都相當重要。

如果沒有任何資源,您可以刪除 default 網路。您必須先移除依賴虛擬私人雲端網路的所有資源 (包括虛擬機器 (VM) 執行個體),才能刪除虛擬私人雲端網路。

如要進一步瞭解自動和自訂模式虛擬私人雲端網路之間的差異,請參閱虛擬私人雲端網路總覽

縮減應用程式子網路分組數量,擴大個別位址範圍

傳統做法會基於各種理由而將一些企業網路分隔成許多小型的位址範圍。例如,為了識別或隔離應用程式,或是為了保持小型的廣播網域而進行分隔。

不過,我們建議您在要營運的地區內,將同類型的應用程式組合成數量較少、較容易管理且位址範圍較大的子網路。

與其他採用子網路遮罩的網路環境不同的是,Google Cloud 會透過軟體定義網路 (SDN) 方法在全域虛擬私人雲端網路的所有 VM 之間提供完整網狀的可連性。子網路的數量並不會影響轉送行為。

您可以使用服務帳戶或網路標記來套用特定的路由政策或防火牆規則。 Google Cloud 中的身分並不是完全取決於子網路 IP 位址。

部分虛擬私有雲端功能 (包括 Cloud NAT私人 Google 存取權虛擬私有雲流量記錄檔別名 IP 範圍) 是依據子網路進行設定。如果您需要更精細地控制這些功能,請使用更多子網路。

單一虛擬私人雲端網路和共用虛擬私人雲端

一開始先使用單一虛擬私人雲端提供具有共同需求的資源

在許多簡單的應用實例中,單一虛擬私人雲端即可提供您所需的功能,且相較於較複雜的替代方式更易於建立、維護和瞭解。您可以將具有共同需求和特性的資源集合成一個虛擬私人雲端,開始以虛擬私人雲端的邊界界定潛在問題的範圍。

如需取得此設定的範例,請參閱單一專案、單一虛擬私人雲端網路參考架構。

可能有其他因素導致您建立更多虛擬私人雲端網路,這些因素包括規模、網路安全性、財務考量、作業需求以及身分與存取權管理 (IAM)。

使用共用虛擬私人雲端管理多個工作小組

如果機構具有多個團隊,則共用虛擬私有雲會提供有效的工具,可跨多個工作小組延伸單一虛擬私有雲網路的架構簡易性。最簡單的方法是使用單一共用虛擬私有雲網路部署單一共用虛擬私有雲主專案,然後將團隊服務專案附加到主專案網路。

在這種配置中,所有網路資源的網路政策與控管作業均集中化進行且易於管理。服務專案部門可設定及管理非網路資源,進而明確區隔機構中不同團隊的責任。

這些專案中的資源可以透過內部 IP 位址跨越專案界線,安全又有效率地彼此通訊。您可以透過中央主機專案管理共用網路資源,例如子網路、路徑及防火牆,以利跨專案強制實行一致的網路政策。

如需取得此設定的範例,請參閱單一主專案、多項服務專案、單一共用虛擬私人雲端參考架構。

在子網路層級授予網路使用者角色

集中式共用虛擬私人雲端管理員可在子網路層級,授予網路使用者 (networkUser) 角色給成員,藉此對服務專案進行精細的授權,也可在主專案層級針對所有子網路進行授權。

為遵循最低權限的原則,建議您將子網路層級的網路使用者角色授予相關使用者、服務帳戶或群組。

子網路具有地區性,因此這種精細的控管方式可讓您指定為每個服務專案部署資源時,有哪些地區可供使用。

如果採用共用虛擬私人雲端架構,您也可以選擇在機構中部署多個共用虛擬私人雲端主專案。如此一來,每個共用虛擬私人雲端主專案就能容納單一或多個共用虛擬私人雲端網路。在這樣的配置中,不同環境能執行不同的政策考量。

詳情請參閱網路的 IAM 角色

如果資源需要多個網路介面,則使用單一主專案

如果您的服務專案必須將資源部署至多個獨立的虛擬私人雲端網路 (例如具備多個網路介面的 VM 執行個體),則主專案必須包含所有提供服務的虛擬私人雲端網路。這是因為一個服務專案僅能附加到一個主專案下。

適用於多個虛擬私人雲端的服務專案

如果資源需求超過單一專案的配額,則使用多個主專案

如果專案的配額無法滿足所有虛擬私人雲端網路的匯總資源需求,請使用具備多個主專案的架構,其中每個主專案均採用單一共用虛擬私人雲端網路,而不是使用具有多個共用虛擬私人雲端網路的單一主專案。單一主專案的架構需要在主專案中有多個虛擬私人雲端網路,而且會在專案層級強制執行配額,因此請務必謹慎評估您的資源調度需求。

如需此種配置的範例,請參閱多個主專案、多項服務專案、多個共用虛擬私人雲端參考架構的說明。

如果每個虛擬私人雲端都需要獨立的管理政策,則使用多個主專案

每個專案都有自己的配額,因此請針對每個虛擬私人雲端網路使用個別的共用虛擬私人雲端主專案,以調度匯總資源。由於系統也會在專案層級實作身分與存取權管理權限,因此這樣做可讓每個虛擬私人雲端網路擁有個別的身分與存取權管理權限,以管理網路和安全性。例如,如果您將兩個虛擬私人雲端網路 (虛擬私人雲端網路 A 和虛擬私人雲端網路 B) 部署到相同的主專案,網路管理員 (networkAdmin) 角色就會同時套用至這兩個虛擬私人雲端網路。

決定是否建立多個虛擬私人雲端網路

為每個專案建立單一虛擬私人雲端網路,以便將虛擬私人雲端網路配額對應到專案

配額是指在專案或網路層級套用的限制條件。所有資源都有初始的預設配額,可避免您產生超出預期的資源使用量。不過,您可能會因為許多原因而需要更多配額。對於大多數資源,您可以申請額外配額

如果您預期會超過預設的虛擬私人雲端資源配額,建議您為每個專案建立單一的虛擬私人雲端網路。如此一來,您就能更輕鬆地將專案層級的配額增加量對應到每個虛擬私人雲端網路,而不是對應到同一個專案中使用虛擬私人雲端網路組合。

「限制」旨在匯總保護系統資源。雖然Google Cloud 支援和銷售團隊可和您合作而增加一些限制,但是在大部分的情況下無法輕易提高限制。

如需瞭解目前的值,請參閱虛擬私人雲端資源配額和限制的相關說明。

Google 支援可以提高一些資源調度限制,但有時候您可能還是需要建置多個虛擬私人雲端網路才能滿足資源調度需求。如果虛擬私有雲網路的資源調度需求超出限制,請會同Google Cloud 銷售人員和支援團隊討論您的情況,根據您的需求找出最佳方法。

為每個自主工作團隊建立虛擬私人雲端網路,且共同虛擬私人雲端網路中具有共用的服務

部分大型企業的部署作業會有多個自主工作團隊參與,而這些團隊需要能完全控管各自的虛擬私人雲端網路。如要符合這項需求,您可以針對每個業務單位建立一個虛擬私人雲端網路,並且在共同虛擬私人雲端網路中提供共用服務 (例如分析工具、持續整合/持續推送軟體更新的管道和組建機器、DNS/目錄服務)。

在不同專案中建立虛擬私人雲端網路,以便使用獨立的身分與存取權管理控制功能

虛擬私人雲端網路是一種專案層級的資源,具備精細的專案層級身分與存取權管理 (IAM) 控制項,包括下列角色:

  • networkAdmin
  • securityAdmin
  • networkUser
  • networkViewer

根據預設,身分與存取權管理控制項是在專案層級部署,而每個身分與存取權管理角色則會套用至該專案的所有虛擬私人雲端網路。

如需要在各個虛擬私人雲端網路中使用獨立的身分與存取權管理控制項,請在不同的專案中建立虛擬私人雲端網路。

如需要將身分與存取權管理角色的範圍限定於特定的 Compute Engine 資源 (例如 VM 執行個體、磁碟和映像檔),請使用 Compute Engine 資源適用的 IAM 政策

將機密資料隔離至專屬虛擬私人雲端網路

如果公司需要配合法規遵循計畫,或是處理機密資料或受到 HIPAA 或 PCI-DSS 等法規遵循標準約束的高度管制資料,則通常需要採取進一步的安全性措施。若要提升安全性且更容易證明遵守相關法規,其中一個方法就是將這類環境個別隔離至其專屬的虛擬私人雲端網路。

連線多個虛擬私人雲端網路

選擇符合費用、效能和安全性需求的虛擬私人雲端連線方法

決定實作多個虛擬私人雲端網路後,下一步是連接這些虛擬私人雲端網路。虛擬私有雲網路是 Google Andromeda SDN 中獨立的用戶群空間,但您可以透過多種方式啟用這類網路之間的通訊。後續各節將說明選擇虛擬私人雲端連線方法的最佳做法。

下表提供每種方法的優缺點摘要說明,而後續各節則提供選擇虛擬私人雲端連線方法的最佳做法。

優點 缺點
Network Connectivity Center 虛擬私有雲輪輻
  • 每個中樞最多可有 250 個啟用的 VPC 輪輻。
  • 匯出篩選器。
  • 預設拓撲。
  • 每個 VPC 虛擬機器執行個體的最大規模 (不含個別對等群組配額)。
  • 軸輻式架構的管理員工作流程,用於跨機構虛擬私有雲連線。
  • 傳播 Private Service Connect 連線後,Private Service Connect 端點就能在虛擬私有雲輪輻間間接存取。
  • 以及虛擬私有雲網路對等互連的所有優點。
  • 不會在 sNetwork Connectivity Center 之間傳播傳送流量的 VM 的來源標記和來源服務帳戶。
  • 可插入的 NVA 有限。
  • 虛擬私有雲間傳遞費用。
  • 僅限 IPv4。
虛擬私有雲網路對接
  • 易於設定。
  • 管理負擔低。
  • 高頻寬。
  • 低輸出費用 (與單一虛擬私人雲端網路相同)。
  • 每個虛擬私人雲端網路都會各自維護自己的分散式防火牆。
  • 每個虛擬私人雲端網路都會各自維護自己的身分與存取權管理帳戶和權限。
  • 非遞移性。
  • 資源調度數字會繫結至對等互連虛擬私人雲端網路的「匯總」群組,其中包括 VM、路徑和內部轉送規則的數量。
  • 需要非重疊的位址空間。
  • 不會傳播靜態和動態路徑。
  • 不會在虛擬私人雲端網路對等互連之間傳播傳送流量 VM 的來源標記和來源服務帳戶。
  • 不會傳播靜態和動態路徑。
外部轉送 (公開 IP 或 NAT 閘道)
  • 無須進行設定。
  • 各虛擬私人雲端網路之間完全隔離。
  • IP 位址空間可重疊。
  • 高頻寬。
  • 比起其他選項 (例如虛擬私人雲端網路對等互連),相同區域內的 VM 輸出費用較高。
  • VM 必須使用外部 IP 位址公開。
  • 沒有使用私人 IP 位址的防火牆功能。
  • 不會傳播靜態和動態路徑。
  • 對等互連網路之間不會遵照使用傳送流量 VM 的來源標記和來源服務帳戶。
Cloud VPN
  • Cloud VPN 會為軸輻式網路啟用遞移性拓撲。
  • 可透過 ECMP 擴充。
  • 在高可用性 VPN 中,服務可用性達 99.99% 的服務水準協議。
  • 有管理負擔。
  • 依網際網路輸出費率計費。
  • 延遲時間稍微高一些。
  • 每個通道的處理量上限
  • 其他通道封裝導致 MTU 較低。
  • 傳送流量的 VM 在通道之間會遺失來源標記和來源服務帳戶。
多個網路介面 (多 NIC)
  • 可透過代管執行個體群組以及跨執行個體的 ECMP 路徑進行擴充。
  • 個別 VM 有頻寬限制
  • 每個 VM 執行個體的介面數量有限。
  • 您必須自行管理 VM 執行個體。

使用 Network Connectivity Center 虛擬私有雲輪輻

如要將 VPC 網路連結在一起,建議您使用 Network Connectivity Center VPC 輪輻。網路連線中心的 VPC 輻條可讓您在同一個專案和機構,或不同專案和機構的 VPC 中重複使用位址。

建議您採用 Network Connectivity Center 虛擬私有雲輪輻來連接虛擬私有雲網路,原因如下:

  • 資料層是分散式,因此不會出現閘道瓶頸。流量會跨越虛擬私有雲網路傳輸,就如同 VM 都位於相同的虛擬私有雲網路中一樣。
  • 不同機構之間的網路互連。網路包括虛擬私有雲網路和外部網路。
  • 每個中樞最多可有 250 個虛擬私有雲網路。
  • 服務存取點在各虛擬私有雲間的傳遞可及性。
  • 整合虛擬私有雲間 Cloud NAT,讓虛擬私有雲之間可重複使用 IP 位址。
  • 使用預先設定的拓樸和前置字串篩選器定義網路可及性規則。

如果您需要插入 NVA,或是應用程式不支援 Private Service Connect,請使用 VPC 網路對等互連

如果您需要插入網路虛擬設備 (NVA),例如防火牆 VM,建議您使用 VPC 網路對等互連。您可能需要為穿越多個 VPC 網路的流量插入 NVA,或是為未透過 Private Service Connect 發布的服務插入私人連線。

使用 VPC 網路對等互連時,請確保所有直接連線對等端所需的資源總數,不會超過 VM 執行個體、對等互連連線數量和內部轉送規則的限制

虛擬私有雲網路對等互連可讓兩個虛擬私有雲網路透過 Google 的 SDN 進行內部相互連線,無論這兩個虛擬私有雲網路是否屬於相同專案或機構皆可。虛擬私有雲網路對等互連會合併每個對等互連項目之間的控制層和流量傳播,這樣的轉送特性就會如同所有 VM 都位於同一個虛擬私有雲網路中一樣。當虛擬私有雲網路處於對等互連狀態時,就能存取所有子網路、別名 IP 範圍和內部轉送規則,而且每個虛擬私有雲網路都會各自維護自己的分散式防火牆。虛擬私有雲網路對等互連不具備遞移性。

如果不需要私人 IP 位址通訊,則使用外部轉送

如果不需要私人 IP 位址通訊,則可使用具有外部 IP 位址或 NAT 閘道的外部轉送。

部署虛擬私人雲端網路時,連至 Google 預設網際網路閘道的路徑會採用優先順序 1000 進行佈建。如果此路徑存在,而且已提供外部 IP 位址給 VM,該 VM 即可透過 Google 的網際網路閘道來傳送傳出 (輸出) 流量。您也可以在 Google 眾多公開負載平衡項目之一的背後部署服務,以便從外部連接服務。

無論地區和網路服務級別為何,外部定址的 VM 均可透過 Google 的骨幹以私密方式相互通訊。請使用 Google Cloud 防火牆規則來控管從外部傳至 VM 的傳入 (輸入) 流量。

外部轉送非常適合用來進行資源調度,但是請務必先瞭解公開轉送對於費用有何影響。詳情請參閱網路定價說明文件

使用 Cloud VPN 連接主機服務存取點的 VPC 網路,這些服務存取點無法透過 Network Connectivity Center 間接存取

高可用性 VPN 會提供代管服務,在多個端點之間建立 IPsec 通道,以連接虛擬私有雲網路。如果您使用自訂廣告模式設定 Cloud Router,就能在虛擬私有雲網路之間啟用遞移性轉送以及軸輻式拓撲,如本文件稍後所述。您可以使用 Network Connectivity Center,將高可用性 VPN 通道做為內部部署網路之間的傳遞網路,詳細說明如 Cloud VPN 說明文件所述。

Cloud VPN 不支援大型 MTU。詳情請參閱MTU 注意事項

使用虛擬設備,透過雲端裝置來控制虛擬私人雲端網路之間的流量

如果虛擬私有雲網路之間需要額外的安全性或服務,則經常會使用多個網路介面 VM,原因是多個網路介面 VM 可讓 VM 執行個體在虛擬私有雲網路之間扮演橋接通訊的角色。

一個 VM 與其連接的每個虛擬私有雲端網路之間只能有一個介面。如要將 VM 部署至多個虛擬私有雲網路,您必須具有 VM 連接的每個虛擬私有雲網路的適當身分與存取權管理權限。

部署多 NIC VM 時,請記住下列特性:

  • 多 NIC VM 最多可以有 8 個介面。
  • 介面的子網路 IP 範圍不得重疊。

具備共用虛擬私人雲端的多 NIC

服務連線

Private Service Connect 可讓用戶從虛擬私有雲網路內私下存取服務,無須採用網路導向的部署模型。同樣地,這項功能可讓供應者在自己的獨立 VPC 網路中代管這些服務,並為同機構或跨機構的消費者提供私人連線。Private Service Connect 可連線至第一方和第三方受管理的服務,因此不需要為私人服務存取權和 VPC 網路對等互連分配子網路。

Private Service Connect 提供以服務為中心的安全性模型,可帶來下列優點:

  • 沒有共用依附元件
  • 明確授權
  • 線性費率成效

Private Service Connect 有不同類型,提供不同的功能和通訊模式:

  • Private Service Connect 端點:使用轉送規則部署端點,為消費者提供對應至 Private Service Connect 服務的 IP 位址。
  • Private Service Connect 後端:後端會使用網路端點群組 (NEG) 進行部署,讓使用者在流量抵達 Private Service Connect 服務前,將流量導向負載平衡器。如果後端是使用 HTTPS 負載平衡器部署,則可支援憑證。
  • Private Service Connect 介面:介面可讓用戶和供應端產生流量,進而啟用雙向通訊。介面可與端點和後端位於相同的虛擬私有雲網路中。

私人服務存取權是 Private Service Connect 的替代方案,可讓使用者透過虛擬私有雲網路對等互連連線至供應商服務。使用私人服務存取權時,建議您考量各個生產端服務的 IP 分配、IP 重疊和共用配額。

混合型設計:連接內部部署環境

當您確認需要使用混合式連線並已經選擇符合頻寬、效能和安全性需求的解決方案後,請思考如何將解決方案整合至虛擬私有雲的設計中。

使用共用虛擬私有雲可以降低各項專案複製相同解決方案的需求。舉例來說,如果您將 Cloud Interconnect 解決方案整合至共用虛擬私有雲端,那麼所有 VM (無論所屬地區或服務專案為何) 均可存取 Cloud Interconnect 連線。

請盡可能使用動態轉送

動態轉送適用於所有混合型解決方案,包括 HA VPN、傳統版 VPN、專屬互連網路和合作夥伴互連網路。動態轉送會使用 Google Cloud Router 當做邊界閘道協定 (BGP) 發言者來提供動態 External BGP (eBGP) 轉送。

Cloud Router 不在資料層裡,只會在 SDN 中建立路徑。

動態轉送不會使用標記,而 Cloud Router 也絕不會重新通告已知前置字串。

您可以在每個虛擬私人雲端網路上啟用 Cloud Router 地區性或全球性模式。如果您選擇地區性轉送,則 Cloud Router 僅會通告一同位於部署 Cloud Router 之相同地區中的子網路。反之,全球性轉送會通告位於所有地區的指定虛擬私人雲端網路的所有子網路,但是會處罰地區外部的已通告和已知路徑。這種做法會一律優先選擇本地互聯網路以維持地區內的對稱,並且在地區之間新增等於 200 + 存留時間 (以毫秒計) 的處罰指標 (MED) 來計算對稱。

靜態轉送

靜態轉送僅適用於 Cloud VPN。靜態轉送能讓您設定指向 Cloud VPN 通道的下一個躍點路徑。

根據預設,無論地區為何,靜態路徑都適用於網路中的所有 VM。靜態轉送也可以讓網路管理員使用執行個體標記選擇性設定路徑適用的 VM,以便在建立路徑時將該 VM 鎖定為目標。

靜態路徑在虛擬私人雲端網路中全域適用,且彼此的路徑優先順序相同。因此,如果您在多個地區中有多個通道具有相同優先順序的相同前置字串,VM 將在所有通道中使用 5 組合雜湊碼 ECMP。如要讓這項設定最佳化,您可以參照每個地區的執行個體標記,並據此建立偏好路徑,以便建立自己想要的地區內路徑。

如果不想讓傳出 (輸出) 流量流經 Google 的預設網際網路閘道,您可以設定偏好的預設靜態路徑,將所有流量經由通道傳回內部部署。

使用連線虛擬私人雲端網路為具有多個虛擬私人雲端網路的軸輻式架構調度資源

如要擴充具有多個虛擬私有雲網路的軸輻式架構規模,請在一個或多個專屬虛擬私有雲端網路中設定集中型混合式連線能力,然後將混合式連線和所有虛擬私有雲輪輻新增至 Network Connectivity Center 中樞。您必須啟用與虛擬私有雲輻射點交換路由。這項設定可將靜態路徑或動態已知路徑匯出至虛擬私有雲輪輻,以便為虛擬私有雲設計提供集中式設定和資源調度功能。

下圖說明使用 Network Connectivity Center 的集中式混合式連線設計:

使用 Network Connectivity Center 的混合式設計

或者,如果不會超過資源限制,且需要使用 NVA,您也可以使用虛擬私人雲端網路對等互連和自訂通告路徑,提供共用混合式連線的存取權。

下圖說明採用虛擬私有雲端網路對等互連自訂路徑的集中型混合式連線:

混合式設計

這項集中式設計與在每個單獨虛擬私人雲端網路中使用 VPN 通道或 VLAN 連結的傳統混合式連線部署剛好相反。

網路安全

Google Cloud 針對其基礎架構和服務提供完整的安全功能,從資料中心和自訂安全硬體的實體安全防護到專屬研究團隊一應俱全。不過,保護Google Cloud 資源是共同的責任。您必須酌情採取適當的措施,以利妥善保護應用程式和資料。

識別明確的安全目標

一開始先確立一組明確的安全性目標,而且所有相關人員都同意將這組目標當做產品的基本要素,然後才評估要使用雲端原生或雲端支援安全性控管。這些目標應強調可達成性、說明文件和疊代作業,以便在整個開發過程中持續參照及改進。

限制外部存取權

建立使用虛擬私人雲端網路的 Google Cloud 資源時,您必須選擇資源所在的網路和子網路。系統會從與子網路相關聯的其中一個 IP 範圍為這項資源指派內部 IP 位址。如果防火牆規則允許,虛擬私人雲端網路中的各個資源就能透過內部 IP 位址彼此通訊。

限制只讓需要網際網路的資源存取網際網路。只有私人內部 IP 位址的資源仍然可以透過 Private Service Connect 或 Private Google 存取權存取使用許多 Google API 和服務。私人存取權可讓資源與主要的 Google 和 Google Cloud 服務互動,同時又能與公開網際網路隔絕。

此外,使用機構政策即可進一步限制允許使用外部 IP 位址的資源。

如要允許 VM 存取網際網路,如果流量可透過 HTTP(S) 下載,且您想實作身分控管,請使用安全 Web Proxy。否則請使用 Cloud NAT。

定義機密資料的服務範圍

如果工作負載涉及機密資料,您可以使用 VPC Service Controls,為虛擬私人雲端資源以及 Google 代管服務設定服務範圍,並控管跨範圍邊界的資料移動。有了 VPC Service Controls,您就能將專案和內部部署網路歸入同一個範圍,以防其他使用者透過 Google 代管服務存取您的資料。服務範圍中不得包含不同機構的專案,但是您可以使用重疊範圍,讓不同服務範圍中的專案和服務相互通訊。

盡可能使用 Google Cloud 防火牆規則管理流量

Google Cloud VPC 包括可水平擴充且以分散方式套用至每個 VM 的狀態防火牆。詳情請參閱 Cloud NGFW 總覽

Google Cloud Marketplace 具備相當龐大的第三方解決方案生態系統,其中包括執行下列任務的 VM:提供進階安全性,例如防止資訊外洩、應用程式漏洞和權限升級;偵測已知和未知的威脅;以及套用網址篩選。此外,還有一個操作優勢可跨雲端服務供應商和內部部署環境執行單一廠商實作政策。

您通常可以使用相同優先順序 (透過 5 項組合雜湊碼分配流量) 或不同優先順序 (建立備援路徑) 來指定路徑,流量就會隨之轉送至這些 VM,如以下連至開發子網路的多重路徑圖表所示。

使用 Google Cloud 防火牆規則管理流量

大部分的解決方案都需要多個網路介面 VM。VM 的每個虛擬私有雲網路只能有一個介面,因此建立多網路介面 VM 時,每個介面都必須連接至個別虛擬私有雲網路。

將第三方解決方案部署至虛擬私人雲端網路時,規模也是相當重要的考量,原因如下:

  • 限制:大多數以 VM 為基礎的設備必須插入到資料路徑中。這需要用一個多網路介面 VM 來橋接位於相同專案的多個虛擬私有雲網路。由於虛擬私人雲端資源配額是在專案層級設定,因此所有虛擬私人雲端網路的匯總資源需求可能會造成限制。
  • 效能:在虛擬私有雲網路的完整水平擴充能力屬性中,引入單一 VM 瓶頸違背了雲端設計方法。為緩解這種情況,您可以將多個網路虛擬設備 (NVA) 放入內部直通式網路負載平衡器後方的代管執行個體群組中。

在大規模需求架構中將這些因素納入考量,請將安全性控管推送到端點。首先要強化 VM,並使用 Google Cloud防火牆規則。這項策略也可能會採用主機端點檢查代理程式,這類代理程式不會透過多個網路介面 VM 變更虛擬私人雲端網路的轉送架構。

如需此種配置的其他範例,請參閱虛擬私人雲端網路間的有狀態 L7 防火牆參考架構

盡可能使用數量較少但範圍較廣的防火牆規則組合

任何 VM 上只能編寫一定數量的規則。不過,您可以將許多規則合併至一個複合式規則定義。例如,如果虛擬私人雲端網路的所有 VM 必須明確允許 10 個輸入 TCP 通訊埠,您有兩種方法可以選擇:撰寫 10 項個別規則,每項規則定義單一通訊埠;或是定義包含所有 10 個通訊埠的單一規則。比較有效率的選擇是定義包含所有 10 個通訊埠的單一規則。

建立套用至整個虛擬私人雲端網路的一般規則集,然後透過目標針對較小的 VM 群組使用更具體的規則集。換言之,一開始先定義廣泛的規則,然後視需求逐步定義較狹隘的規則:

  1. 套用虛擬私人雲端網路中所有 VM 通用的防火牆規則。
  2. 套用可跨數個 VM 組成群組的防火牆規則,例如服務執行個體群組或子網路。
  3. 將防火牆規則套用至個別 VM,例如 NAT 閘道或防禦主機。

盡可能使用服務帳戶區隔 VM

許多機構的環境都必須針對虛擬私人雲端網路中的 VM 子集制定專屬規則。在這種情況下,您可以採用下列兩種常見方法:子網路隔離和目標篩選。

子網路隔離

透過子網路隔離,子網路就會形成套用 Google Cloud 防火牆規則的安全邊界。此方法經常會在內部部署網路結構中使用,也會在 IP 位址和網路位置形成 VM 身分的一環的情況下使用。

您可以將專屬的標記、網路標記或服務帳戶套用至那些執行個體,進而在特定的子網路上識別 VM。這樣一來,您就可以建立防火牆規則,並僅將這些規則套用至子網路中具有相關聯標記、網路標記、服務帳戶的 VM。例如,您可以在「Firewall rules」(防火牆規則) 頁面中使用以下規則設定,即可建立允許所有相同子網路 VM 間通訊的防火牆規則:

  • 目標指定的目標標記
  • 目標標記subnet-1
  • 來源篩選器子網路
  • 子網路:依名稱選擇子網路 (範例:subnet-1).

目標篩選

目標篩選可讓所有 VM 位於相同子網路上,或是成為一組任意子網路的一部分。如果採用此方法,執行防火牆規則時就不會使用子網路成員資格來識別執行個體。因此,您可以改用標記、網路標記或服務帳戶來限制相同子網路中 VM 之間的存取權。每個使用相同防火牆規則的 VM 群組都會套用相同的網路標記。

為了說明這一點,假設有一個在相同子網路中部署所有執行個體的三層 (網路、應用程式、資料庫) 應用程式。網路層可和使用者以及應用程式層通訊,而應用程式層可和資料庫層通訊;除此之外,階層之間不允許其他通訊。執行網路層的執行個體具有 web 網路標記,執行應用程式層的執行個體具有 app 網路標記,而執行資料庫層的執行個體則具有 db 網路標記。

下列防火牆規則會實作此方法:

規則 1:允許使用者 → 網路層 目標指定的目標標記
目標標記網頁
來源篩選器IP 範圍
來源 IP 範圍0.0.0.0/0
規則 2:允許網路層 → 應用程式層 目標指定目標標記
目標標記app
來源篩選器來源標記
來源標記web
規則 3:允許應用程式層 → 資料庫層 目標指定的目標標記
目標標記db
來源篩選器來源標記
來源標記app

但是,即使可以透過這種方式使用網路標記來篩選目標,仍建議您盡可能使用代碼或服務帳戶。目標標記並未設有存取權限,因此當 VM 為使用中時,具有 instanceAdmin 角色的任何人都能變更這類標記。標記和服務帳戶設有存取權限,這表示特定使用者必須具有明確的授權才能使用服務帳戶。每個執行個體只能有一個服務帳戶,但是可以具備多個標記。此外,只有當 VM 停止時,才能變更指派給 VM 的服務帳戶。

使用標記時透過自動化來監控安全性政策

如果您使用聯播網標記,請注意,執行個體管理員可以變更這些標記。這樣做可以規避安全性政策。因此,如果您在實際工作環境中使用網路標記,請透過自動化框架協助克服缺少 IAM 管制網路標記的漏洞。

使用其他工具協助保障應用程式安全

除了防火牆規則外,請運用以下工具協助保障應用程式安全:

  • 使用 Google Cloud 全域 HTTP(S) 負載平衡器,支援高可用性與通訊協定標準化。
  • 整合 Google Cloud Armor 與 HTTP(S) 負載平衡器,以便提供分散式阻斷服務防護功能,並讓您能夠封鎖或允許網路邊緣的 IP 位址。
  • 使用 IAP (IAP) 驗證使用者身分及要求的結構定義,判斷是否應將存取權授予使用者,以利控制應用程式存取權。
  • 透過 Security Command Center 為安全性深入分析、異常偵測和安全漏洞偵測的結果提供單一介面。

網路服務:NAT 和 DNS

使用固定式外部 IP 位址搭配 Cloud NAT

如需位於 VM 範圍的固定式外部 IP 位址,請使用 Cloud NAT。例如,如果第三方允許來自特定外部 IP 位址的要求,您就必須使用固定式傳出 IP 位址。使用 Cloud NAT 可讓您在每個地區擁有少量用於傳出通訊的 NAT IP 位址。

Cloud NAT 也允許 VM 執行個體不必擁有自己的外部 IP 位址,就能跨網際網路進行通訊。 Google Cloud 防火牆規則具有狀態。這表示如果來源與目標之間或目標與目的地之間允許連線,只要連線有效,系統就會允許任何方向的所有後續流量。換句話說,只要工作階段建立完畢,防火牆規則即會允許雙向通訊。

使用 Cloud NAT 在不同 VPC 之間重複使用 IP 位址

啟用 Network Connectivity Center 的 Cloud NAT 後,即可在各個 VPC 中重複使用 IP 位址。使用 Network Connectivity Center 虛擬私有雲輪輻連線時,即可使用虛擬私有雲網路間的 Cloud NAT。如果虛擬私有雲 IP 位址與外部網路的範圍重疊,請啟用混合式 NAT。只有從 Google Cloud 中的工作負載發起的連線會轉譯至外部網路。

使用私人 DNS 區域進行名稱解析

使用 Cloud DNS 上的不公開區域,即可在虛擬私人雲端網路上透過內部 IP 位址使用 DNS 解析服務,而且無需向外部公開這項對應關係。

使用水平分割 DNS 在虛擬私人雲端網路內 (而不是從外部) 將服務對應到不同的 IP 位址。例如,您可以透過公開網際網路的網路負載平衡來公開服務,但是讓內部負載平衡在虛擬私人雲端網路中使用相同的 DNS 名稱來提供服務。

Google 代管服務的 API 存取權

盡可能使用預設的網際網路閘道

從虛擬私人雲端網路中的資源存取 Google API 時,會遵循預設網際網路閘道的下一個躍點。雖然名為下一個躍點閘道,但從執行個體到 Google API 的流量路徑仍在 Google 的網路內。

根據預設,只有具備外部 IP 位址的 VM 執行個體可與 Google API 和服務通訊。如果要從無外部 IP 位址的執行個體存取,請設定 Private Service Connect 端點,或針對每個子網路使用私人 Google 存取權功能。這樣做並不會降低 Google API 的通訊速度。

Google Kubernetes Engine (GKE) 會在部署節點的子網路上自動啟用私人 Google 存取權。這些子網路上無外部 IP 位址的所有節點均可存取 Google 代管服務。

在需要修改預設路徑時新增 Google API 的明確路徑

如果您需要修改預設路徑,請為 Google API 目的地 IP 範圍新增明確路徑。

如果環境中的預設路徑 (0.0.0.0/0) 不使用預設網際網路閘道的下一個躍點,請為 Google API 使用的目的地 IP 位址範圍設定明確路徑。將明確路徑的下一個躍點設為預設網際網路閘道。例如,當您需要透過內部部署裝置檢查所有流量時,即適合此做法。

在相同子網路上部署使用 Google API 的執行個體

部署需要在相同子網路上存取 Google API 和服務的執行個體,並針對沒有外部 IP 位址的執行個體啟用私人 Google 存取權。或者,設定 Private Service Connect 端點。

如果您要從內部部署環境使用私人 Google 存取權存取 Google API,請參閱「為內部部署主機設定私人 Google 存取權」,以便透過私人 IP 位址範圍存取某些 Google 服務。由於您無法透過此服務提供的 IP 位址存取其他 Google API,因此請先查看支援的服務,然後再啟動這項功能。啟動此功能時可能需要設定其他 DNS 設定,如 DNS 視圖。

如果您要透過 Private Service Connect 端點從內部部署環境存取 Google API,請參閱「透過 on-premises 主機存取端點」一文瞭解詳情。

記錄、監控和能見度

針對特定用途和預定目標對象調整記錄功能

使用虛擬私有雲流程記錄檔進行網路監控、鑑識、即時安全性分析和支出最佳化等作業。您可以在子網路層級啟用或停用虛擬私有雲流程記錄。啟用子網路的虛擬私有雲流量記錄後,記錄檔就會收集來自該子網路中所有 VM 執行個體的資料。

這些記錄檔會記錄 VM 執行個體傳送和接收網路流量的樣本。您的記錄使用個案有助於判斷您需要記錄哪些子網路,以及記錄多長時間。

系統每隔 5 秒會從 Compute Engine VM 即時匯出一次依連線匯總的流量記錄檔。您可以在 Cloud Logging 中查看流量記錄檔,並將記錄檔匯出至 Cloud Logging 匯出功能支援的任何目的地。

Logging 中的「Logs ingestion」(記錄檔擷取) 頁面會追蹤專案中的記錄檔量,並且可讓您停用所有記錄檔的擷取作業,或排除 (捨棄) 不感興趣的記錄項目,以盡可能減少超出每月配額的記錄檔費用。

記錄檔是確保運作成功且安全無虞的重要環節,但您必須查看記錄檔並採取行動,記錄檔才能發揮作用。請依據目標對象調整記錄檔,這樣做有助於確保虛擬私人雲端網路運作順暢且非常安全。

詳情請參閱「使用虛擬私有雲流量記錄」。

使用長期連線增加虛擬私人雲端網路的記錄檔匯總間隔

若虛擬私人雲端網路主要使用長期連線,請將記錄檔匯總間隔設為 15 分鐘,以大幅降低產生的記錄檔數量,並讓分析作業更快速簡便。

以下舉網路監控為例來說明增加記錄檔匯總間隔的工作流程,此工作流程由下列工作組成:

  • 執行網路診斷
  • 依 VM 和應用程式篩選流程記錄,以利瞭解流量變化
  • 分析流量增長以預測容量

使用虛擬私有雲流程記錄檔取樣法來減少資料量

使用虛擬私有雲流量記錄檔取樣法來減少虛擬私有雲流量記錄檔的資料量,並讓低階範例和匯總檢視仍保持可查看。

瞭解網路用量並調整最理想的網路流量費用,是適合利用取樣來減少資料量的其中一種工作流程範例。此工作流程包括下列工作:

  • 估算地區與區域間的流量
  • 估算網際網路上傳送至特定國家/地區的流量
  • 識別用量最高的項目

如僅需要 IP 和通訊埠資料則移除其他中繼資料

在您僅對 IP 位址和通訊埠感興趣的安全性應用實例中,請移除其他中繼資料,以減少 Cloud Logging 中耗用的資料量。

網路鑑識是適合移除中繼資料的其中一種工作流程範例,其中包含下列工作:

  • 判斷哪個 IP 在何時與什麼對象通訊
  • 識別藉由分析網路流程而找到的任何遭駭 IP 位址

使用 Network Intelligence Center 取得網路洞察資料

Network Intelligence Center 提供單一控制台,方便管理 Google Cloud 網路瀏覽權限、監控網路和疑難排解。以下各節將詳細說明 Network Intelligence Center 元件。

Network Topology

使用 Network Topology 以視覺化方式呈現網路拓撲。

連線能力測試

使用連線測試,協助診斷虛擬私有雲網路的連線問題。

效能資訊主頁

使用效能資訊主頁,查看虛擬私人雲端網路所用實體網路的效能。

防火牆深入分析

使用防火牆洞察,瞭解防火牆規則和它們的互動方式。

Network Analyzer

使用網路分析器監控虛擬私有雲網路設定,並偵測錯誤和不盡理想的設定。

Flow Analyzer

使用Flow Analyzer 進一步瞭解虛擬私有雲流量。

參考架構

本節將討論本文件中用來說明一些最佳做法的幾種架構。

單一專案、單一虛擬私人雲端網路

這個初始參考架構包含了跨多個地區部署高可用性架構的所有必要元件、子網路層級隔離,以及連接至內部部署資料中心的 99.99% 服務水準協議。

單一專案、單一虛擬私人雲端網路

單一主專案、多項服務專案、單一共用虛擬私有雲

建構於初始參考架構上的共用虛擬私人雲端主專案和多項服務專案,可讓管理員將管理工作 (例如建立和管理執行個體) 委派給服務專案管理員,同時保有子網路、路徑和防火牆等整個網路資源的集中控制權。

單一主專案、多項服務專案、單一共用虛擬私有雲

多個主專案、多項服務專案、多個共用虛擬私有雲

下圖說明依據高可用性設計建置,同時將實際工作環境與其他專案區隔開來的虛擬私人雲端隔離架構。考慮隔離虛擬私人雲端的原因很多,其中包括稽核需求 (例如 PCI)、環境之間的配額考量,或只是要採用另一層邏輯隔離。每個位置只需要兩個互連網路 (以提供備援),但是可以從這些互聯網路新增連至多個虛擬私人雲端網路或地區的多個互連網路連結。

多個主專案、多項服務專案、多個共用虛擬私有雲

視您決定將 Proxy、驗證和目錄服務等核心服務放置於何處,使用隔離可能會需要進行複製作業。使用共用服務虛擬私有雲網路可避免這類複製作業,並且可讓您透過網路連線中心與其他虛擬私有雲網路共用上述服務,同時集中處理管理與部署作業。

多個主專案、多項服務專案、多個共用虛擬私有雲

虛擬私人雲端網路間的有狀態 L7 防火牆

此架構具有多個由 L7 下一代防火牆 (NGFW) 設備橋接的虛擬私人雲端網路,該設備在虛擬私人雲端網路間扮演多 NIC 橋接器的角色。

其採用不信任的外部虛擬私人雲端網路來終止混合式互連網路以及網際網路連線,這類網路和連線會在 L7 NGFW 外部支線上終止以進行檢查。這項設計有許多變化,但是關鍵原則在於先以防火牆篩選流量,再讓流量抵達可信任的虛擬私人雲端網路。

這項設計要求每個虛擬私人雲端網路都必須位於您插入 VM NGFW 的專案中。由於配額是在專案層級實行,因此您必須考量所有虛擬私人雲端資源的匯總。

在虛擬私人雲端之間的有狀態 L7 防火牆

多個虛擬私有雲網路與 Network Connectivity Center 互連

此架構具有多個虛擬私有雲網路,這些網路會透過 Network Connectivity Center 互相連線。我們引入了轉接 VPC 網路,用於終止混合式互連網路,並在所有其他 VPC 之間共用混合式連線,這樣就不必為每個 VPC 網路建立 VLAN 連結。這種做法可整合外部連線及其相關的路由考量。同樣地,您也可以引進一或多個共用服務虛擬私有雲網路,用於主機的一般服務,例如 Proxy、驗證和目錄服務。這項設計有許多變化,但主要原則是將不同服務和連線類型視為 Network Connectivity Center 中樞的輪輻,以便提供這些服務和連線類型之間的任意連線。如需這項參考架構的詳細說明,請參閱「使用 Network Connectivity Center 建立 Cross-Cloud Network 虛擬私有雲間連線」一文。

後續步驟