以前、作成済み Azure VM の内部 IP を固定にするスクリプト という投稿をしたのですが、現在の IP アドレスで固定するスクリプトも参考として。
Preview ポータルからであれば GUI で設定できますが、試したときにエラーになってしまい設定ができなかったので作ってみた次第です。 ![]()
サンプルとしては以下のようなスクリプトになるかと。
if ($Subscription -eq $null){
Add-AzureAccount
$Subscription = Get-AzureSubscription | Out-GridView -OutputMode Single
Select-AzureSubscription $Subscription.SubscriptionName -Current
}
$SelectVM = Get-AzureVM | where IpAddress -ne $null | select ServiceName, Name, IpAddress | Out-GridView -OutputMode Single
$VM = Get-AzureVM -ServiceName $SelectVM.ServiceName -Name $SelectVM.Name
Set-AzureStaticVNetIP -IPAddress $VM.IpAddress -VM $VM | Update-AzureVM
$AllVMs = Get-AzureVM | where IpAddress -ne $null | Sort-Object IpAddress
$VMInfo = @()
foreach($TargetVM in $AllVMs){
$VMInfo += [pscustomobject]@{
ServiceName = $TargetVM.ServiceName;
DNSName = $TargetVM.DNSName
Name = $TargetVM.Name;
InstanceSize = $TargetVM.InstanceSize;
PublicIP = $TargetVM.PublicIPAddressIP;
IPAddress=$TargetVM.IpAddress;
StaticIP = ($TargetVM | Get-AzureStaticVNetIP).IPAddress
}
}
$VMInfo | Out-GridView
実行するとサブスクリプションとどの仮想マシン (Azure VM) を 固定 IP (静的 IP) にするか選択することで、対象の仮想マシンの IP を現状の IP アドレスで固定化します。