《Windows Azure Platform 系列文章目錄》html
注意:本文介紹的是Global Azure (http://www.windowsazure.com),若是你使用的是由世紀互聯運維的Azure China,請參考下面的鏈接。windows
Azure China (8) 使用Azure PowerShell建立虛擬機,並設置固定Virtual IP Address和Private IP 安全
本文介紹的是,用戶首先使用PowerShell申請公網IP地址,而後在建立Azure VM的時候,綁定公網IP地址。網絡
在以前的文章裏,筆者介紹了,咱們能夠經過Azure PowerShell,固定Azure Virtual Machine的Private IP,即內網IP地址。運維
可是Private IP只是幫助Virtual Machine經過數據中心的局域網進行通訊,若是咱們想固定公網的IP地址,即VIP,應該怎麼辦?post
Azure PowerShell容許用戶設置固定(Reserved)Virtual IP Address。url
注意:默認狀況下,客戶經過管理界面Management Portal建立的虛擬機的Virtual IP,實際上是從數據中心的IP池中隨機得到的。當客戶關閉虛擬機,虛擬機狀態爲Stop(Deallocate)的時候,Virtual IP會被釋放,DNS會綁定到另一個IP地址。spa
若是客戶A須要固定IP的狀況下,須要經過Azure PowerShell向數據中心申請一個或者多個IP地址,這些IP地址就只會被客戶A使用。3d
除非客戶A將申請的IP釋放,不然其餘用戶是沒法使用到客戶A申請的公網IP地址。code
Azure Global的IP Rang信息,能夠參考:http://www.microsoft.com/en-us/download/details.aspx?id=41653
國內由世紀互聯運維的Azure China的IP Rang信息,能夠參考:http://www.microsoft.com/en-us/download/details.aspx?id=42064
若是讀者用的是百度查詢IP地址,常常會發現Azure上海的IP地址常常會顯示來自北京,這是因爲百度的IP庫比較老,請讀者注意
請注意:經過Azure Management Portal建立的虛擬機不能綁定公網IP地址。
若是你已經經過Portal建立了虛擬機。須要刪除該虛擬機所在的雲服務,保留VHD之後。從新基於該VHD建立新的雲服務。
注意:固定Virtual IP Address(VIP)目前不支持使用地緣組(Affinity Group)的Virtual Network虛擬機,可是支持建立在數據中心的虛擬機。
http://msdn.microsoft.com/en-us/library/azure/dn690120.aspx
Reserved IP is supported only for Regional VNets. It is not supported for VNets that are associated with affinity groups. For more information about associating a VNet with a region or an affinity group, see About Regional VNets and Affinity Groups for Virtual Network.
接下來,筆者將介紹如何建立固定IP地址,並關聯到新建的Azure Virtual Machine虛擬機上。
關鍵步驟主要分爲如下幾步:
1.使用PowerShell,向Azure數據中心申請ReservedIP
2.建立第一臺虛擬機,同時向DNS綁定ReservedIP
3.刪除第一臺虛擬機,釋放ReservedIP
4.建立第二臺虛擬機,同時向新的DNS綁定ReservedIP
5.注意:存儲帳號,DNS部署的位置,和IP地址的位置,都應該在同一個數據中內心
1.首先咱們以管理員身份運行Azure PowerShell
請注意:若是你是第一次運行PowerShell,請按照[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell建立Azure Virtual Machine
文章的內容,在本地建立證書文件。以便本地計算機和Azure創建可靠的安全鏈接。
2.指定默認的存儲
Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'
設置當前訂閱:
Select-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -Current
3.在東亞地區(East Asia)申請一個新的Reserved VIP
$ReservedIP = New-AzureReservedIP -ReservedIPName "LeiVMReservedIP" -Label "LeiVMReservedIP" -Location "East Asia"
執行結果以下圖:
4.查看申請的Reserved VIP信息:
Get-AzureReservedIP -ReservedIPName "LeiVMReservedIP"
上圖中,能夠看到InUse屬性爲False,表示這個ReservedIP沒有被佔用。
5.設置鏡像爲Windows Server 2012 Datacenter
$imageList = Get-AzureVMImage ` | where {$_.ImageName -eq "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201407.01-en.us-127GB.vhd"} $image=$imageList[0]
上圖的$image命令能夠顯示咱們須要的Windows Server 2012 DataCenter鏡像的相關信息
若是我想模糊查詢AzureImage的話,能夠經過星號(*)通配符,來模糊查詢。
好比筆者只想查詢Windows Server 2012 Datacenter的鏡像,PowerShell以下:
$imageList = Get-AzureVMImage ` | where {$_.ImageName -like "*Windows-Server-2012-Datacenter*"} $image=$imageList[0]
5.建立虛擬機網絡,注意建立的虛擬網絡不能夠在某個地緣組的下面
咱們建立一個虛擬網絡,命名爲ReservedPublicIPVNet,IP Rang爲192.168.0.0 - 192.168.0.255
包含一個Subnet,命名爲Subnet-1
6.建立新的Azure Virtual Machine
- DNS爲LeiVM001
- 虛擬機名爲LeiVM001
- 虛擬機大小爲Medium
- 管理員名爲adminuser
- 管理員密碼爲Abc@123456
- 虛擬網絡爲ReservedPublicIPVNet,子網爲Subnet-1
最後把咱們在步驟一中得到ReservedIP分配給新建立的Virtual Machine
New-AzureVMConfig -Name 'LeiVM001' -InstanceSize Medium -ImageName $image.ImageName | Add-AzureProvisioningConfig -Windows -AdminUsername 'adminuser' -Password 'Abc@123456' | Set-AzureSubnet -SubnetNames 'Subnet-1' | New-AzureVM -ServiceName 'LeiVM001' -VNetName 'ReservedPublicIPVNet' –ReservedIPName 'LeiVMReservedIP' -Location 'East Asia'
執行結果以下圖:
6.最後咱們能夠在Management Portal查詢到建立的Cloud Service的VIP地址,
23.101.5.0這個VIP地址就是咱們在步驟四中查看到的,以下圖:
7.咱們能夠刪除以前建立的DNS爲LeiVM001的虛擬機,將Reserved IP (23.101.5.0)釋放掉。
建立第2個虛擬機,DNS爲LeiVM002,重複利用23.101.5.0這個Reserved IP (PowerShell略)。以下圖:
8.咱們還能夠經過Get-AzureReservedIP這個命名,查看已經得到ReservedIP信息。以下圖:
注意:由於LeiVM002這個已經綁定了名爲LeiVMReservedIP的VIP,因此上圖中的屬性InUse爲True。
最後,若是須要刪除Azure Reserved IP地址,記得先把虛擬機和雲服務都刪除掉。
而後執行命令:
Remove-AzureReservedIP -ReservedIPName '[YourReservedIPName]'