Windows Azure Virtual Network (6) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (1)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

 《Windows Azure Platform 系列文章目录

   

  注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪互联运维的Azure China,请参考下面的连接。

  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,应该怎么办?

  Azure PowerShell允许用户设置固定(Reserved)Virtual IP Address。

 

  注意:默认情况下,客户通过管理界面Management Portal创建的虚拟机的Virtual IP,其实是从数据中心的IP池中随机获得的。当客户关闭虚拟机,虚拟机状态为Stop(Deallocate)的时候,Virtual IP会被释放,DNS会绑定到另外一个IP地址。

  如果客户A需要固定IP的情况下,需要通过Azure PowerShell向数据中心申请一个或者多个IP地址,这些IP地址就只会被客户A使用。

  除非客户A将申请的IP释放,否则其他用户是无法使用到客户A申请的公网IP地址。

 

 

  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]'


本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/3914839.html,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
22天前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
41 11
|
4月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
4月前
|
PHP 开发工具 git
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
|
4月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
4月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
4月前
|
应用服务中间件 nginx Windows
【Azure 应用服务】在App Service for Windows中实现反向代理
【Azure 应用服务】在App Service for Windows中实现反向代理
|
4月前
|
安全 Windows
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
|
4月前
|
API 网络架构 开发者
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
|
4月前
|
消息中间件 Kafka 网络安全
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息