Azure上的那些IP

相信第一次接触Azure的读者都会碰到这样一个问题,就是Azure的IP地址,笔者第一次接触Azure也是被搞懵逼了,一会儿VIP,不知道的还以为是会员的意思呢,一会儿又是DIP,后来又来了个PIP,所以很容易搞混淆,所以今天笔者稍微讲一下这几种IP!!!

Azure的IP地址分为下面几类

VIP.负载均衡的IP地址(也可以叫公用虚拟IP地址)

DIP.内部IP地址(Azure官网还叫VIP:x,x表示端口号)

PIP.实例层级公共IP

废话不多说,先贴一张图

这张图我是从官网上扣下来的,个人认为这张图画的还是比较清晰的

一.VIP

概述.在ASM中,这个IP地址是必须的,是SLB负载均衡的IP地址,你也可以认为是一个云服务的IP地址,你可以这么理解,但是其实它是附着在SLB上的(以前Azure的SLB是用vm搭建的,现在都是物理机做的,这就是为什么阿里的SLB仍然要单独收费,微软免费的原因),因为我们知道云服务相当于一个容器,里面包含了你的各种部署,但是这个容器外面的SLB是暴露给Internet的,在以前的ASM中,每个云服务都可以免费获取一个VIP,如果需要额外的VIP地址需要支付一定的费用,外部人员通过Internet访问该云服务就是访问的该VIP地址的。

VIP有如下几个特点

1.首先,该IP地址是SLB的,而SLB附着云服务的上的,但是该云服务里面必须有部署,否则不会分配VIP,一旦部署删除,VIP也会随即释放,举个例子,当在同一个云服务中部署两台VM,这两个VM的VIP一样,但是如果这两台VM一旦被删除,该VIP也会被释放。

2.该IP地址是禁ping的,因为SLB是禁止了ICMP协议的,而ping就是基于ICMP协议的。

3.该IP地址是可以固定的,可以通过powershell固定,如果不固定,一旦系统重启以后该VIP会变,但是即使固定了,一旦删除云服务中的部署被删除,该VIP仍然会被释放。

二.DIP

概述.Azure为云服务中的每个部署提供一个虚拟IP地址,就是DIP,一般该地址都是私有IP,只能实现内网之间的互访。

DIP有如下几个特点

1.这是Azure VM的内网IP地址,在同一虚拟网络中的不同VM就是通过DIP互相通信的(当然可以在子网中使用NSG进行策略)。

2.Azure的DIP的分配原则是先到先得的,最先创建并开机的VM会获得第一个可用的DIP。

3.DIP也可以通过powershell固定,无论在ASM还是ARM里,即使该VM被停止或者关机了,该DIP仍然为其保留,但是如果你删除了该VM,在ASM中,该DIP就会被释放,不会再为其保留,如果在ARM中,如果只是删除给虚拟机,该DIP仍然被独占,因为有一个网络接口没被删除,那是虚拟机的虚拟网卡所在,所以DIP仍然还保留着。

三.PIP

概述.我们知道虚拟机的DIP是无法被外网直接访问的,必须通过VIP加端口号才能访问,但是如果该虚拟机附加了PIP,外网就可以直接访问,在ASM中,PIP是不可选的,只能是动态的,在ARM中,是可选的,可以设置为静态,除此以外,我们知道,在Azure的虚拟网络内部,是禁ping的,也就是说只有DIP的两台虚拟机即使在同一内网里面仍然是ping不通的,但是附加了PIP,这两台虚拟机就可以ping了,这是为什么,这是由于这时的ping的数据包其实不是走虚拟网络传输的,而是借助于Internet,这样就等于直接绕过虚拟网络和SLB,这样当然可以ping通,但是有人发现一个奇怪的问题,为什么我附加了PIP的VM可以ping通百度,但是访问不了百度,这是什么原因呢?因为你的虚拟机外被设置了NSG,而NSG默认只开启了22端口,就是SSH,所以你的80端口被关闭,当然不能使用http服务了,又由于NSG只能限制TCP/UDP的流量,而不能限制ICMP,所以当然可以ping通百度。

PIP有如下几个特点

1.PIP是独立的公网IP地址,和负载均衡的IP地址不一样。

2.当同一个虚拟网络中的两台VM都保留了静态PIP,这两个PIP肯定是不同的。

3.如果某台VM我们使用了PIP,所有的请求都直接发送给该VM,在不设NSG的前提下,该VM不需要配置终结点,因为所有的终结点都是暴露在Internet上的。

4.如果VM开启了PIP,就可以直接ping通,原理如上。

时间: 2024-08-07 13:09:37

Azure上的那些IP的相关文章

在Azure上创建MYSQL服务

Azure和所有的云服务一样,也提供了MYSQL数据库,在Azure中叫mysql database on azure.下面我们来一起在Azure上创建一个Mysql数据库. 在新建--> 数据服务,Mysql database on azure当中选择,快速创建,并填写数据库的响应信息. 1.png 注意:名称只能是全小写. 创建成功后,可以到仪表盘当中看到数据库的响应信息. 2.png 如果需要,可以在帐户 Tab当中添加所需要的帐户,帐户格式为databasename%username,

在Azure上实现Linux Server故障转移

要充分利用公有云的弹性扩展和高可用, 首先要在应用系统层面支持横向扩展(scale out),这个说起来很容易,或者说对新开发的应用系统而言已经成为标配.但是对已有的.老旧的应用系统来说,这就比较困难了,不是每个应用系统都能实现/支持横向扩展的.从客户的角度来说,基本上很难接受为了把应用系统迁移到公有云上而去额外投入修改应用系统代码.虽然我们都心知肚明,本质上这是在“偿还技术债”,修改应用系统代码也是为了更好地利用公有云的优势... 对于应用系统的横向扩展而言,“状态”是最大的拦路虎,要支持横向

Global Azure上创建、配置、管理SQL Server信息

近期写了很多关于Azure的相关的文档,今天忙完介绍一下,如何在Windows Azure上配置和管理SQL Server信息:我们今天的实验还是以Global Azure来操作:其实在Windows Azure上的SQL Server结构跟本地差不多,只是在Azure上创建的SQL Server数据不会具有系统默认的管理员权限:比如创建数据库的时候需要指定数据库的管理员信息:不能使用sa做为管理员账户:具体就不多介绍了,具体见下: 我们首先单击SQL 数据库---添加 因为我们环境内没有创建过

Azure上七层负载均衡APP Gateway

Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上图,APP Gateway实现用户HTTPS网站的SSL Offload,还可以实现多个VM的负载均衡.而且可以实现Cookie Affinity功能,这也是7层负载均衡的一种功能. 通过App Gateway.SLB.Traffic Manager综合使用,可以实现对应用系统的高扩展性: 可以通过

通过Powershell远程管理Windows Azure上的虚拟机

Windows Azure上连接虚拟机想必不是件难事尤其是连接Windows操作系统简单点几下鼠标通过远程桌面RDPWindows Azure虚拟机会帮助你自动创建远程连接RDP的Profile你就能体验到公有云带来的便利.由于虚拟机外部连接都是通过端口映射连接的.当然基于区域网络目前Azure.CN中新创建的虚拟网络已经都是区域网络了当然你目前仍然可以创建基于地缘组的虚拟网络虽然并不推荐后可以创建虚拟机实例级别的公共IP地址所以你也可以跳过通过"云服务"端口映射的RDP而直接连接虚拟

在Global Azure上用Azure CLI创建ARM的VM和面向公网的负载均衡

在Global的Azure上,新的Portal和ARM已经正式发布.将来传统的portal和ASM将逐渐淡出. China Azure将在今年下半年推出新的Portal管理界面和ARM功能(即IaaS v2).本文将通过Azure CLI命令行的方式在ARM模式下,创建VM和负载均衡. 在ASM模式下,我们经常使用Endpoint和负载均衡SLB的功能.同样在ARM模式下,SLB也是一个非常重要的功能.但在ARM下和ASM的最重要的不同是:LoadBalancer不再是关联到VM上的属性了.就是

Azure虚拟机之静态IP

在使用Azure服务的时候,无论是虚拟机或者PaaS层角色,例如Web/Work Role,大部分时候都是由Azure基础架构平台来自动分配IP地址,包括所谓的云服务IP(VIP)以及实例IP(DIP),就拿AzureVM举例来说,VIP就是云服务的对外发布IP,常用来映射本地端口或供外部直接访问(比如RDP连接),DIP作为虚拟机内部的系统IP来和Azure平台上的其他资源进行通信. 但有一个问题值得注意,就是默认情况下AzureVM或云服务出现停止/重启状态,VIP与DIP都会发生改变,这是

在Azure上打造通往 Door of freedom的服务器之L2TP VPN服务器部署

最近发现GFW又升级了,而使用google是我们IT人员必须的工具,没有办法只有自己动手部署squid服务器,结果发现squid不是很稳定,经常说出现一会能打开,一会又打不开的情况(具体原因未知),为避免麻烦干脆在Azure上部署了一套L2TP VPN服务器,在这里将部署过程写下,希望对各位博友有帮助: L2TP是常用的一种point-site的VPN.而目前在Azure上的VPN Gateway只支持IPsec和SSTP两种.如果客户需要L2TP服务器,需要自己在VM中搭建.本文将介绍如何在A

Azure上的Web Apps极其相关服务

一般,我们开发Web应用程序的时候,都需要IT运维人员准备Windows OS或Linux OS的Web Server,安装相应的Web组件,比如IIS, Tomcat等等.然后开发人员把相应的代码部署到Web Server上并进行配置. 对于IT运维人员来说,Web Server是IaaS,IT运维人员需要维护Web Server的操作系统等内容.而对于开发人员来说,Web Server是PaaS,开发人员只需要维护Web Application即可.运维人员关心操作系统OS层面的东西,开发人