935
技術社區[雲棲]
VPC最佳實踐(一):網絡規劃篇
專有網絡VPC(Virtual Private Cloud)是阿裏雲推薦的網絡類型,越來越多的用戶選擇使用VPC,可以說VPC是現在用戶上雲第一個考慮的產品。使用VPC主要有兩方麵的核心優勢。一是安全,即用戶需要更安全的網絡隔離,VPC基於隧道技術,實現數據鏈路層的隔離,為每個租戶提供一張獨立、隔離的安全網絡。二是VPC讓用戶有了網絡管理能力,比如IP規劃,路由管理等等。在VPC出現之前,雲上用戶是缺乏網絡管理能力的。
關於VPC詳細信息可以訪問:VPC產品
用戶在考慮使用VPC的時候,首先遇到的一個問題就是,如何進行VPC網絡規劃?本文拆分成下麵幾個小問題進行分析。
問題一,應該使用幾個VPC?
問題二,應該使用幾個虛擬交換機?
問題三,應該選擇什麼網段?
問題四,考慮一個比較複雜的業務係統,雲上存在多個VPC且需要和雲下IDC互通,如何規劃網段?
問題一,我應該使用幾個VPC?
這個問題,從下麵兩點考慮,如果
1)沒有多地域部署係統的要求
2)各係統之間也不需要通過VPC進行隔離
那麼推薦使用一個VPC。如圖1.1所示。
圖1.1 單VPC示意圖
使用一個VPC,容量和性能是不是夠呢?阿裏雲有用戶在單VPC內運行了近5000個實例,實際上還可以支撐更多的實例。這樣的容量基本上可以絕大多數用戶需求。
如果有多地域部署係統的要求,就必然需要使用多個VPC,因為VPC是地域級別的資源,是不能跨地域的。如圖1.2所示
圖1.2 多地域部署VPC 示意圖
大家可能會問,使用多個VPC,怎麼能內網互通呢?基於阿裏巴巴骨幹網構建的高速通道產品能輕鬆實現跨地域,跨國VPC間的互通。後麵的文章會再詳細介紹,先回到網絡規劃問題上。
上文提到在多地域部署係統是需要多個VPC的,但如果在一個地域的多個業務係統需要通過VPC進行嚴格隔離,比如生產環境和測試環境要嚴格進行隔離,那麼,也需要使用多個VPC。如圖1.3所示。
圖1.3 一個地域使用多個VPC隔離生產和測試環境
問題二,應該使用幾個虛擬交換機?
首先,即使隻使用一個VPC,也盡量使用至少兩個虛擬交換機,並且兩個虛擬交換機分布在不同可用區,做到跨可用區容災。
注:
可用區是指在同一地域內,電力和網絡互相獨立的物理區域,在同一地域內可用區與可用區之間內網互通。
同一地域不同可用區之間的網絡通信延遲很小,但也需要經過業務係統的適配和驗證,係統調用複雜加上係統處理時間,跨可用區調用也可能產生期望之外的延遲。建議進行係統優化和適配,能夠容忍這種延遲,在高可用和低延遲之間找到平衡。
其次,使用多少個虛擬交換機還和係統規模和係統規劃有關。如前端係統都可以被公網訪問並且都有主動訪問公網的需求。考慮到容災,可以考慮將不同的前端係統,部署在不同的虛擬交換機下。而後端係統部署在另外的虛擬交換機下。
問題三,應該選擇什麼網段?
網段選擇涉及到兩處,一是創建VPC的時候,二是創建虛擬交換機的時候。
對於VPC使用的網段,目前阿裏雲公有雲默認提供下麵三個標準私網網段給用戶選擇。
網段 |
可以主機數 |
備注 |
192.168.0.0/16 |
65532 |
去除係統占用地址 |
172.16.0.0/12 |
1048572 |
去除係統占用地址 |
10.0.0.0/8 |
16777212 |
去除係統占用地址 |
用戶可以使用這些網段及其子網作為VPC的網段。
如果可能有多個VPC或者VPC和線下IDC有構建混合雲的需求,建議使用上麵這些標準網段的子網作為VPC的網段,掩碼建議不超過/16。
如果雲上隻有一個VPC並且不需要和線下IDC互通,那麼選擇以上任何一個網段或其子網均可,用戶可自由選擇,但需要注意的是,一旦選擇後不可修改。
最後,VPC網段的選擇還需要考慮到是否使用了經典網絡。大家知道,經典網絡的網段是10.0.0.0/8,如果用戶在雲上使用了經典網絡,並且計劃將經典網絡的主機和VPC網絡打通(阿裏雲正計劃提供ClassicLink功能),以實現將經典網絡遷移到VPC,那麼,建議用戶選擇非10.0.0.0/8作為VPC的網段。
ClassicLink功能可以允許經典網絡ECS和192.168.0.0/16,10.0.0.0/8,172.16.0.0/12 三個VCP網段的主機通信,但隻能和10.0.0.0/8中的特定虛擬交換機的網段通信,即,如果用戶經典網絡的ECS要和使用了10.0.0.0/8作為VPC網段的主機通信,那麼該主機必須是某個特定的10.0.0.0/8下的子網,具體子網還未確定。因此,有ClassicLink功能需求的用戶,建議選擇非10.0.0.0/8作為VPC的網段。
對於虛擬交換機的網段。首先掩碼必須在16到29之間。做這個限製的原因是/16掩碼也能支持65532個主機,規模足夠大了,沒必要更大。而小於/29有太小,沒有意義。
其次,虛擬交換機的網段要求和其VPC網段一樣或者是其VPC網段的子網。比如VPC的網段是192.168.0.0/16,那麼該VPC下的虛擬交換機的網段可以是192.168.0.0/16,也可以是192.168.0.0/17,一直到192.168.0.0/29。
最後,虛擬交換機網段的確定還需要考慮該交換機下容納主機的數量。
問題四,雲上存在多個VPC且和雲下IDC需要互通,如何規劃網段?
考慮如下圖1.4,雲上多VPC和雲下IDC互通網段規劃示意圖,用戶在華東1,華北2,華南1三個地域分別有VPC,並且華東1和華北2兩個地域的VPC需要通過高速通道-VPC互聯功能實現私網互通,華南1地域的VPC暫時沒有和其它地域通信需求,但未來也可能和華北2的VPC私網通信。另外,用戶在上海還有一個自建IDC,需要通過高速通道-專線功能和華東1的VPC私網互通。
圖1.4 雲上多VPC和雲下IDC互通網段規劃示意圖
由於VPC之間,VPC和線下IDC之間需要互通的IP段不能相同,因此,上圖中用戶上海IDC,華東1 VPC1,華北2 VPC2 使用不同的網段。而華南1暫時沒有和其它VPC之間互通的需求,因此,可以使用和華北2相同的網段,但考慮到將來華南1有和華北2可能有私網互通的需求,華南1 VPC3中的兩個虛擬交換機的網段和華北2 VPC2 中虛擬交換機的網段規劃使用不同的網段,也就是說VPC網段一樣,但虛擬交換機的網段不一樣。
總結一下,阿裏雲VPC互通要求要求地址不能衝突,指的是虛擬交換機的網段不能一樣,但VPC的網段可以一樣。當然,如前文說述,盡量規劃不同VPC的網段不一樣。
因此,在多VPC需要互通並且和線下IDC需要互通的情況下,可以總結如下的網段規劃原則:
1)盡可能做到不同VPC的網段不同。不同VPC可以使用標準網段的子網來增加VPC可用的網段數。
2)如上麵1)做不到,則盡量保證不同VPC的虛擬交換機網段不同。
3)如上麵2)也做不到,則保證要通信的虛擬交換機網段不同。
可能還會有極端情況,如果線下IDC網段已經確定無法修改,雲上VPC的網段也已經確定無法修改,但現在要通信怎麼辦呢?阿裏雲正在規劃專線網關功能,可以解決這一問題。
另外,阿裏雲也會提供虛擬交換機網段可修改的功能,盡量幫助用戶解決地址衝突和網絡規劃修改的問題。
最後更新:2017-05-25 19:01:20