《Windows Azure Platform 系列文章目錄》
本文介紹的是國內由世紀互聯運維的Azure China
熟悉Azure平台的讀者都知道,我們在使用Azure Virtual Machine,會有公用虛擬機IP(VIP)和內部IP(DIP)。截圖如下:
在Azure平台,關於IP有非常重要的概念
1.VIP (Virtual IP),這個是Azure負載均衡器(SLB)的IP地址。當2台Azure VM部署在同一個Cloud Service下,這2台Azure VM的VIP是相同的。
如果我需要固定VIP地址,請使用Azure PowerShell
我們無法通過ping命令,檢測Azure VM的VIP,因為Azure負載均衡器(SLB)是禁用ICMP協議的。
2.DIP (Dynamic IP),這個是Azure VM的內網IP地址。在同一個虛擬機網絡(Virtual Network)的不同VM之間,是通過DIP互相通信的。
這里還要提醒一下,Azure VM的DIP是先到先得,最先創建並開機的Azure VM會自動獲得第一個可用的DIP。
如果我們需要固定DIP地址,請使用Azure PowerShell。
Azure China (8) 使用Azure PowerShell創建虛擬機,並設置固定Virtual IP Address和Private IP
然而在某些情況下,我們需要獲得Azure VM的Internet IP地址(注意不是負載均衡器的IP地址),這時候就需要使用使用Azure實例級別IP,Instance-Level Public IP Address (PIP)。
當2台Azure VM部署在同一個Cloud Service下並開啟了PIP,這2台Azure VM的PIP是不同的。
當我們使用Azure PIP的時候,所有的請求直接發送到Azure VM,不經過Azure 負載均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。從安全性角度考慮,我們需要非常仔細的配置Azure VM的防火牆規則。
在使用了PIP的情況下,我們就可以使用Ping命令來直接監測Azure VM的情況了。
Azure VIP,DIP, PIP的區別如下圖:
本章我們分為以下幾個部分:
一.模擬場景
二.Azure VM如何開啟PIP
三.執行Ping命令
四.對Azure VM關閉PIP
五.Azure PIP的限制
接下來開始第一部分內容:
一.模擬場景
以筆者的環境為例,筆者有一台Linux VM,信息如下:
VIP為:42.159.245.162
DIP為:10.0.0.4
PIP默認是沒有的
二.Azure VM如何開啟PIP,我們以管理員身份,打開Azure PowerShell,執行以下命令
Add-AzureAccount -Environment AzureChinaCloud #在彈出的界面輸入用戶名和密碼 #設置當前訂閱 Select-AzureSubscription -SubscriptionName '[YourSubscriptionName]' –Current #設置PIP Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Set-AzurePublicIP -PublicIPName "[YourPIPName]" | Update-AzureVM #查看該PIP信息 $instance = Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" $instance.PublicIPAddress #上面執行完畢后,就獲得了這台Azure VM的PIP地址
以筆者環境為例,執行結果如下:
執行完畢后,這台Azure VM的信息如下:
VIP為:42.159.245.162
DIP為:10.0.0.4
PIP:42.159.247.197
三.執行Ping命令
我們可以對這個PIP:42.159.247.197直接執行ping命令。(注意關閉Windows VM的操作系統防火牆)
我們還可以對這個Azure VM的PIP執行SSH等操作。
請記住,默認的Azure VM的VIP是無法執行Ping命令的。
我們對Azure VM VIP:42.159.245.162無法執行Ping命令。
當我們使用Azure PIP的時候,所有的請求直接發送到Azure VM,不經過Azure 負載均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。從安全性角度考慮,我們需要非常仔細的配置Azure VM的防火牆規則。
四.關閉Azure PIP
我們以管理員身份,運行Azure PowerShell,執行以下命令:
Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Remove-AzurePublicIP | Update-AzureVM
這樣就刪除了Azure VM的PIP。
五.Azure PIP的限制
(1)Azure PIP無法固定
(2)每個訂閱,默認情況下最多5個PIP地址。如果需要更多的Azure PIP,請聯系世紀互聯
(3)Azure PIP無法在管理界面顯示,只能通過Azure PowerShell查看
https://azure.microsoft.com/en-us/blog/instance-level-public-ip-address/