《Windows Azure Platform 系列文章目录》 

  

  默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的。

  用户可以通过Azure PowerShell来设置固定Public IP和Private IP,请参考笔者的文档:

  Windows Azure Virtual Network (5) 设置Azure Virtual Machine固定Private IP

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

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

  在我们日常使用Windows Azure Virtual Machine的时候,如果服务不再被使用,我们就可以停止VM以节省成本。

  一般情况下,有三种方式可以安全停止Azure VM:

  1)使用Azure Management Portal,停止VM 

  2)使用远程桌面连接VM,在远程桌面关闭VM 

  3)使用Windows Azure PowerShell停止VM

  在本章中,我将给大家详细介绍以上三种安全停止Azure VM和固定IP的关系。

  

  注意:本章内容只介绍Single Azure VM。

  我们创建Azure VM并且命名为LeiSingleVM, DNS地址为:http://LeiSingleVM.cloudapp.net

  这台VM的VIP和Internal IP如下图:

  

  

  

  1.使用Azure Management Portal,停止VM

  1)我们可以使用Azure Management Portal的SHUT DOWN按钮,停止Azure VM。如下图:

  

  当我们对某台Azure VM按下SHUT DOWN按钮的时候,该VM的状态会变成Stopped ( Deallocated )。如下图

  

  那这个状态表示什么意思?Deallocated从字面上看是未分配的意思,也就是说,如果你的VM处于Deallocated,那么这台VM的CPU、内存和网络等硬件资源都将处于非活动状态,并且这台VM将不会继续收取费用。嗯,到目前为止看起来一切都不错。但是Deallocated有一个副作用:之前我们说了,Deallocated是释放了硬件资源,但是这台VM下次重新启动时,将会获得一个不同的Internal IP

  Tips:如果你想使用Azure Portal关闭VM,并且还想保持Internal IP,请使用Azure Virtual Network。

  那Public Virtual IP (VIP) Address是否会改变呢?因为本章我们考虑的是单个VM的情况,如果用户使用Azure Portal的SHUT DOWN按钮,停止Azure VM,那这台VM的VIP Address就一定会改变

  那我们点击START按钮,重新启动这台Azure VM。

  

  我们比较一下Azure VM在SHUT DOWN前后,VIP Address与Internal IP Address的变化:

  

   结论:在使用Azure Portal SHUTDOWN VM后,VIP和INTERNAL IP都会改变。

  2.使用远程桌面连接VM,在远程桌面关闭VM 

  根据上一步执行的结果,现在Azure VM的IP信息如下:

  VIP Address: 137.116.161.18

  Internal IP Address: 100.80.68.42

  我们使用远程桌面连接LeiSingleVM,并且在远程桌面关闭这台VM。稍等片刻后,我们会发现VM的状态变为Stopped。如下图:

   

  Azure VM在Stopped的状态,仍然会产生计算的费用,因为Azure Fabric 会为这台VM保留硬件资源。更加重要的一点是:在Stopped的状态下,Azure的VIP Address和Internal VIP Address将不会改变。

  我们使用Azure Management Portal Start VM,观察VM在Stopped状态下,VIP Address和Internal IP Address的变化:

  

  结论:在使用RDP STOP VM后,VIP和INTERNAL IP都不会改变。

  3.使用Windows Azure PowerShell停止VM

  在最新的Azure PowerShell里,我们在使用Stop-AzureVM命令关闭Azure VM时,可以使用 -StayProvisioned 参数。这个参数的一般性语法如下:

Stop-AzureVM -ServiceName '<DNSNAME>' -Name '<VMNAME>' [-StayProvisioned]

  1)当我们在Azure PowerShell执行Stop-AzureVM命令,没有使用 -StayProvisioned参数,则VM关闭后状态为Stopped(Deallocated),执行结果就类似于我们使用Azure Management Portal来关闭VM。VIP和Internal IP都会改变。

  2)当我们在Azure PowerShell执行Stop-AzureVM命令,使用 -StayProvisioned参数,则VM关闭后状态为Stopped,执行结果就类似于我们使用远程桌面连接,在远程桌面关闭Azure VM。VIP和Internal IP都不会改变。

  如果我想关闭本章创建的Azure VM,并且想保持VIP Address和Internal IP Address,则我们执行以下语句

Stop-AzureVM -ServiceName 'LeiSingleVM' -Name 'LeiSingleVM' -StayProvisioned

  执行结果如下图:

  

  我们还可以通过Start-AzureVM,来启动Azure VM。执行语句如下:

Start-AzureVM -ServiceName 'LeiSingleVM' -Name 'LeiSingleVM'

  执行结果如下图:

  

  

总结:

  关闭Azure VM方式 Management Portal  远程桌面连接 Azure PowerShell with -StayProvisioned  Azure PowerShell without -StayProvisioned
VIP Address是否改变
Internal IP是否改变
是否继续计费

  

参考资料:http://blogs.technet.com/b/keithmayer/archive/2013/06/19/windows-azure-virtual-machines-there-s-more-than-1-way-to-shutdown-a-vm.aspx

[New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)的更多相关文章

  1. [New Portal]Windows Azure Virtual Machine (20) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(2)

    <Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...

  2. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文:       [New Portal]Windows Azure Virtual ...

  3. [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  4. [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板

    <Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...

  5. [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  6. [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  7. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)

    <Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...

  8. [New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作 ...

  9. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...

随机推荐

  1. Silverlight用户自定义控件件中增加属性和方法

    下面的例子在用户控件MyCpmzSelect中增加了一个myCaption属性 public static readonly DependencyProperty myCaptionProperty ...

  2. ZABBIX冗余架构构筑(Centos6.4+pacemaker+corosync+drbd)

    基本构成: 用pacemaker+corosync控制心跳和资源迁移 用drbd同步zabbix配置文件和mysql数据库 所有软件都用yum安装至默认路径 主机的drbd领域挂载至/drbd,备机不 ...

  3. Swift 对比学习 (一)

    Swift相对Objective-C来说,有过之而无不及,并与Objective-C无缝混编,可谓利器.在Swift中可以看到不同的编程语言的影子,天下语言一大抄,这样也好,减低了不同语言的学习成本. ...

  4. angularjs移除不必要的$watch

    在我们的web page,特别是移动设备上,太多的angular $watch将可能导致性能问题.这篇文章将解释如何去移除额外的$watch提高你的应用程序性能. $watch如果不再使用,我们最好将 ...

  5. FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据

          前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT>和<EMBED>标记来加载图形的,但是这 ...

  6. 据说每个大牛、小牛都应该有自己的库——DOM处理

    这几天整理了一下思路,本来觉得DOM部分会有很多东西,但是忽然发现频繁使用的其实并不太多 class class处理部分主要有四个 hasClass:检查元素是否包含某个class addClass: ...

  7. python:how does subclass call baseclass's __init__()

    First, use baseclass's name to call __init__() I wrote code like this: and we can use 'super' too.

  8. Java基础之如何解决斗地主问题

        难的是逻辑的分析,把逻辑转化成代码是一种能力,这种能力需要多练习总结.     多多指教,共同进步. 问题: 要求实现斗地主游戏发牌过程,打印三个玩家的牌和底牌.在不看底牌的情况下,统计出三个 ...

  9. PHP变量作用域

    PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效,除非被局部变量覆盖,这可能引起一些问题,有些人可能不小心就改变了一个全局变量.PHP 中全局变量在函数中使用时必须 ...

  10. atitit 短信接口规范与短信解决方案.docx

    atitit 短信接口规范与短信解决方案.docx 1.1. 国内比较著名的短信提供商1 1.2. 短信接口规范1 1.3. 短信sdk构成1 1.4. 短信的实现1 1.5. SmsServiceY ...