[Azure] 如何設定VM內部IP? - 從動態IP改成靜態IP

當我們啟動一個Azure VM的時候,他的內部IP(Internal IP)是動態給予的(Dynamic Assigned)。這個意思是VM所會被給予的IP是依照目前第一個閒置的IP。舉例來說,如果VM的網段是10.0.0.0/23,那麼第一台啟動的VM IP將會是10.0.0.5(前4個被Azure用去)。

但是,如果假設我們VM啟動的時候希望給予他一個特定的IP(例如10.0.0.15),那該如何做呢?

問題描述

當我們啟動一個Azure VM的時候,他的內部IP(Internal IP)是動態給予的(Dynamic Assigned)。這個意思是VM所會被給予的IP是依照目前第一個閒置的IP。舉例來說,如果VM的網段是10.0.0.0/23,那麼第一台啟動的VM IP將會是10.0.0.5(前4個被Azure用去)。

但是,如果假設我們VM啟動的時候希望給予他一個特定的IP(例如10.0.0.15),那該如何做呢?

解決辦法

基本上要解決上面提到的問題,只能透過Powershell來下對應的cmdlet。

前置作業

首先會需要去下載Azure powershell的cmdlet。

  • 下載位置:http://azure.microsoft.com/zh-tw/downloads/
  • 請點上面的連接,然後找到“Windows Powershell”->“安裝”
  • 執行下載下來的exe檔案(Web Platform Installer),會預設選擇好需要安裝的內容如下圖:
    image

Azure Powershell Cmdlet介紹

首先我們先看整個會用到的cmdlet:


Get-AzurePublishSettingsFile

Import-AzurePublishSettingsFile "R:\Free Trial-4-30-2014-credentials.publishsettings"

Test-AzureStaticVNetIP -VNetName mylabnet01 -IPAddress 10.0.0.15

$staticVM = Get-AzureVM -ServiceName myvm -Name myvm

Set-AzureStaticVNetIP -VM $staticVM -IPAddress 10.0.0.15 | Update-AzureVM

Get-AzureStaticVNetIP -VM $staticVM

上面的powershell指令執行內容如下:

  1. Get-AzurePublishSettingsFile - 先取得要控制的Azure賬號的憑證。
  2. Import-AzurePublishSettingFile - 把剛剛得到的憑證讀取進來
  3. 我有一個Virtual Network名稱是“mylabnet01”,我先測試10.0.0.15是否已經被人使用
  4. 在line 4-5 就是取得要設定的VM,然後把它的IP設定為10.0.0.15
  5. 最後在確認是否有更新成功

結語

從這次的問題可以發現其實有些功能在GUI畫面是沒有做出來的,因此需要完整功能還是需要透過powershell cmdlet。同時,使用powershell來管理多台vm的時候會比gui來的方便

點部落 的標籤:

Google+

創用 CC 授權條款
Alan Tsai 的隨手筆記Alan Tsai製作,以創用CC 姓名標示 4.0 國際 授權條款釋出。