很多用户在云上部署应用的时候都希望可以有一个固定的 IP 地址,以便在 DNS 的记录里添加 A 记录。
Azure 提供保留 IP 地址的功能,主要功能就是可以提供静态的公网IP地址。
Azure 提供的和 ReservedIP 相关的功能主要有:
1. 通过 PowerShell 的命令保留IP地址,
2. 创建虚拟机时,使用保留地址,
3. 把保留地址关联到已经创建的云服务上,
4. 把关联到云服务的保留地址解除掉。
本文将具体介绍如何实现这些功能:
1. 新建保留地址
通过 PowerShell 命令:
New-AzureReservedIP -ReservedIPName hwrsvdip -Location "China East"
在这条命令里还有 Service 和 VirtualIP 的选项,通过这两个选项可以把新建的 ReservedIP 关联到已有的 Cloud Service 上的某一个 VIP 上。
创建好后,可以通过Get-AzureReservedIP
查看创建的保留地址:
2. 创建虚拟机是使用保留地址
在目前的管理 Portal 里,不能够直接创建带有保留地址的虚拟机。只能采用 PowerShell 的命令创建带有保留地址的虚拟机。具体命令如下:
New-AzureVMConfig -Name hwrsvdipvm -InstanceSize Small -ImageName f1179221e23b4dbb89e39d70e5bc9e72__OpenLogic-CentOS-65-20150904 | Add-AzureProvisioningConfig -Linux -LinuxUser hengwei -Password xxxxxxxx | Set-AzureSubnet -SubnetNames Subnet-1 | New-AzureVM -ServiceName hwrsvdips -Location "China East" -ReservedIPName hwrsvdip -VNetName hwvnet
创建后,可以通过下面的命令查询:
(Get-AzureDeployment -ServiceName hwrsvdips).VirtualIPs

3. 把已有的保留地址与已有的 Cloud Service 关联
通过 PowerShell 命令进行如下操作:
Set-AzureReservedIPAssociation -ReservedIPName hengwei3 -ServiceName hwsyslog
其中 hengwei3 是已经保留的地址,hwsyslog 是已经创建的 Cloud Service。创建成功后,观察:

在 Portal 管理界面上可以观察到这个地址:
4. 把关联到云服务的保留地址解除掉
通过 PowerShell 命令进行如下操作:
Remove-AzureReservedIPAssociation -ReservedIPName hengwei3 -ServiceName hwsyslog
操作成功后,可以观察到,此 Cloud Service 的 VIP 地址以及不再是 Reserved IP:
在管理 Portal 上,发现此 Cloud Service 的 IP 地址已经改变:
这种方式不影响虚拟机的正常工作,在更改 VIP 地址时,虚拟机是正常工作的,不受影响。