阿里云VPC產(chǎn)品詳解
原創(chuàng)【51CTO.com原創(chuàng)稿件】隨著云計(jì)算的快速發(fā)展,網(wǎng)絡(luò)問題爭議不斷,為了解決云上租戶網(wǎng)絡(luò)隔離問題,VPC(專有網(wǎng)絡(luò))應(yīng)運(yùn)而生,VPC也被認(rèn)為是未來的趨勢。
那么,阿里云的VPC是如何幫助用戶解決云上的隔離問題呢?VPC之間如何互通、VPC又是如何主動(dòng)訪問公網(wǎng),如何讓用戶從公網(wǎng)訪問呢?VPC上還有哪些可以避免的坑呢?
記者采訪了阿里云網(wǎng)絡(luò)技術(shù)團(tuán)隊(duì)高級產(chǎn)品專家李泉(花名)與阿里云網(wǎng)絡(luò)技術(shù)團(tuán)隊(duì)高級研發(fā)專家梵葉(花名),本文整理自二位的采訪內(nèi)容。
VPC的由來
VPC是隨著虛擬化、云計(jì)算的發(fā)展而出現(xiàn)的產(chǎn)品形態(tài)。用戶需要VPC主要有兩個(gè)方面的原因,一方面是安全的原因,即用戶需要更安全的網(wǎng)絡(luò)隔離,二是用戶需要有自主可控的網(wǎng)絡(luò)管理能力。
在VPC出現(xiàn)之前,用戶在云上購買虛擬機(jī)等云產(chǎn)品,云服務(wù)商會(huì)為虛擬機(jī)提供一個(gè)IP地址供用戶私用,但用戶在云上并沒有自己獨(dú)立的網(wǎng)絡(luò),用戶不能規(guī)劃自己的網(wǎng)絡(luò),也無法自定義云上網(wǎng)絡(luò)的地址等,也就是說,在VPC出現(xiàn)之前,用戶在云上是缺乏網(wǎng)絡(luò)能力的,而稍微成規(guī)模的用戶,其實(shí)都是需要在云上有網(wǎng)絡(luò)能力。
同時(shí),在VPC出現(xiàn)之前,所有的用戶都在一張大網(wǎng)內(nèi),不同用戶的虛擬機(jī)通過網(wǎng)絡(luò)層的隔離做到不同租戶的網(wǎng)絡(luò)隔離,但網(wǎng)絡(luò)層的隔離不如VPC基于數(shù)據(jù)鏈路層隔離那么徹底和安全。因此,云計(jì)算服務(wù)提供商就為每個(gè)租戶提供一張網(wǎng)絡(luò),并且是獨(dú)立的、隔離的網(wǎng)絡(luò),這就是現(xiàn)在的專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)。阿里云早在2013年就開始了VPC的研發(fā),并且于2014年正式上線VPC產(chǎn)品,為用戶提供服務(wù)。
另外,VPC的出現(xiàn)也來自于云服務(wù)商自身驅(qū)動(dòng),除了前面提到的滿足用戶的安全隔離和網(wǎng)絡(luò)管理需求外,最典型的就是在云計(jì)算環(huán)境中,傳統(tǒng)網(wǎng)絡(luò)越來越難以滿足業(yè)務(wù)的快速變化和發(fā)展需要,傳統(tǒng)網(wǎng)絡(luò)更關(guān)注的是穩(wěn)定性,但缺乏靈活性,這是巨大的矛盾。而隨著這幾年SDN思想和技術(shù)的發(fā)展,這個(gè)巨大的矛盾有了解決方案。
VPC是什么?
專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)是用戶基于阿里云創(chuàng)建的自定義私有網(wǎng)絡(luò), 不同的專有網(wǎng)絡(luò)之間實(shí)現(xiàn)二層邏輯隔離,用戶可以在自己創(chuàng)建的專有網(wǎng)絡(luò)內(nèi)創(chuàng)建和管理云產(chǎn)品實(shí)例,比如ECS、負(fù)載均衡、RDS等。
也可以這么簡單理解,VPC就是用戶在云上的一個(gè)網(wǎng)絡(luò)容器,容器里有虛擬路由器和虛擬交換機(jī),這些基礎(chǔ)組件構(gòu)成了用戶在云上的一個(gè)獨(dú)立網(wǎng)絡(luò)環(huán)境。有了這個(gè)網(wǎng)絡(luò)容器后,用戶就可以在容器中“存放”自己需要的云產(chǎn)品。更重要的是,這個(gè)網(wǎng)絡(luò)容器讓用戶有了豐富的網(wǎng)絡(luò)管理功能,比如,用戶可以自主選擇需要的私網(wǎng)地址段進(jìn)行組網(wǎng),管理公網(wǎng)的出和入,將多個(gè)VPC網(wǎng)絡(luò)容器打通,甚至和用戶線下IDC打通等。
經(jīng)典網(wǎng)絡(luò)下,統(tǒng)一部署都在阿里云的公共基礎(chǔ)網(wǎng)絡(luò)內(nèi)完成,網(wǎng)絡(luò)的規(guī)劃和管理由阿里云負(fù)責(zé),因此經(jīng)典網(wǎng)絡(luò)類型的產(chǎn)品更加適合對網(wǎng)絡(luò)沒有管理需求的客戶,而專有網(wǎng)絡(luò)VPC比較適合有網(wǎng)絡(luò)管理能力和需求的客戶。
VPC的特點(diǎn)和優(yōu)勢
現(xiàn)在業(yè)界眾多云服務(wù)商紛紛推出VPC,那么,阿里云的VPC又有什么特點(diǎn)和優(yōu)勢呢?
首先,阿里云VPC的整個(gè)架構(gòu)從最初設(shè)計(jì)時(shí)就是為了支撐百萬規(guī)模的。眾所周知,阿里云從2009年就啟動(dòng)了代號為“飛天”的云計(jì)算研發(fā)項(xiàng)目,致力于提供公共云計(jì)算服務(wù),當(dāng)時(shí)使用的就是經(jīng)典網(wǎng)絡(luò)。2013年,阿里云開始進(jìn)行VPC產(chǎn)品的研發(fā),當(dāng)時(shí)在阿里云平臺(tái)上已經(jīng)有了規(guī)模龐大的用戶,因此,VPC產(chǎn)品的底層基礎(chǔ)架構(gòu),就必須要支撐比當(dāng)時(shí)規(guī)模還要大很多倍的用戶規(guī)模。通過借鑒SDN的思想,阿里云采用當(dāng)時(shí)還不是標(biāo)準(zhǔn)的vXLAN技術(shù),構(gòu)建了VPC產(chǎn)品底層的控制平面和轉(zhuǎn)發(fā)平面。
因此,阿里云VPC能滿足中大型、甚至超大型企業(yè)級客戶的需求,對大規(guī)模的業(yè)務(wù)系統(tǒng)有很好的支撐。除了規(guī)模,還有一個(gè)非常重要的因素就是高可用和容災(zāi)設(shè)計(jì),阿里云VPC所依賴的轉(zhuǎn)發(fā)集群是每可用區(qū)部署的,同時(shí)每可用區(qū)的集群都有一個(gè)備可用區(qū),當(dāng)一個(gè)可用區(qū)的集群出現(xiàn)異常時(shí),可以切換到另外一個(gè)可用區(qū)服務(wù)。
目前,阿里云平臺(tái)上部分用戶單個(gè)VPC就容納了5000臺(tái)規(guī)模的服務(wù)器,這套系統(tǒng)的可運(yùn)維性也非常高,這么龐大的系統(tǒng)只需要極少的運(yùn)維人員就可以完成相關(guān)工作。
其次,阿里云VPC的另外一個(gè)優(yōu)勢是阿里巴巴的骨干網(wǎng)絡(luò)。阿里巴巴出于業(yè)務(wù)的需要,建設(shè)了高質(zhì)量骨干網(wǎng)絡(luò),這是很多云服務(wù)商所不具備的。基于這張骨干網(wǎng)絡(luò),阿里云VPC具備了很強(qiáng)的互聯(lián)互通能力,用戶可以非常方便的將多地部署的VPC進(jìn)行互聯(lián)互通。比如,用戶為了容災(zāi),在北京和上海兩地分別構(gòu)建了VPC,就可以使用阿里云高速通道產(chǎn)品將兩地的VPC進(jìn)行連接。此外,如果用戶需要在全球不同節(jié)點(diǎn)使用VPC部署業(yè)務(wù)系統(tǒng),依靠阿里巴巴的跨國網(wǎng)絡(luò),也可以通過高速通道產(chǎn)品將兩個(gè)不同國家的VPC進(jìn)行快速連接。
最后,阿里云VPC對物理網(wǎng)絡(luò)的侵入很小,不需要物理網(wǎng)絡(luò)進(jìn)行特殊的功能適配,在原有的物理網(wǎng)上就可以構(gòu)建VPC。阿里云VPC是純軟件的實(shí)現(xiàn)方案,基于x86服務(wù)器自研轉(zhuǎn)發(fā)設(shè)備,既能滿足轉(zhuǎn)發(fā)性能的要求,又可以快速在原有的物理網(wǎng)絡(luò)上實(shí)現(xiàn)VPC。
VPC的使用方法
一般情況下,創(chuàng)建VPC的過程分為幾步,注冊阿里云賬戶,創(chuàng)建VPC,創(chuàng)建專有網(wǎng)絡(luò)中的虛擬交換機(jī),然后就是創(chuàng)建云產(chǎn)品了,比如在專有網(wǎng)絡(luò)中創(chuàng)建ECS實(shí)例,然后開通彈性公網(wǎng)IP,最后為ECS實(shí)例綁定彈性公網(wǎng)IP。這樣,一個(gè)包含一臺(tái)具備公網(wǎng)能力的ECS的專有網(wǎng)絡(luò)環(huán)境就完成了。
VPC的使用還是有一定門檻的,至少要懂得一些網(wǎng)絡(luò)的基本知識。而對于小白用戶來講,也可以直接使用阿里云提供的Default VPC,也就是系統(tǒng)默認(rèn)分配的VPC。用戶不需要了解VPC是什么,直接使用就可以了。一般情況下,用戶需要先創(chuàng)建VPC,創(chuàng)建虛擬交換機(jī),再購買ECS。而Default VPC可以讓用戶不用先創(chuàng)建VPC,而是直接購買ECS,系統(tǒng)會(huì)自動(dòng)為用戶創(chuàng)建VPC。
多個(gè)云上VPC間的訪問
專有網(wǎng)絡(luò)天生是隔離的安全網(wǎng)絡(luò),默認(rèn)情況下,別人不能通過私網(wǎng)訪問用戶VPC,用戶的VPC也不能通過私網(wǎng)訪問別人。專有網(wǎng)絡(luò)內(nèi)的 ECS 只能和本 VPC 內(nèi)其他 ECS 通信,或者和 VPC 內(nèi)的其他云服務(wù)之間進(jìn)行通信。那么,用戶有多個(gè)VPC的時(shí)候如何實(shí)現(xiàn)不同VPC間的通信呢?
比如,為了安全,用戶要將測試業(yè)務(wù)和生產(chǎn)業(yè)務(wù)分開,因此在云上建立兩個(gè)VPC,A VPC 負(fù)責(zé)生產(chǎn)業(yè)務(wù),B VPC負(fù)責(zé)測試業(yè)務(wù),兩個(gè)VPC之間默認(rèn)不能通信,但用戶可能在某些情況下需要讓這兩個(gè)VPC間進(jìn)行通信,這個(gè)時(shí)候用戶可以使用高速通道產(chǎn)品的VPC互聯(lián)功能將兩個(gè)VPC打通。
VPC內(nèi)如何訪問公網(wǎng)
對于不懂VPC的小白用戶,可以直接使用阿里云的Default VPC,系統(tǒng)會(huì)默認(rèn)分配給ECS一個(gè)公網(wǎng)IP,這和傳統(tǒng)網(wǎng)絡(luò)中的ECS的方式是一致的。而對于了解VPC的用戶,在購買ECS時(shí)選擇自己的VPC,阿里云不會(huì)分配給他公網(wǎng)IP,用戶需要通過其他手段,例如使用EIP(彈性公網(wǎng)IP)和NAT網(wǎng)關(guān)產(chǎn)品來配置公網(wǎng)的訪問。
阿里云在公網(wǎng)訪問方面的一個(gè)產(chǎn)品叫做EIP,用戶可以購買一個(gè)EIP,也就是公網(wǎng)IP地址,然后綁定到ECS上,然后這個(gè)VPC中的該ECS就可以訪問Internet了。還有一種方法,用戶可以購買NAT網(wǎng)關(guān),通過配置SNAT規(guī)則,VPC中的ECS就可以通過NAT網(wǎng)關(guān)來訪問公網(wǎng)了。
注:SNAT:源網(wǎng)絡(luò)地址轉(zhuǎn)換(出方向代理),用于VPC內(nèi)的ECS訪問互聯(lián)網(wǎng)內(nèi)容。
VPC內(nèi)如何被公網(wǎng)訪問
而對于公網(wǎng)的用戶需要通過公網(wǎng)訪問VPC私網(wǎng)中的業(yè)務(wù)系統(tǒng),則有三種方法,一是給每個(gè)ECS配置有一個(gè)EIP,用戶直接訪問EIP,第二種是購買NAT網(wǎng)關(guān),但是不用配置SNAT規(guī)則,而是配置DNAT規(guī)則,第三就是使用負(fù)載均衡SLB(Server Load Balancer)公網(wǎng)實(shí)例,并將需要的ECS掛在到該負(fù)載均衡實(shí)例下。
注:DNAT,目的網(wǎng)絡(luò)地址轉(zhuǎn)換(入方向代理),用于VPC內(nèi)的ECS面向互聯(lián)網(wǎng)提供服務(wù);支持端口映射、IP映射。
云上VPC與云下IDC的聯(lián)通
此外,用戶還可以將云上的VPC與云下的IDC進(jìn)行連通,通過使用高速通道-專線接入功能就可以完成,這就是混合云的模式。另外,用戶還可以使用VPN將云下IDC經(jīng)過internet的加密隧道連接到云上VPC。
如何從經(jīng)典網(wǎng)絡(luò)遷移到VPC
阿里云有大量的經(jīng)典網(wǎng)絡(luò)用戶,而未來的趨勢是VPC,因此,經(jīng)典網(wǎng)絡(luò)如何遷移到VPC就是用戶非常關(guān)心的問題。對于經(jīng)典網(wǎng)絡(luò)的云資源遷移到VPC,阿里云會(huì)分階段完善遷移方案。首先,阿里云提供一個(gè)工具,這個(gè)工具只針對于單臺(tái)ECS從經(jīng)典網(wǎng)絡(luò)遷移到VPC中,使用這個(gè)工具,用戶只需重啟機(jī)器就可以完成遷移工作。
第二階段,阿里云會(huì)研發(fā)一個(gè)平滑遷移的解決方案,解決方案的核心是負(fù)載均衡SLB可以同時(shí)掛載VPC和經(jīng)典網(wǎng)絡(luò)的ECS,同時(shí),RDS等云產(chǎn)品支持用戶同時(shí)從經(jīng)典網(wǎng)絡(luò)和VPC網(wǎng)絡(luò)中訪問。通過這個(gè)解決方案,用戶可以通過在VPC中新建ECS,通過業(yè)務(wù)遷移的方式,將系統(tǒng)從經(jīng)典網(wǎng)絡(luò)遷移到VPC。當(dāng)所有業(yè)務(wù)遷移到VPC后,再將經(jīng)典網(wǎng)絡(luò)的資源銷毀。這個(gè)解決方案可以滿足絕大部分系統(tǒng)的遷移要求。
第三階段,阿里云會(huì)提供ClassicLink功能,允許用戶將一臺(tái)經(jīng)典網(wǎng)絡(luò)的ECS直接與VPC的ECS進(jìn)行通信。這個(gè)功能上線后,結(jié)合前面兩個(gè)階段的功能,就可以滿足用戶所有的遷移需求。
避免VPC中的坑
首先,避免不同云產(chǎn)品使用不同的網(wǎng)絡(luò)類型。有些用戶開通VPC,購買了VPC類型的ECS,但是RDS卻購買的是經(jīng)典網(wǎng)絡(luò)的,導(dǎo)致ECS無法訪問RDS而無法使用。因此,用戶使用云首先要考慮的就是網(wǎng)絡(luò)類型,就是VPC,避免不同云產(chǎn)品使用不同的網(wǎng)絡(luò)類型。特別要注意的是,對于實(shí)例型云產(chǎn)品,如ECS,RDS,SLB等,用戶是在購買的時(shí)候選擇需要的網(wǎng)絡(luò)類型的。而對于大部分非實(shí)例型云產(chǎn)品,如OSS,日志服務(wù)等,則一般通過文檔的方式告知用戶從VPC中訪問要使用的域名。
其次,避免VPC IP規(guī)劃中的坑。用戶在開通VPC時(shí),首先要決定使用哪個(gè)網(wǎng)段,目前阿里云提供三個(gè)網(wǎng)段,即10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,用戶可以選擇使用這三個(gè)網(wǎng)段或者其子網(wǎng)作為VPC的網(wǎng)段。在考慮網(wǎng)絡(luò)規(guī)劃時(shí),一定要想清楚,避免地址沖突。第二,如果用戶在云上有多個(gè)VPC,則建議兩個(gè)VPC使用不同的網(wǎng)段,如果使用同一網(wǎng)段,虛擬交換機(jī)的網(wǎng)段也是相同,則兩個(gè)VPC之間是無法通信的,也就無法打通。
第三,在選擇交換機(jī)時(shí),阿里云建議至少選擇兩個(gè),并且兩個(gè)交換機(jī)位于兩個(gè)可用區(qū),避免在同一可用區(qū)出現(xiàn)異常而導(dǎo)致整個(gè)業(yè)務(wù)無法訪問。此外,交換機(jī)的子網(wǎng)掩碼選擇也是要考慮清楚的。用戶應(yīng)該根據(jù)自己的業(yè)務(wù)需求,確定虛擬交換機(jī)的網(wǎng)段,并且要考慮未來的擴(kuò)展性。例如,現(xiàn)在有100臺(tái)機(jī)器,那么網(wǎng)段數(shù)量就必須大于100臺(tái)主機(jī)數(shù)量,并且還要考慮未來預(yù)留一定的余量,比如500臺(tái)。
從規(guī)避IP沖突的角度,總結(jié)一下VPC IP規(guī)劃的原則:
1.不同VPC使用不同網(wǎng)段
2.如果1做不到,則做到不同VPC的交換機(jī)使用不同網(wǎng)段
3.如果2也做不到,則做到要私網(wǎng)通信的交換機(jī)使用不同網(wǎng)段
除了用戶進(jìn)行合理規(guī)劃外,阿里云也會(huì)提供更多的功能,比如專線網(wǎng)關(guān)可以解決云上VPC和云下IDC地址沖突的問題,再如交換機(jī)網(wǎng)段可以讓用戶修改等。
最后,避免不必要的訪問公網(wǎng)和被公網(wǎng)訪問。VPC 是安全隔離的私有網(wǎng)絡(luò),任何訪問公網(wǎng)或被公網(wǎng)訪問都是需要經(jīng)過用戶配置的。但運(yùn)行一段時(shí)間后,經(jīng)常出現(xiàn)不必要的訪問公網(wǎng)和被公網(wǎng)訪問的情況。比如,不再需要公網(wǎng)能力的ECS卻忘記解綁EIP了,或者還有SNAT規(guī)則。又如,不再需要對外開放的端口卻繼續(xù)對外開放。這些問題都可能埋下安全隱患。
VPC的未來
云上已經(jīng)進(jìn)入VPC時(shí)代,VPC是用戶使用云的首選,那VPC本身,未來又會(huì)是怎樣的呢? 從VPC本身來說,其產(chǎn)品形態(tài)不會(huì)有很大變化,但是對比經(jīng)典網(wǎng)絡(luò)中的網(wǎng)絡(luò)產(chǎn)品和功能就會(huì)知道,目前以VPC為代表的云上虛擬網(wǎng)絡(luò)還只有部分功能,未來,基于VPC,肯定會(huì)有滿足更多場景的豐富網(wǎng)絡(luò)功能出現(xiàn),比如防火墻、入侵檢測,流量分析等產(chǎn)品和功能。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】