Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)
《Windows Azure Platform 系列文章目录》
本文介绍的是国内由世纪互联运维的Azure China
熟悉Azure平台的读者都知道,我们在使用Azure Virtual Machine,会有公用虚拟机IP(VIP)和内部IP(DIP)。截图如下:

在Azure平台,关于IP有非常重要的概念
1.VIP (Virtual IP),这个是Azure负载均衡器(SLB)的IP地址。当2台Azure VM部署在同一个Cloud Service下,这2台Azure VM的VIP是相同的。
如果我需要固定VIP地址,请使用Azure PowerShell
我们无法通过ping命令,检测Azure VM的VIP,因为Azure负载均衡器(SLB)是禁用ICMP协议的。
2.DIP (Dynamic IP),这个是Azure VM的内网IP地址。在同一个虚拟机网络(Virtual Network)的不同VM之间,是通过DIP互相通信的。
这里还要提醒一下,Azure VM的DIP是先到先得,最先创建并开机的Azure VM会自动获得第一个可用的DIP。
如果我们需要固定DIP地址,请使用Azure PowerShell。
Azure China (8) 使用Azure PowerShell创建虚拟机,并设置固定Virtual IP Address和Private IP
然而在某些情况下,我们需要获得Azure VM的Internet IP地址(注意不是负载均衡器的IP地址),这时候就需要使用使用Azure实例级别IP,Instance-Level Public IP Address (PIP)。
当2台Azure VM部署在同一个Cloud Service下并开启了PIP,这2台Azure VM的PIP是不同的。
当我们使用Azure PIP的时候,所有的请求直接发送到Azure VM,不经过Azure 负载均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。从安全性角度考虑,我们需要非常仔细的配置Azure VM的防火墙规则。
在使用了PIP的情况下,我们就可以使用Ping命令来直接监测Azure VM的情况了。
Azure VIP,DIP, PIP的区别如下图:

本章我们分为以下几个部分:
一.模拟场景
二.Azure VM如何开启PIP
三.执行Ping命令
四.对Azure VM关闭PIP
五.Azure PIP的限制
接下来开始第一部分内容:
一.模拟场景
以笔者的环境为例,笔者有一台Linux VM,信息如下:

VIP为:42.159.245.162
DIP为:10.0.0.4
PIP默认是没有的
二.Azure VM如何开启PIP,我们以管理员身份,打开Azure PowerShell,执行以下命令
Add-AzureAccount -Environment AzureChinaCloud
#在弹出的界面输入用户名和密码 #设置当前订阅
Select-AzureSubscription -SubscriptionName '[YourSubscriptionName]' –Current #设置PIP
Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Set-AzurePublicIP -PublicIPName "[YourPIPName]" | Update-AzureVM #查看该PIP信息
$instance = Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]"
$instance.PublicIPAddress #上面执行完毕后,就获得了这台Azure VM的PIP地址
以笔者环境为例,执行结果如下:

执行完毕后,这台Azure VM的信息如下:
VIP为:42.159.245.162
DIP为:10.0.0.4
PIP:42.159.247.197
三.执行Ping命令
我们可以对这个PIP:42.159.247.197直接执行ping命令。(注意关闭Windows VM的操作系统防火墙)

我们还可以对这个Azure VM的PIP执行SSH等操作。
请记住,默认的Azure VM的VIP是无法执行Ping命令的。
我们对Azure VM VIP:42.159.245.162无法执行Ping命令。

当我们使用Azure PIP的时候,所有的请求直接发送到Azure VM,不经过Azure 负载均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。从安全性角度考虑,我们需要非常仔细的配置Azure VM的防火墙规则。
四.关闭Azure PIP
我们以管理员身份,运行Azure PowerShell,执行以下命令:
Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Remove-AzurePublicIP | Update-AzureVM
这样就删除了Azure VM的PIP。
五.Azure PIP的限制
(1)Azure PIP无法固定
(2)每个订阅,默认情况下最多5个PIP地址。如果需要更多的Azure PIP,请联系世纪互联
(3)Azure PIP无法在管理界面显示,只能通过Azure PowerShell查看
https://azure.microsoft.com/en-us/blog/instance-level-public-ip-address/
Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)的更多相关文章
- [New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 我们可以通过Windows Azure Management Portal,打开Virtual Machine的Endpoi ...
- Azure PIP (Instance Level Public IP)
微软的Azure平台已经支持Instance Level Public IP功能.当有复杂协议的情况下,需要开启多个端口的情况下,可以考虑开启PIP功能. 先介绍几个概念: VIP – virtual ...
- [New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作 ...
- [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)
<Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...
- [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都是随机分配的. ...
- Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量
<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...
- Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet
<Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...
- Windows Azure Virtual Machine (34) 保护Azure虚拟机
<Windows Azure Platform 系列文章目录> 请注意:我们在Azure上创建的虚拟机,都是可以通过公网IP地址来访问的.(直接通过虚拟机的IP地址:PIP,或者通过负载均 ...
- Windows Azure Virtual Machine (31) 迁移Azure虚拟机
<Windows Azure Platform 系列文章目录> 为什么要写这篇Blog? 之前遇到过很多客户提问: (1)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
随机推荐
- C++模板&泛型编程
---恢复内容开始--- 一.泛型编程 定义:编写与类型无关的逻辑代码,是代码复用的一种手段.模板是泛型编程的基础 模板分为:函数模板和类模板 函数模板:代表了一个函数家族,该函数与类型无关,在使用时 ...
- [laravel] Laravel - composer install
#composer installLoading composer repositories with package informationUpdating dependencies (includ ...
- linux配置java环境变量(详细) -copy
一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车, ...
- 转:python获取linux系统及性能信息
原文:http://amitsaha.github.io/site/notes/articles/python_linux/article.html In this article, we will ...
- [后端人员耍前端系列]AngularJs篇:30分钟快速掌握AngularJs
一.前言 对于前端系列,自然少不了AngularJs的介绍了.在前面文章中,我们介绍了如何使用KnockoutJs来打造一个单页面程序,后面一篇文章将介绍如何使用AngularJs的开发一个单页面应用 ...
- EntityFunctions.AsNonUnicode
http://blog.csdn.net/zzx3q/article/details/7863797 使用工具VS2010 凡是调用FindAll的地方,如果传入参数是String类型的变量(数字类型 ...
- 谈谈javascript语法里一些难点问题(二)
3) 作用域链相关的问题 作用域链是javascript语言里非常红的概念,很多学习和使用javascript语言的程序员都知道作用域链是理解javascript里很重要的一些概念的关键,这些概 ...
- 为jQuery的$.ajax设置超时时间
jQuery的ajax模块封装了非常强大的功能,有时候我们在发送一个ajax请求的时候希望能有一个超时的时间,想让程序在一段时间请求不到数据时做出一些反馈.幸运的是jQuery为我们提供了这样的参数: ...
- 手把手教你用python打造网易公开课视频下载软件2-编码相关说明
函数getdownLoadInfo(url)主要实现核心功能:根据url地址,获取课程信息:课程名(courseTitle),课程数目(courseCount),可下载视频数目(videoCount) ...
- iOS——自定义Segue实现总结
在阅读了iOS 8自定义动画转场上手指南后,刚开始不理解,后来慢慢消化了,现在总结如下: 1. 自定义Segue关键在于继承UIStoryboardSegue并重写perform方法 2. 动画可以在 ...