很多使用者在雲上部署應用的時候都希望可以有一個固定的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地址時,虛擬機器是正常工作的,不受影響。