在經(jīng)過(guò)一番艱苦努力的之后,我最終調試解決了一個(gè)非常棘手的混合云網(wǎng)絡(luò )問(wèn)題。
虛擬私有云(VPC)提供了一個(gè)包含免費虛擬機(VM)使用時(shí)間的培訓項目,學(xué)生可以跟隨一位現場(chǎng)講師學(xué)習,而不需要花時(shí)間去安裝產(chǎn)品。但是,大量的短暫存在亞馬遜云服務(wù)(AWS)虛擬機使我的主控機很難保持對它們的可靠控制。它們可能無(wú)法訪(fǎng)問(wèn)我最喜歡的亞馬遜簡(jiǎn)單隊列服務(wù)(SQS),使用幾百個(gè)這種服務(wù)會(huì )控制我的Elastic Compute Cloud(EC2)費用支出。
和許多很好的混合云一樣,VPC的私有地址空間已經(jīng)通過(guò)AWS Direct Connect鏈接到我的數據中心,從而對外展現為單個(gè)內聚的網(wǎng)絡(luò )。問(wèn)題是,雖然數據中心內所有系統都可以看到SQS正常工作,但是在亞馬遜EC2本身的虛擬機卻無(wú)法看到。似乎并沒(méi)有魔法般的虛擬機實(shí)例訪(fǎng)問(wèn)權限組合可以做到這一點(diǎn),盡管可以肯定它們可以自動(dòng)獲得核心AWS服務(wù)的訪(fǎng)問(wèn)權限。
這個(gè)解決方案最終會(huì )包含路由功能。在解決這個(gè)問(wèn)題,我突然發(fā)現了云管理中有一個(gè)新的網(wǎng)絡(luò )復雜性問(wèn)題。這個(gè)問(wèn)題不僅存在于傳統云網(wǎng)絡(luò )中,也存在于現在所謂的混合加混合網(wǎng)絡(luò )(Hybrid-Hybrid Networks, HHN)。
混合加混合網(wǎng)絡(luò )(Hybrid-hybrid networks)指的是什么?
當前企業(yè)IT推崇的云應用主要是基礎架構即服務(wù)(IaaS)。實(shí)際上,IT正在將數據中心內物理機架上的服務(wù)器遷移到云中的虛擬機上。當然,我們需要保證Exchange服務(wù)器仍然能夠將授權請求轉發(fā)回到本地的Active Directory,這樣管理員才能使用AWS Direct Connect、Azure Virtual Network或其他技術(shù)創(chuàng )建持久鏈接。一旦完成了這一步,你就得到了一個(gè)純粹的混合云。
但是,如果你是一些真實(shí)云服務(wù)的早期采用者,如存儲、云數據庫、隊列、轉碼等,又會(huì )如何呢?如果是這樣,那么即使你的所有服務(wù)器仍然在機架中,你也已經(jīng)進(jìn)入云了。例如,如果你知道數據庫名稱(chēng),但是不能訪(fǎng)問(wèn)它所在的主機,那么你只是其中一個(gè)用戶(hù)。一旦你開(kāi)始將一些使用云服務(wù)的服務(wù)器遷移到云中虛擬機上,你就會(huì )遇到一種前所未有的網(wǎng)絡(luò )復雜性,從而制造出一些不同的東西:混合加混合云。
結果:網(wǎng)絡(luò )增加了而非減少了
對于早期采用者,IaaS應該不需要動(dòng)太多腦筋。你的業(yè)務(wù)已經(jīng)使用了很多的云服務(wù),將大量系統遷移到混合云和IaaS上,可以更好地分配服務(wù)和用戶(hù),從而提升服務(wù)交付質(zhì)量。因此你只需要關(guān)注于最后的用戶(hù)接口問(wèn)題。同時(shí),服務(wù)器與后臺系統之間的繁重網(wǎng)絡(luò )流量也會(huì )得到很大的改進(jìn)。可是,這個(gè)結果并不一定會(huì )如期出現。更壞的是,我們喜歡使用的調試工具可能并不支持IaaS基礎架構。(我在期盼著(zhù)NetFlow的到來(lái)。)
云基礎架構的不透明性意味著(zhù)你不會(huì )連接到虛擬交換機,也不會(huì )檢查訪(fǎng)問(wèn)控制列表(ACL),而且你不會(huì )查看NetFlow或檢查防火墻配置中的原始ACL。你看不懂配置面板的內容,里面有繼承的JSON策略/角色塊和其他一些復雜信息。解決方法是回歸一下,回想以前初涉IT時(shí)候的場(chǎng)景。以前,高級管理員不會(huì )隨便給你root權限,因此你必須想一些辦法繞過(guò)這個(gè)問(wèn)題。
首先,先記住因為所有來(lái)自同一個(gè)供應商的服務(wù)并一定位于同一個(gè)位置,否則網(wǎng)絡(luò )復雜性也不會(huì )成為一個(gè)問(wèn)題。當這些使用云服務(wù)的應用部署在機架上時(shí),它們會(huì )使用服務(wù)的地理路由前端。無(wú)論數據中心在什么位置,這個(gè)服務(wù)都會(huì )生成最高效的路由。如果現在決定將一個(gè)服務(wù)器遷移到位于悉尼的一個(gè)虛擬機上,那么它可能會(huì )對運行在弗吉尼亞的服務(wù)性能產(chǎn)生影響。確實(shí),這里仍有一個(gè)意想不到的云網(wǎng)絡(luò )問(wèn)題:你仍然必須用Visio畫(huà)出服務(wù)的拓撲圖。
其次,要使用手頭已有的工具。你可能無(wú)法訪(fǎng)問(wèn)IaaS平臺的VSwitch,但是IaaS服務(wù)器仍然有操作系統和NIC,而且你可以安裝深度數據包檢測傳感器,從云服務(wù)器的角度觀(guān)察流量。
最后,你仍然在數據中心內保留VPC分界點(diǎn)的總體可見(jiàn)性,而且你想象不到的是,你會(huì )發(fā)現問(wèn)題就出現在這個(gè)位置。
固化路由的一個(gè)特殊方法
在我的HHN中,我添加一些特殊的虛擬機實(shí)例角色限制,保護網(wǎng)絡(luò )安全性不受學(xué)生虛擬機的影響。也就是說(shuō),我將所有流量轉發(fā)回數據中心,然后我在這里通過(guò)信任的Palo Alto防火墻管理外出的互聯(lián)網(wǎng)請求。這通常不會(huì )成為一個(gè)問(wèn)題,但是我還將AWS服務(wù)調用限制在數據中心一個(gè)特定子網(wǎng)中。防火墻會(huì )接收到來(lái)自這些服務(wù)的大量請求,但是它們卻來(lái)自于A(yíng)WS VPC空間中一些不可信的新私有子網(wǎng)。防火墻會(huì )執行它的本職功能——阻擋流量。在EC2儀表析出現紅色警報之后,解決方法實(shí)際上是很簡(jiǎn)單的。
在將虛擬機遷移到云的過(guò)程中,只需要記住關(guān)鍵點(diǎn)并不是考慮基礎架構。這里仍然有許多規劃和故障修復要做。固定的網(wǎng)絡(luò )和舊式檢測方法比以前更加重要,特別是在我們進(jìn)入混合加混合加混合網(wǎng)絡(luò )之后。這個(gè)問(wèn)題會(huì )在我們實(shí)現IPv6之前到來(lái)。