《Windows Azure Platform 系列文章目录》html
注意:本文介绍的是Global Azure (http://www.windowsazure.com),若是你使用的是由世纪互联运维的Azure China,请参考下面的链接。windows
Azure China (8) 使用Azure PowerShell建立虚拟机,并设置固定Virtual IP Address和Private IP 安全
本文介绍的是,用户首先使用PowerShell申请公网IP地址,而后在建立Azure VM的时候,绑定公网IP地址。网络
在以前的文章里,笔者介绍了,咱们能够经过Azure PowerShell,固定Azure Virtual Machine的Private IP,即内网IP地址。运维
可是Private IP只是帮助Virtual Machine经过数据中心的局域网进行通讯,若是咱们想固定公网的IP地址,即VIP,应该怎么办?post
Azure PowerShell容许用户设置固定(Reserved)Virtual IP Address。url
注意:默认状况下,客户经过管理界面Management Portal建立的虚拟机的Virtual IP,实际上是从数据中心的IP池中随机得到的。当客户关闭虚拟机,虚拟机状态为Stop(Deallocate)的时候,Virtual IP会被释放,DNS会绑定到另一个IP地址。spa
若是客户A须要固定IP的状况下,须要经过Azure PowerShell向数据中心申请一个或者多个IP地址,这些IP地址就只会被客户A使用。3d
除非客户A将申请的IP释放,不然其余用户是没法使用到客户A申请的公网IP地址。code
Azure Global的IP Rang信息,能够参考:http://www.microsoft.com/en-us/download/details.aspx?id=41653
国内由世纪互联运维的Azure China的IP Rang信息,能够参考:http://www.microsoft.com/en-us/download/details.aspx?id=42064
若是读者用的是百度查询IP地址,常常会发现Azure上海的IP地址常常会显示来自北京,这是因为百度的IP库比较老,请读者注意
请注意:经过Azure Management Portal建立的虚拟机不能绑定公网IP地址。
若是你已经经过Portal建立了虚拟机。须要删除该虚拟机所在的云服务,保留VHD之后。从新基于该VHD建立新的云服务。
注意:固定Virtual IP Address(VIP)目前不支持使用地缘组(Affinity Group)的Virtual Network虚拟机,可是支持建立在数据中心的虚拟机。
http://msdn.microsoft.com/en-us/library/azure/dn690120.aspx
Reserved IP is supported only for Regional VNets. It is not supported for VNets that are associated with affinity groups. For more information about associating a VNet with a region or an affinity group, see About Regional VNets and Affinity Groups for Virtual Network.
接下来,笔者将介绍如何建立固定IP地址,并关联到新建的Azure Virtual Machine虚拟机上。
关键步骤主要分为如下几步:
1.使用PowerShell,向Azure数据中心申请ReservedIP
2.建立第一台虚拟机,同时向DNS绑定ReservedIP
3.删除第一台虚拟机,释放ReservedIP
4.建立第二台虚拟机,同时向新的DNS绑定ReservedIP
5.注意:存储帐号,DNS部署的位置,和IP地址的位置,都应该在同一个数据中内心
1.首先咱们以管理员身份运行Azure PowerShell
请注意:若是你是第一次运行PowerShell,请按照[New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell建立Azure Virtual Machine
文章的内容,在本地建立证书文件。以便本地计算机和Azure创建可靠的安全链接。
2.指定默认的存储
Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'
设置当前订阅:
Select-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -Current
3.在东亚地区(East Asia)申请一个新的Reserved VIP
$ReservedIP = New-AzureReservedIP -ReservedIPName "LeiVMReservedIP" -Label "LeiVMReservedIP" -Location "East Asia"
执行结果以下图:
4.查看申请的Reserved VIP信息:
Get-AzureReservedIP -ReservedIPName "LeiVMReservedIP"
上图中,能够看到InUse属性为False,表示这个ReservedIP没有被占用。
5.设置镜像为Windows Server 2012 Datacenter
$imageList = Get-AzureVMImage ` | where {$_.ImageName -eq "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201407.01-en.us-127GB.vhd"} $image=$imageList[0]
上图的$image命令能够显示咱们须要的Windows Server 2012 DataCenter镜像的相关信息
若是我想模糊查询AzureImage的话,能够经过星号(*)通配符,来模糊查询。
好比笔者只想查询Windows Server 2012 Datacenter的镜像,PowerShell以下:
$imageList = Get-AzureVMImage ` | where {$_.ImageName -like "*Windows-Server-2012-Datacenter*"} $image=$imageList[0]
5.建立虚拟机网络,注意建立的虚拟网络不能够在某个地缘组的下面
咱们建立一个虚拟网络,命名为ReservedPublicIPVNet,IP Rang为192.168.0.0 - 192.168.0.255
包含一个Subnet,命名为Subnet-1
6.建立新的Azure Virtual Machine
- DNS为LeiVM001
- 虚拟机名为LeiVM001
- 虚拟机大小为Medium
- 管理员名为adminuser
- 管理员密码为Abc@123456
- 虚拟网络为ReservedPublicIPVNet,子网为Subnet-1
最后把咱们在步骤一中得到ReservedIP分配给新建立的Virtual Machine
New-AzureVMConfig -Name 'LeiVM001' -InstanceSize Medium -ImageName $image.ImageName | Add-AzureProvisioningConfig -Windows -AdminUsername 'adminuser' -Password 'Abc@123456' | Set-AzureSubnet -SubnetNames 'Subnet-1' | New-AzureVM -ServiceName 'LeiVM001' -VNetName 'ReservedPublicIPVNet' –ReservedIPName 'LeiVMReservedIP' -Location 'East Asia'
执行结果以下图:
6.最后咱们能够在Management Portal查询到建立的Cloud Service的VIP地址,
23.101.5.0这个VIP地址就是咱们在步骤四中查看到的,以下图:
7.咱们能够删除以前建立的DNS为LeiVM001的虚拟机,将Reserved IP (23.101.5.0)释放掉。
建立第2个虚拟机,DNS为LeiVM002,重复利用23.101.5.0这个Reserved IP (PowerShell略)。以下图:
8.咱们还能够经过Get-AzureReservedIP这个命名,查看已经得到ReservedIP信息。以下图:
注意:由于LeiVM002这个已经绑定了名为LeiVMReservedIP的VIP,因此上图中的属性InUse为True。
最后,若是须要删除Azure Reserved IP地址,记得先把虚拟机和云服务都删除掉。
而后执行命令:
Remove-AzureReservedIP -ReservedIPName '[YourReservedIPName]'