所有的雲端資源都是基於網路服務來讓使用者得以存取, 雲端網路服務提供了一個高頻寬、低延遲的網路配置,讓用戶如同使用自己企業內的網路,可以自行配置多種網路服務的組成元件,透過網路的規劃來隔離不同的資源與部門,還能用加密私有連線增加安全性,用主/被動、邏輯與物理的冗餘保護來提高可用性,雲端用戶可以以更經濟、高效的方式使用各種雲端服務。網路服務的組成元件包含有:
- 虛擬雲端網路 (Virtual cloud network, VCN)
- 子網 (Subnet)
- 虛擬網路介面卡 (Virtual Network Interface Cards, VNIC)
- 私有/公用IP (Private / Public IP)
- 網際協定第6版 (IPV6)
- 動態路由閘道 (DRG)
- 互聯網閘道 (Internet Gateway)
- 網路位址轉換閘道 (NAT Gateway)
- 服務閘道 (Service Gateway)
- 本地對等連線閘道(Local Peering Gateway, LPG)
- 遠程對等連線 (Remote Peering Connection , RPC)
- 路由表 (Route Table)
- 安全列表 (Security lists)
- 網路安全群組 (Network Security Groups, NSG)
- 動態主機設定協定選項 (DHCP Options)
- …
1.虛擬雲端網路(Virtual Cloud Network)與子網路
虛擬雲端網路(Virtual Cloud Network, VCN)是一個軟體定義網路(Software-Defined Network),為於基礎設施雲內所使用的私有網路,存在於單一區域不能誇多個區域,在單個租戶內可以有多的虛擬雲端網路以達到資源的分群與隔離,並有路由表(Route Table)防火牆(Firewall)、閘道(Gateway)等網路元件可使用。虛擬雲端網路專用網路遵守RFC 1918(IPv4),但實際上使用 /16 到/30的大小,舉例來說就是不支援/8的專用網路,有別於一般CIDR保留地一個與最後一個IP作為network與broadcast ,虛擬雲端網路保留了前兩個與最後一個IP,所以這是/30的原因。虛擬雲端網路建立後預設就會配置的元件有:
- 空的路由表(Route Table)
- 有預設安全規則的安全列表(Security List)
- 有預設值的動態主機設定協定(DHCP)選項
子網路(Subnet)不能跨越虛擬雲端網路,為虛擬雲端網路子集合的架構,一個子網路為單一連續的IPv4 CIDR而非IPv6 (IPv6目前只在美國的政府雲內支援),設計時注意不要與地端環境(On-Premises)或其他的虛擬雲端網路有所重疊(Overlap),子網路可以跨越多個可用區域,當我們將虛擬雲端網路切割成多個連續的子網路時,可以為特定可用區(AD-specific)也就是該子網路存在於單一可用區內(AD)內,也可以規劃成區域性網路(Reginal),成為跨越多個可用區的子網路,如下圖。
在規劃子網路時存取類型又可以分為公用子網路(Public Subnets)或私有子網路(Private Subnets)兩種類型,建立完畢後就不能更改子網路的類型,預設類型為公有,若選擇類型為私有則會內含私有IP(Private IP),選擇私有網路可能是因為該運算實例運行資料庫或其他資安考量,若選擇類型為公用才能選擇是否要使用公有IP(Public IP)。
vcn-kenton1 : 10.0.0.0/16
Subnet1 : 10.0.1.0/24
Subnet2 : 10.0.2.0/24
2.虛擬網路介面卡
使用虛擬網路介面卡(Virtual Network Interface Cards, VNIC)將其附加於實例與子網路上,讓實例可以與可以與虛擬雲端網路的端點連結,虛擬網路介面卡又分為主要/次要兩種。每個實例都至少擁有一張主要的虛擬網路介面卡(Primary VNICs) ,在創建實例期間指派,無法刪除這張主要的網卡但會在實例被終止後自動刪除,使用者可以再添加輔助的虛擬網路介面卡到實例,輔助網卡則可以依據需求刪除,主要網卡跟次要網卡根據應用的不同也可能規劃於不同子網路甚至不同虛擬雲端網路,但必須存在同一個可用區內,如下圖。
每一個運算實例至少需要擁有一個主要的私有IP地址於主要的虛擬網路介面卡上面,使用者可以自己決定IPv4地址或讓雲端服務自行分配,可以再加上一張以上的虛擬網路介面卡稱為次要虛擬網路介面卡(Secondary VNICs) ,可添加的次要網路卡數量則受實例的規格影響。
3.IP位址
透過IP地址 (IP Addresses) 讓實例得以於雲端相互溝通,IP地址的類型又分為公有IP( Public IP )與私有IP (Private IP)。
3.1私有IP
每個實例作業系統至少擁有一個私有IP地址,無法使用類似動態主機設定協定的機制來獲取次要的私有IP地址,可以使用私有IP與本地主機連線(通過IPSec VPN或FastConnect ), IP地址與虛擬網路介面卡的關係是,在每張虛擬網路介面卡上面只會有一個主要私有IP地址(Primary private IP address),最多可以再加上31個次要私有IP地址(Secondary private IP address),如圖
3.2公有IP
公有IP則跟隨著私有IP可以再附加上虛擬網路介面卡,大多情況下不會設置公有IP,除非像是負載均衡器(Load Balancer)、網路位址轉換閘道(NAT Gateway)、動態路由閘道(Dynamic Routing Gateway)等的應用,使用公有IP的實例必放置於公有子網路內,也沒有針對公有IP收取費用的,公有IP 又分為臨時公有IP (Ephemeral)與預留公有IP (Reserved) 。
- 臨時公有 IP 位址:從公有IP 的資源池內分出臨時公有 IP 位址(Ephemeral),臨時公有 IP 位址是暫時的,只可以指派給主要的私有IP,在實例的整個生命週期中暫時存在,如果將此公共 IP 位址取消或終止相關的實例,則會釋放此公有IP放回到可用的IP資源池中。如果再次要求分配公共 IP 位址,則有可能得到不同先前的IP位址。
- 預留公有 IP 位址:預留公有IP位址(Reserved)的類型不依賴實例的生命週期而存在,可以將其從實例中分離而不會消失,分離後可以再一次分配給其他的實例,可以指派給主要或次要的私有IP,限制每個虛擬網路介面卡最多能有32個,每個區域最多可以有50個。
4.路由與閘道
每一個虛擬雲端網路預設就擁有一個沒有任何路由規則的預設路由表,若子網路沒有指定路由表則會使用此預設路由表,可以另外位子網路建立專屬的路由表,每一個子網路只會擁有一個路由表(Route table),在建立子網路時就會指定選用的路由表,也可以在在建立子網路之後更改,路由表內的路由規則記錄著目的地無類別域間路由(Destination CIDR)與路由目標(Route Target),又稱為”the next hop”下一個目的地,定義了封包如何傳輸於虛擬雲端網路外不同的IP 地址,路由表用於目標IP地址在虛擬雲端網路之外的環境,例如網際網路、地端環境或其他虛擬雲端網路,在加入路由規則時選擇目標類型,如圖,也可以透過更新路由表選擇許多不同的閘道。
- 動態路由閘道 : 動態路由閘道(Dynamic Routing Gateway, DRG)是一個獨立的物件與虛擬雲端網路是一對一的關係,動態路由閘道使得私有子網路可以連接至本地部屬的網路,可能是資料庫要去讀取地端的域名系統,當我們需要將本地端的資料遷移雲端時,動態路由閘道可以提供兩種機制來達到,分別為虛擬私人網路(VPN)與快速連結(FastConnect)。
- 網際網路閘道 : 當運行網頁伺服器或是負載均衡器時,我們可能會有一個公有IP,這時候就要建立一個網際網路閘道(Internet gateway),連結虛擬雲端網路與網際網路,封包就可以透過網際網路閘道進與出,一個虛擬雲端網路只會有一個網際網路閘道,所以若有不同的公有子網路就得都經由此閘道。
- 本地對等連線閘道 : 本地對等連線於一個區域內連接多個虛擬雲端網路,於每個虛擬雲端網路內建立本地對等連線閘道(local peering gateway),路由表的目的地無類別域間路由(Destination CIDR)填入目標虛擬雲端網路的無類別域間路由,還需要開啟虛擬防火牆設定,使用上若該對虛擬雲端網路有重疊,建立本地對等連線閘道就會錯誤,本地對等連線也不會遞傳於間接的虛擬雲端網路,例如VCN1 peer VCN2,VCN2 peer VCN3,不代表VCN1可以透過VCN2連結至VCN3,VCN1要是想連結至VCN3則需要再建立一個本地對等連線閘道。
- 網路位址轉換閘道 : 當使用私有子網路不使用公有IP又需要存取網際網路資源時的應用場景,舉例像是資料庫,建立於私有子網路,但又需要定期連到網際網路更新補丁,此時網路位址轉換閘道使得主機可以送出一個對外封包 連接至網際網路並接收回應,但無法接收來至網際網路的進入封包,也就是無法從外部碰觸到此主機,與網際網路閘道不同的是可以同時擁有多網路位址轉換閘道於一個虛擬雲端網路。
- 私有IP : 這是一個較為特別的路由目標類型,前面所提到路由目標都是餘虛擬雲端網路以外的環境,當子網路要路由到某個實例時所選用。
- 服務閘道 : 服務閘道(Service Gateway)使得私有子網路可以不用透過網際網路連接到特定的雲端資源,例如位於私有子網路的資料庫為了將備份置於物件儲存(Object Storage),可以不用透過公有IP 就可以使用物件儲存,在路由表的目的地無類別域間路由(Destination CIDR)配置上可以指定為目的地為哪一個雲端服務或是區域內全部的服務。
Pingback: Oracle (Virtual Cloud Network, VCN) 雲端網路服務(2) - Kxodia 肯佐迪亞