Windows Azure Virtual Network (5) 設置Azure Virtual Machine固定Private IP


  《Windows Azure Platform 系列文章目錄

   

  注意:本文介紹的是Global Azure (http://www.windowsazure.com),如果你使用的是由世紀互聯運維的Azure China,請參考下面的連接。

  Azure China (8) 使用Azure PowerShell創建虛擬機,並設置固定Virtual IP Address和Private IP 

 

  熟悉Azure Virtual Network的讀者都知道,如果我們設置了Azure Virtual Network (VNet)的IP Rang是xxx.xxx.0.0 - xxx.xxx.0.255

  那第一個加入VNet的虛擬機Private IP為0.4(0.0到0.3的IP地址被系統占用),第二個加入VNet的虛擬機Private IP為0.5,以后加入VNet的虛擬機Private IP地址為在已創建的Azure Private IP上加1。

 

  但是這樣會產生3個問題:

  1.不能手動設置Private IP地址,Private IP是系統自動生成的,無法預先設置。

  2.無法修改Private IP地址。在系統自動分配Private IP之后,想手動修改Private IP也是不可能的。

  3.無法固定Private IP地址。在某些情況下,Azure管理人員關閉了VM,造成VM的狀態為Stop(Deallocate)的情況下,再次啟動Azure VM會造成Private IP改變。

 

  最新的PowerShell (版本號: PowerShell cmdlets for Windows Azure Version 0.7.3)命令增加了新的PowerShell命令,允許用戶設置Azure VM Private IP。這4個命令是:

  -  Get-AzureStaticVNetIP

  -  Set-AzureStaticVNetIP

  -  Remove-AzureStaticVNetIP

  -  Test-AzureStaticVNetIP

  接下來,筆者會詳細介紹以上的PowerShell命令。

  在開始演示之前,請按照[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell創建Azure Virtual Machine中的內容,通過PowerShell將本地證書上傳至Azure雲端。

 

  在上一章內容中,筆者已經創建Azure Virtual Network:MyVNet。同時創建了2台Azure VM,分別為:

IP 說明
192.168.0.0-192.168.0.3 Azure Virtual Network 保留
192.168.0.4 AD Server
192.168.0.5 Web Server 001

  在這里,筆者將介紹如何創建第2台Web服務器,即Web Server 002進行負載均衡,並且觀察Web Server 002的Private IP設置。

 

  1.確認某個Private IP是否可用

  我們要用到的命令是Test-AzureStaticVNetIP:

Test-AzureStaticVNetIP –VNetName <VNetName> –IPAddress <Address>

  比如我要查詢MyVNet這個虛擬網絡中,Private IP為192.168.0.4是否可用,PowerShell命令為:

Test-AzureStaticVNetIP –VNetName MyVNet –IPAddress 192.168.0.4

  執行結果為:

  

  可以看到IsAvailable值為False(因為192.168.0.4已經被AD Server占用了)。

  然后Azure會在AvailableAddresses中,提供其他可用的IP地址,比如192.168.0.6,192.168.0.7等等

  

  2.創建新的虛擬機,同時設置Private IP

  我們用到的命令是Set-AzureStaticVNetIP

Set-AzureStaticVNetIP -IPAddress  <YourIPAddress>

 

來創建個更加復雜的Azure Virtual Machine

首先我們指定默認的存儲,在Powershell輸入以下命令:

Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'

   按照以下規格創建虛擬機:

-  DNS Name為LeiWeb (需要負載均衡)

-  顯示名稱為LeiWeb002

-  VM Size為Basic_A1 (1Core/1.75GB)

-  VM Image為Windows Server 2012 DataCenter 201403.01-en.us

-  Windows用戶名為leizhang,密碼為Pass@word1

-  storage account為leivms

-  地緣組為EastAsiaGroup

-  虛擬網絡為 MyVNet,子網為Subnet-1

-  Private IP設置為192.168.0.7

然后我們輸入以下命令:

$vm = New-AzureVMConfig -Name 'LeiWeb002' -InstanceSize Basic_A1 -ImageName (Get-AzureVMImage)[52].ImageName 

$vm | Add-AzureProvisioningConfig `  -Windows ` -AdminUsername 'leizhang' `  -Password 'Pass@word1'

$vm | Set-AzureSubnet -SubnetNames 'Subnet-1' |  Set-AzureStaticVNetIP -IPAddress 192.168.0.7

$vm | New-AzureVM -ServiceName 'LeiWeb' -VNetName 'MyVNet'

  執行結果,如下圖:

  

  我們也可以在Management Portal上查看到Azure正在開始創建LeiWeb002這台虛擬機,截圖下圖:

  

  執行完畢后,我們可以查看到虛擬機LeiWeb002的Private IP設置為 192.168.0.7。如下圖:

  

 

  另外告訴各位讀者一個特大喜訊:如果你在VNet中的Virtual Machine已經通過Set-AzureStaticVNetIP命令,設置了Private IP。

  即使你的VM關機后狀態變成Stop_Deallocate,重新開機后這台VM的Private IP還是不會改變的。 O YEAH!!!

 

  3.修改Private IP

  這里用到的命令為Set-AzureStaticVNetIP

Set-AzureStaticVNetIP -IPAddress <NewIPAddress>

  之前筆者創建的LeiWeb002的Private IP為192.168.0.7,如果需要重新設置怎么辦?

  LeiWeb002這台虛擬機的信息如下:

  -  DNS: LeiWeb.cloudapp.net

  -  Virtual Machine: LeiWeb002

  -  設置新的Private IP : 192.168.0.6

  然后執行以下PowerShell命令:

Get-AzureVM -ServiceName LeiWeb -Name LeiWeb002 | Set-AzureStaticVNetIP -IPAddress 192.168.0.6 | Update-AzureVM

  執行結果截圖如下:

  

 

  我們可以通過Management Portal查看LeiWeb002這台虛擬機的Private IP已經被修改為192.168.0.6

  

  

  最后我們回顧一下配置的虛擬機信息:

 

IP 說明
192.168.0.0-192.168.0.3 Azure Virtual Network 保留
192.168.0.4 AD Server
192.168.0.5 Web Server 001

192.168.0.6 Web Server 002


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM