從阿里云的踩坑大師,到Azure的抹黑大師,我們似乎成了云計算負面用戶的典型,可是我們還是忍不住想表達自己真實的使用感受。如果有錯誤的地方,歡迎大家批評!
在Azure上建好虛擬網(Vitual Network)之后(詳見云計算之路-試用Azure:如何建立虛擬機之間的內網連接),虛擬機(Virtual Machine)之間需要進行內網通信,通信時使用計算機名比直接使用內網IP更友好、更方便、更能應對變化。
在使用阿里云的時候,我們只能在每臺虛擬機的hosts中添加計算名與IP之間的映射,但是如果某一臺虛擬機的IP發生了變化,就要在所有與之通信的虛擬機中修改hosts文件。
如果你當過網管,用Windows組建過局域網,你就知道微軟早已對這個問題有解決方案——在DHCP時,將計算機名與IP地址的映射動態添加到DNS服務器中。
在Azure中,我們驚喜地發現虛擬網也有這個功能,比如下圖中的blogserver1這臺虛擬機的網絡接口信息。
IP地址與DNS服務器都是由DHCP分配的。
然后我們看一下同一個Cloud Service中的另一臺虛擬機blogserver2的網絡接口信息。
從中可以看出,用的是同一個DNS服務器。然后我們在blogserver1中直接ping blogserver2:
成功通過DNS服務器完成計算機名到IP地址的解析,無需在hosts中手動添加。
以上的場景是在同一個Cloud Service中。
我們到另一個Cloud Service的虛擬機中看看:
雖然是同一個虛擬網的子網,內網IP是同一個網段的,網關也一樣,但DNS服務器卻不一樣了。結果ping blogserver2就無法解析了。
也就是說Azure中DNS服務器解析計算機名的功能只在同一個Cloud Service中有效。
你也許會說,把虛擬機都放在同一個Cloud Service不就解決問題了嗎?但是,同一個Cloud Service只有一個VIP。對于一個網站來說,需要將不同的應用部署到不同二級域名的不同虛擬機上。從目前知道的情況看,只用一個Cloud Service實現不了。
本來是一個很有用的功能,現在卻無法讓它發揮作用,這種感覺就像你有了一輛跑車,卻不能上高速。
熟悉Azure的朋友看到這,可能又說不專業,怎么又是臨時工寫的?在Azure虛擬網中不是可以設置使用自己的DNS服務器嗎?
自己架設DNS服務器的確是一種解決方法,但有些麻煩還要額外的成本。有了一輛跑車,不能上高速;難道要上高速,就一定要自己再造一輛跑車嗎?微軟一步到位解決這個問題不是更好嗎?
既然同一個子網,同一個網關,能夠直接進行網絡通信,為什么就不能使用同一個DNS服務器,這樣的設計讓人想不通。
文章列表