前言
在企業起步階段,規模較小,一般採用單賬號模式。隨著企業的發展,單賬號的缺陷越來越明顯,多賬號相對於單賬號有眾多優點:
• 多賬號間的資源默認隔離,減少了單賬號因為一個資源或服務問題導致其它資源和服務也出現問題的可能性;
• 多賬號減少了單帳戶過於寬泛的 RAM 權限帶來的風險;
• 多賬號便於成本結算、獨立管理、環境隔離等。
因此中大型企業上雲時通常選擇多賬號,但是多賬號間往往存在著大量的網絡互通場景,如何解決多賬號的網絡互通問題呢?
VPC 作為雲上最常用的網絡環境,不同賬號的 VPC 之間默認是無法互通的,多賬號網絡互通常用的解決方案是 CEN(雲企業網)和 VPN 網關。
基於 VPN 的網絡架構
VPN 網關是一款基於 Internet 的網絡連接服務,通過加密通道的方式實現企業數據中心、企業辦公網絡或 Internet 終端與 VPC 安全可靠的連接。VPN 網關可以實現跨地域、跨賬號的 VPC 互通,在需要連接的 VPC 上創建 VPN 網關,網關之間通過基於 Internet 的 IPSec 加密隧道來傳輸私網數據,以實現安全可靠的多賬號 VPC 間通信。
圖1
如上圖所示:服務分別部署在賬號1、2、3的 VPC 網絡環境中,每個服務基於多可用區和 SLB 實現同城雙活,前端 VPC 部署前端服務,後端 VPC 部署後端應用,前端服務處理 Web 請求時需調用部署在賬號2、賬號 3 的後端應用,分別為每個 VPC 創建 VPN網關,VPN 之間配置 IPSEC、路由,以此來實現多賬號網絡互通。
基於 CEN 的網絡架構
雲企業網(Cloud Enterprise Network)是承載在阿里雲提供的高性能、低延遲的私有全球網絡上的一張高可用網絡,可以在跨地域、跨賬號的 VPC 間搭建私網通道,通過自動路由分發及學習,提高網絡的快速收斂和跨網絡通信的質量和安全性,實現全網資源的互通,打造一張具有企業級規模和通信能力的互聯網絡。
圖2
如上圖所示:首先創建 CEN 實例,將要互通的網絡實例(專有網絡和邊界路由器)加載到 CEN 中,再購買一個帶寬包(同 Region 無需購買帶寬包),配置路由、跨賬號授權等,即可實現服務在不同賬號的 VPC 間互通。
VPN 和 CEN 網絡架構比較
VPN 和 CEN 都可實現多賬號網絡互通,兩者有何區別呢?
• VPN 需要為每個 VPC 配置 VPN 網關,創建 IPsec 連接、配置 VPN 網關路由等,隨著 VPC 數量的增加,人工配置成本成倍增加;同時 VPN 連接使用共享的公網資源進行通信,網絡延時和丟包率等都無法保證,其網絡帶寬受限於公網 IP 的帶寬。在實際使用中 VPN 網關很少用於多賬號網絡互通,多用於本地數據中心與 VPC 互通以構建混合雲。
• CEN 專線連接在網絡質量、安全性和傳輸速度等方面都優於 VPN,但是 CEN 在跨賬號連接時需要配置跨賬號授權、路由等,存在一定的配置成本;跨 Region 通信時需要購買帶寬,存在一定的費用成本;每個 CEN 實例在每個 Region 可加載的網絡實例數量有限。
由此可見,VPN 和 CEN 都能解決多賬號網絡互通問題,但是不一定適合所有的場景,還有其他的方案嗎?
ResourceSharing 介紹
不同於 VPN 和 CEN,資源共享服務(ResourceSharing)通過在賬號間共享 VSwitch 來實現多賬號網絡互通。
如下圖所示:企業賬號 A、B、C、D 加入 ResourceDirectory(資源目錄)後,資源所有者賬號 A 把虛擬交換機共享給賬號 B、C、D,這樣賬號 A、B、C、D 都能使用該虛擬交換機,並在該交換機上掛載 ECS/RDS/SLB 等資源,以此來實現不同賬號的資源共享同一個子網。
圖3
相對於 CEN 和 VPN,ResourceSharing 極大地簡化了配置,在網絡規模較複雜的場景下尤為明顯。
基於 ResourceSharing 的網絡架構
如下圖所示為基於 ResourceSharing 的網絡架構:賬號 1 所在的 VPC 使用兩個 VSwitch 作為多可用區以實現同城雙活,用於部署前端服務;再共享三個 VSwitch 給賬號 2 和賬號 3 用於部署後端服務:“Shared VSwitch For AZ1 ECS” 用於掛截賬號 2 和賬號 3 在 AZ1 的 ECS 資源,“Shared VSwitch For AZ2 ECS” 用於掛截賬號 2 和賬號 3 在 AZ2 的 ECS 資源,“Shared VSwitch For SLB” 用於掛截賬號 2 和賬號 3 的 SLB 資源;這樣基於資源共享的方式,前端服務與後端服務均在同一個 VPC 下,所有服務天然支持網絡互通。
圖4
由於每個賬號仍然獨立管控自己的資源,所以服務之間既實現了多賬號間網絡互通,又保證了相關資源在賬號間的隔離,此外,相對於 CEN 和 VPN,ResourceSharing 有一定的優勢:
• 整個體系在一個 VPC 中,因此不需要網關、路由、IPSEC、跨賬號授權等相關配置,極大地簡化了工作量。
• 服務在 VPC 內部通信,不依賴公網帶寬,減少了網絡延時和丟包率帶來的風險。
• ResourceSharing 是完全免費的,能為用戶節省不少成本。
總結
ResourceSharing 有眾多優勢,是否能取代 VPN 和 CEN 滿足所有的應用場景呢?
• 由於 VPC 是地域級別的資源,因此 ResourceSharing 是不能跨 Region 共享 VSwitch 的,而 CEN 則沒有這個限制,所以跨 Region 間 VPC 通信時通常選擇 CEN 的方式。如下圖所示 Region A 和 Region B 的 VPC 通過 CEN 互通。
• 當用戶需要將本地數據中心與 VPC 互通以構建混合雲時,ResourceSharing 顯然無法滿足需求。如下圖所示通過 VPN 的方式將本地數據中心與安全登陸 VPC 快速連接起來。
• 當企業對安全有更高要求時,往往需要通過 VPC 將網絡劃分成多個安全域,ResourceSharing 由於共享 VSwitch 所在的實例都在同一個 VPC,無法滿足需求。如下圖所示:根據安全級別的不同,將整個網絡分隔成多個 VPC,通過 CEN 實現不同安全域 VPC 的網絡互通,利用 ResourceSharing 實現多賬號同安全域 VPC 的網絡互通。
圖5
VPN 網關、CEN 和 ResourceSharing 分別適用於不同的場景,如上圖所示為集團化的大型企業,網絡架構較為複雜,同時用到了三種方案,用戶在實際使用時,需要根據自己的需求和網絡規模選擇最合適的方案。