読者です 読者をやめる 読者になる 読者になる

Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

既存の仮想マシンに対して、IPアドレスを固定化する

Azure VirtualMachine

Azureには、固定的なIPアドレスを設定する、Reserved IP ってのがあります。ようはIPアドレスを予約して、仮想マシン作成時に付与するような使い方をすることで、IPアドレスを固定的に使えます。

ちなみに、以前は仮想マシン作成時にしかIPアドレスを固定化することができませんでしたが、build 2015 のアップデートにおいて起動中の仮想マシンに対しても割り当てることが可能になったため、試してみました。

IPアドレスの予約

まずは、IPアドレスを取得というか予約しておく必要があります。これは New-AzureReservedIP コマンドで行います。当たり前といえば、当たり前ですが、Locationを指定する必要があることに注意してください。

PS C:\> New-AzureReservedIP -ReservedIPName "testrip" -Location "japan west"
詳細: 16:25:20 - Begin Operation: New-AzureReservedIP
詳細: 16:25:53 - Completed Operation: New-AzureReservedIP

OperationDescription                                 OperationId                                          OperationStatus                                     
--------------------                                 -----------                                          ---------------                                     
New-AzureReservedIP                                  6363aa16-8f92-94b4-adcc-a214ac5c009d                 Succeeded                                           

コマンドが正常終了したら、Get-AzureReservedIP で確認してみます。以下のIPアドレスが予約されました。InUse が False になっていることから、まだ使用されていないことが分かります。

PS C:\> Get-AzureReservedIP -ReservedIPName "testrip"
詳細: 16:27:45 - Begin Operation: Get-AzureReservedIP
詳細: 16:27:49 - Completed Operation: Get-AzureReservedIP


ReservedIPName       : testrip
Address              : 104.214.136.75
Id                   : a02c020a-1f97-489d-a426-f390eb103f07
Label                : 
Location             : Japan West
State                : Created
InUse                : False
ServiceName          : 
DeploymentName       : 
VirtualIPName        : 
OperationDescription : Get-AzureReservedIP
OperationId          : c62b7e20-53f6-97da-ad97-f173471e2601
OperationStatus      : Succeeded

仮想マシン作成時での割当(従来からの方法)

従来は、仮想マシン作成タイミングで、New-AzureVM の ReservedIPName に引数として渡していました。

New-AzureVM -ServiceName "SomeService" -VMs $vmConfig -ReservedIPName $ReservedIPName 

既存の仮想マシンへの割当

現状では起動中のVMに対して予約することができます。とりあえずVMを1つ起動してみます。ちなみに仮想マシン停止中は割り当てを変更することはできません。

New-AzureQuickVM -Linux -ServiceName "testripsv" -Location "japan west" -LinuxUser "hogeuser" -Password "fugapassword" -ImageName "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_10-amd64-server-20150509-en-us-30GB"

作成が完了したら、nslookup や ポータルからパブリック仮想 IP (VIP) アドレスを確認してみましょう。

IPアドレスを割り当てる

IPアドレスの割当には、 Set-AzureReservedIPAssociation コマンドを使います。

Set-AzureReservedIPAssociation -ServiceName testripsv -ReservedIPName testrip
詳細: 16:42:50 - Begin Operation: Set-AzureReservedIPAssociation
詳細: 16:44:25 - Completed Operation: Set-AzureReservedIPAssociation

OperationDescription                                 OperationId                                          OperationStatus                                     
--------------------                                 -----------                                          ---------------                                     
Set-AzureReservedIPAssociation                       46717ba2-44ee-9189-b893-e525c533be85                 Succeeded                                           

成功したら先ほどと同じく、Get-AzureReservedIP コマンドで確認してみます。 InUseやServiceName などに値が格納されているのが確認できます。

PS C:\> Get-AzureReservedIP -ReservedIPName "testrip"
詳細: 16:49:43 - Begin Operation: Get-AzureReservedIP
詳細: 16:49:46 - Completed Operation: Get-AzureReservedIP


ReservedIPName       : testrip
Address              : 104.214.136.75
Id                   : a02c020a-1f97-489d-a426-f390eb103f07
Label                : 
Location             : Japan West
State                : Created
InUse                : True
ServiceName          : testripsv
DeploymentName       : testripsv
VirtualIPName        : testripsvContractContract
OperationDescription : Get-AzureReservedIP
OperationId          : 456624c8-80be-924a-8921-2ab21bb2dff6
OperationStatus      : Succeeded

nslookupで確認すると予約したIPアドレスが割り当てられていることが確認できます。

名前:    testripsv.cloudapp.net
Address:  104.214.136.75

割当の解除

割当の解除も、Remove-AzureReservedIPAssociation コマンドで問題なくできます。

以上