扁平網絡和EIP網絡在不同云環境中的應用場景
通望通過本文可以幫助大家了解扁平網絡和EIP網絡這兩種不同的云網絡環境。
用戶在搭建IaaS前,***的問題就是該搭建哪種IaaS網絡模型和在搭建該模型之前該如何在單機上準備必要的網絡環境。今天我們來分析一下扁平網絡和EIP網絡分別在公有云和私有云中的應用場景。
1. 扁平網絡
扁平網絡是私有云環境中最常用、最簡單的網絡環境。用戶的云主機和計算節點處于相同的網絡層,用戶的應用完全不會感知自己運行在云主機中、還是物理主機中。用戶的應用會非常容易的從物理機遷移到扁平網絡的云主機中。 在扁平網絡中,假設用戶設置的Public-L2的網卡設備為eth0,那么ZStack創建的云主機的IP地址將會和eth0所在的網絡擁有相同的網段。 例如用戶計算節點eth0的IP地址為192.168.0.2(網關為192.168.0.1,子網掩碼為255.255.255.0),用戶在Public-L3中設置的IP Range為 192.168.0.100~192.168.0.200。那么在創建在Public-L3網絡上的云主機將會自動從ZStack獲取192.168.0.100~192.168.0.200中的一個IP地址。
注意:用戶在設置Public-L3的IP Range的時候需要避免和eth0網絡上其他網絡設備的IP地址沖突
用戶在打算實施扁平網絡私有云部署前,需要預先考慮如何優化公司網絡配置。 原則上也很簡單,就是用戶可以準備一個全新的二層網絡環境。給該二層網絡環境配置一個網關和對應的IP CIDR,并且不配置任何的DHCP服務。
扁平網絡也可以直接用于“公有云”業務,也就是每一個云主機都有一個互聯網的獨立IP地址。很多VPS提供商利用該模式提供服務。 需要注意的是,扁平網絡的云主機之間沒有二層網絡隔離,網絡安全需要通過三層的安全組(Security Group)提供。 用戶在選擇Public-L3網絡服務的時候,需要選上Security Group。通常情況下,三層網絡安全控制已經可以達到要求。
2. EIP 網絡
EIP的網絡模式(Port Forwarding的模式與EIP模式幾乎類似)實際是經典的亞馬遜AWS EC2模式。在該模式中,云主機會被設置上兩個IP地址。 其中一個是私網IP地址,也就是在云主機中用ifconfig看到的IP地址。還有一個是公網IP地址(可以是互聯網的IP地址,也可以是公司內部網絡的IP地址)。 云主機的私網IP地址無法從外部直接連接(例如,無法從Internet上連接某公司內部一個IP為192.168.0.10的機器)。 用戶通過公網IP地址可以登錄該云主機,并進行相關的操作。由于該模式是經典的公有云模式,所以其他公有云也大多提供類似的模式。
以ZStack為例,在其EIP網絡中,云主機的私網和公網之間是通過路由器(例如虛擬路由器)來隔離和中轉的。虛擬路由器既承擔了DHCP、DNS這樣的服務, 也承擔了網關和DNAT的服務。這種做法可以做到更有效的網絡隔離,也可以在公網IP地址有限的情況下節省公網IP地址。 如果云主機提供的網絡服務只供私網內的其他云主機使用,就不需要獲得一個獨立的公網IP地址。 在公有云業務中,每個獨立的公網IP地址也都是需要收費的。
在EIP模式中,虛擬路由器至少需要擁有一個公網IP地址,用于私網內部云主機訪問公網的中轉。在沒有給云主機配置EIP之前, 公網上的其他網絡設備是無法透過虛擬路由器訪問云主機的,但是云主機依然可以通過虛擬路由器訪問公網(SNAT)。 而EIP相當于DNAT,相當于在虛擬路由器上假設了一個橋梁。
注意:在很多網絡環境中,用戶采用了EIP的網絡架構,但是未必需要使用EIP功能。用戶可能只用虛擬路由器的SNAT來分割內外網。
私有云是否會使用EIP網絡模式呢?答案是根據用戶的需求和網絡環境來確定的。通常有兩種私有云的情況會使用EIP模式:
一,提供網絡服務的公司有一些不多的互聯網IP地址。提供網絡服務的云主機搭建在公司內網環境,用于連接數據庫服務器和應用服務器。 通過EIP,可以讓用戶可以直接訪問放置在公司內網的云主機。如果云主機需要遷移、升級、擴容,用戶也可以把EIP在不同的云主機之間進行無縫遷移。 當需要使用負載均衡的時候,該EIP服務可以變身為負載均衡器,把來源于用戶的網絡訪問分散到不同的云主機上。
二,公司的部門較多,有部門需要在公司內網環境里劃分獨立的私有網絡,該私有網絡可以訪問公司內網,但是公司其他部門不能直接連接私有網絡的機器。 這個場景中,云主機EIP的IP地址是公司內網IP地址。使用EIP網絡拓撲可以給每個部門的私有網絡分配不同的Vlan號以達到二層網絡隔離。
注意:用戶在設置Public-L3的IP Range的時候需要避免和eth0網絡上其他網絡設備的IP地址沖突。否則如果虛擬路由器可能會啟動失敗, 并報告IP地址被占用。