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 コマンドで問題なくできます。
以上