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