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)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
随机推荐
- 解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译)
解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译) http://improve.dk/orcamdf-now-supports-databases-with-mult ...
- MQTT V3.1--我的理解
最近因为工作需要,需要对推送消息了解,因此对MQTT进行了整理,这里更多的是对MQTT英文版的翻译和理解. MQTT(Message Queue Telemetry Transport),遥测传输协议 ...
- 设计模式之美:Product Trader(操盘手)
索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Product Trader 的示例实现. 意图 使客户程序可以通过命名抽象超类和给定规约来创建对象. Product Trad ...
- Javascript自己动手实现getter/setter
虽然ES5中为我们提供了Object.defineProperty方法来设置getter与setter,但此原生方法使用起来并不方便,我们何不自己来实现一个类,只要继承该类并遵循一定的规范就可以拥有媲 ...
- Nim教程【十四】
网友@沉没捕鱼,赞助了一台服务器 这个系列的教程写完之后,我们就要开始着手搭建Nim的社区了~ 异常 Nim中的异常类型是对象类型 根据惯例,Nim中的异常类型的命名都应该以Error后缀结尾 在sy ...
- 程序员必须知道的几个Git代码托管平台
上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...
- 十进制数转化成二进制后包含一的数量(c++)
#include <iostream> using namespace std;int func(int x){ int count=0; while(x){ ...
- 我和Markdown故事
我遇见了Markdown 我喜欢的地方 我要吐槽的地方 适用人群和使用场景 Markdown使用简介 如何入门? Markdown编辑器们 如何在博客园中使用Markdown 引用 我遇见了Markd ...
- 如何在 ASP.NET MVC 中集成 AngularJS(1)
介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术.例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API 服务.另外,还有最新的数据库技术.最新 ...
- 网络异步编程(C#)团购课
新生命开发团队大石头讲解网络异步编程(C#) 内容:网络编程基础.IOCP.APM.SAEA 时长:2~3小时 价格:20元,20人及以上成团,http://item.taobao.com/item. ...