Virtual Private Cloud 即為虛擬的私有雲,很簡單的概念,也就是在雲端你可以建立起自己的私有網路,可以看成是在雲端上有一個自己的LAN
如下圖,我們可以在GCP內建立起屬於自己的私有網路。
VPC Network : a global entity spanning all GCP regions. 同一個VPC底下的VM即使分屬不同Region,也可透過Pravite IP互相溝通。(GCP 內部每個Project Default VPC Limit為5個)
Subnet(子網路):在一個正常企業內,不同用途的服務或是主機會透過網路實體切分或是Vlan切分形成所謂的子網路(Subnet),在雲端也是一樣,如上圖,我們可依照服務特性或是主機屬性進行Subnet的切分,不同Subnet可以透過Private IP互通,但Subnet上可經由配置不同的FW進行相關流量控管。
GateWay(匝道): 每個 Subnet 會有預設的 Gateway: xxx.yyy.zzz.1,沒有 NAT 概念的節點,透過 Route、Firewall 控制
*如自行配置Subnet需注意每個Subnet CIDR情況,如配置不當會造成IP Overlapping導致網路異常,尤其當Project為與on-premise混合使用時更需注意IP配發,避免造成後續網路障礙排除困難,後續會再提到混和雲相關配置
每個 subnet 都會有以下四個保留位址(白話文:每一個切出去的子網段都會自動扣掉四個IP,所以配發的時候要先預留這四個IP)
Network address (first address in the CIDR range)
Default gateway address (second address in the CIDR range)
Reserved address (second-to-last address in the CIDR range)
Broadcast address (last address in the CIDR range)
範圍: Global, 每個 VPC Network 有預設幾個 firewall Rule,如下圖可看到 icmp, rdp, ssh, 還有 OutBound internal。(預設的 firewall 只有 default network 才有, 自建的 VPC network 則不會有這些 firewall , 需自行設定)
可以透過 tag 方式套用到不同的 VM or resources
有 allow、deny 兩種,每條 rule 只能是一種
企業或是個人在初期使用雲端環境時,因為網路環境尚屬單純,故VPC Network在配置上的限制會相關來說簡單,但是如果Project數量成長後或是未來規畫要與on-premise作資料交換,可能會造成上面說到的IP Overlapping的問題,
換句話說,未來Project要與其他Project做資料交換,將會造成 CIDR 碰撞問題,這個問題就會造成架構上的瓶頸,所以在架構規劃初期,就應該有一個完整的網路規劃與保留未來擴充的空間
VPC設定在雲端上看似很簡單,但是如果初期建置沒有思考到後續專案的相關資料交換與成長性,很容易造成後續專案擴充上的問題,以筆者自己的經驗,很多時候就必須做很多疊床架屋的架構,甚至整個專案打掉重新配置基礎VPC都是有可能的。