Azure的ASM下,很多用户的应用种域名的解析在DNS服务器种都采用A记录的方式,所以很多用户都在Azure上采用了Reserved IP。
关于Reserved IP,可以参考http://www.cnblogs.com/hengwei/p/5161433.html
在ASM到ARM的迁移中,IP地址也是迁移中需要考虑的一个重要问题,如果IP地址不能迁移,就需要客户更改DNS中的记录。
如果修改了DNS的记录,考虑到DNS本身架构的特点,割接的时间将会大大增加。所以迁移Reserved IP是ASM到ARM工作中需要重点考虑的内容之一。
Azure Reserved IP的迁移有两种方式:
1. VNET整体迁移
如果采用平台的工具进行VNET的整体迁移,Public的IP地址会随着VM迁移到ARM模式下。
已经创建好了一台VM,其Cloud Service的IP地址是Reserved IP:
VM的信息:
Reserved IP信息:
通过SSH到这台VM上,进行检测,这里用到的是Paping,类似Windows里的PSPING,下载地址是:
https://hwblob.blob.core.chinacloudapi.cn/test/paping_1.5.5_x86-64_linux.tar.gz
然后对VNET进行迁移:
Move-AzureVirtualNetwork -VirtualNetworkName hwmig -Validate Move-AzureVirtualNetwork -VirtualNetworkName hwmig -Prepare Move-AzureVirtualNetwork -VirtualNetworkName hwmig -Commit
这个过程中,paping出现三次中断:
Connected to 111.13.100.91: time=8.67ms protocol=TCP port=80 Connected to 111.13.100.91: time=6.30ms protocol=TCP port=80 Connected to 111.13.100.91: time=2.50ms protocol=TCP port=80 Connection timed out Connection timed out Connection timed out Connection timed out Connected to 111.13.100.91: time=3.65ms protocol=TCP port=80 Connected to 111.13.100.91: time=1.91ms protocol=TCP port=80 Connected to 111.13.100.91: time=5.59ms protocol=TCP port=80 … Connected to 111.13.100.91: time=2.31ms protocol=TCP port=80 Connection timed out Connection timed out Connected to 111.13.100.91: time=2.53ms protocol=TCP port=80 Connected to 111.13.100.91: time=2.49ms protocol=TCP port=80 … Connected to 111.13.100.91: time=5.63ms protocol=TCP port=80 Connection timed out Connection timed out Connection timed out Connected to 111.13.100.91: time=754.30ms protocol=TCP port=80
一次发生在prepare中,两次发生在commit中,但时间都非常短。
结束后,可以看到:
地址没有发生变化。
查看Public IP,可以看到已经迁移过来,且地址没有变化,管理在负载均衡器上:
2. 单独迁移Reserved IP
当然在做这些move的命令前,都要在订阅中注册相应的provider:
在powershell中运行如下命令:
Move-AzureReservedIP -ReservedIPName hwrip02 -Validate Move-AzureReservedIP -ReservedIPName hwrip02 -Prepare Move-AzureReservedIP -ReservedIPName hwrip02 -Commit
运行完后,这个Reserved IP就迁移到ARM模式下了。
总结:
从ASM到ARM的迁移中,IP地址的迁移可以采用两种方式实现。
- 随着VNET一起迁移
- 单独迁移