之前的博文中介紹過Azure的多種IP地址類型,經(jīng)常會打交道的有云服務(wù)IP(VIP)和虛擬機(jī)IP(DIP),此外還可以為云服務(wù)或者虛擬機(jī)設(shè)置專屬的保留IP和靜態(tài)IP。除此以外還存在一個“實例級公共IP”的概念,即PIP。
那么這個PIP和靜態(tài)DIP有什么區(qū)別呢?其實這兩個地址是可以同時存在的,也就是說PIP不會把虛擬機(jī)DIP覆蓋掉的,PIP更適合那些不希望使用“IP:端口”這種表達(dá)形式的用戶,即希望直接通過賦予一個VM或其他角色一個IP地址來直接進(jìn)行通信,而無須配置“端點(diǎn)”,此外PIP可以作為出站源IP方便管理,對于一個訂閱而言可以使用最多5個PIP,需要注意的是如果你的VM啟用了多NIC是不支持PIP的。
啟用PIP是通過PowerShell方式實現(xiàn)的,在新建虛擬機(jī)或修改已存在實例時,調(diào)用“set-azurepublicip”,以下圖為例我在新建虛擬機(jī)的時候定義了一個叫做“PIP01”的實例級IP:
查看當(dāng)前云服務(wù)labservice03是沒有PIP地址的,注意使用instancedetails參數(shù),如下圖:
對一臺已存在的虛擬機(jī)只需要調(diào)用set-azurepublicip修改后進(jìn)行update-azurevm即可,如下圖:
當(dāng)上文中的虛擬機(jī)創(chuàng)建成功之后,可以在powersehll中驗證PIP配置是否生效,如下圖已經(jīng)看到PIP名稱為PIP01,PIP地址為139.219.15.128
或直接查看虛擬機(jī)角色,get-azurevm中返回的信息也很清晰,如下圖:
下面就來驗證一下PIP的作用,其實PIP相比DIP最大的便捷性就是它默認(rèn)是可以在(幾乎)任何端口上接受流量,例如下圖中我直接嘗試用RDP協(xié)議連接PIP地址,如下圖:
發(fā)現(xiàn)很順利的就登陸到這臺AzureVM上了,如下圖顯示IP是PIP地址:
那么前提是因為Azure的虛擬機(jī)模板里默認(rèn)把遠(yuǎn)程桌面打開了,因為在創(chuàng)建的時候本身就把3389映射到云服務(wù)的VIP上了,如果在GuestOS內(nèi)沒有放行這條防火墻策略,則PIP的遠(yuǎn)程桌面就無法登陸,但盡管如此這樣直接的管理方式也簡便了許多:
這里我再測試一下PING,首先啟用GuestOS里的ICMP協(xié)議,如下圖:
從我本地電腦執(zhí)行PING命令到PIP地址,如下圖提示成功:
實例級IP是一個特別好用的功能,主要是它的開放性,特別對于一些特殊要求,比如混合云場景要求源IP透傳時,當(dāng)然啦最好要說明的一點(diǎn)是,實例級公共IP(PIP)是需要收費(fèi)的,具體參見世紀(jì)互聯(lián)或微軟global官網(wǎng)信息