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