Azure Reserved IP
很多用户在云上部署应用的时候都希望可以有一个固定的IP地址,以便在DNS的记录里添加A记录。
Azure提供保留IP地址的功能,主要功能就是可以提供静态的公网IP地址。
Azure提供的和ReservedIP相关的功能主要有:
- 通过PowerShell的命令保留IP地址,
- 创建虚拟机时,使用保留地址,
- 把保留地址关联到已经创建的云服务上,
- 把关联到云服务的保留地址解除掉。
本文将具体介绍如何实现这些功能:
1. 新建保留地址
通过PowerShell命令:
New-AzureReservedIP -ReservedIPName hwrsvdip -Location "China East"
在这条命令里还有Service和VirtualIP的选项,通过这两个选项可以把新建的ReservedIP关联到已有的Cloud Service上的某一个VIP上。
创建好后,可以通过
Get-AzureReservedIP 查看创建的保留地址:
ReservedIPName : |
hwrsvdip |
Address : |
42.159.232.215 |
Id : |
4aa7d69e-2221-4c88-a72d-9b429dae5ece |
Label : |
|
Location : |
China East |
State : |
Created |
InUse : |
FALSE |
ServiceName : |
|
DeploymentName : |
|
VirtualIPName : |
|
OperationDescription : |
Get-AzureReservedIP |
OperationId : |
615188b4-9b8e-47d7-8f4d-8bb55204f298 |
OperationStatus : |
Succeeded |
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
|
|
Address : |
42.159.232.215 |
IsDnsProgrammed : |
TRUE |
Name : |
hwrsvdip |
ReservedIPName : |
hwrsvdip |
ExtensionData : |
|
3. 把已有的保留地址与已有的Cloud Service关联
通过PowerShell命令进行如下操作:
Set-AzureReservedIPAssociation -ReservedIPName hengwei3 -ServiceName hwsyslog
其中hengwei3是已经保留的地址,hwsyslog是已经创建的Cloud Service。创建成功后,观察:
Address |
139.219.128.199 |
IsDnsProgrammed |
TRUE |
Name |
hwsyslogsContractContract |
ReservedIPName |
hengwei3 |
ExtensionData |
|
在Portal管理界面上可以观察到这个地址:
4. 把关联到云服务的保留地址解除掉
通过PowerShell命令进行如下操作:
Remove-AzureReservedIPAssociation -ReservedIPName hengwei3 -ServiceName hwsyslog
操作成功后,可以观察到,此Cloud Service的VIP地址以及不再是Reserved IP:
Address |
42.159.247.41 |
IsDnsProgrammed |
TRUE |
Name |
hwsyslogsContractContract |
ReservedIPName |
|
ExtensionData |
|
在管理Portal上,发现此Cloud Service的IP地址已经改变:
这种方式不影响虚拟机的正常工作,在更改VIP地址时,虚拟机是正常工作的,不受影响。