相信第一次接触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的前提下,一旦部署删除,VIP也会随即释放,举个例子,当在同一个云服务中部署两台VM,这两个VM的VIP一样,但是如果这两台VM一旦被删除,该VIP也会被释放,但是在ARM中,如果不创建SLB(并且该虚拟机不分配PIP),那么该虚拟机就没有公共IP地址。

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

3.该IP地址是可以固定的,可以通过powershell固定,如果不固定,一旦系统重启以后该VIP会变,但是即使固定了,一旦删除云服务中的部署被删除,该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通,原理如上。

Azure上的那些IP的更多相关文章

  1. 如何在Azure上动态配置IP地址

    微软最近对 Windows Azure 网站进行了升级,并启用了IIS8的动态 IP 限制模块.现在,开发人员可以为其网站启用并配置动态 IP 限制功能(或简称 DIPR). 可以通过以下链接查看此 ...

  2. 在Windows Azure上配置VM主备切换(1)——Linux篇

    对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...

  3. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)

    前言 (二)建立虚拟网络环境,以及域控和DNS服务器   1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...

  4. Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP

    <Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...

  5. 在Azure上实现Linux Server故障转移

    要充分利用公有云的弹性扩展和高可用, 首先要在应用系统层面支持横向扩展(scale out),这个说起来很容易,或者说对新开发的应用系统而言已经成为标配.但是对已有的.老旧的应用系统来说,这就比较困难 ...

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

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

  7. Azure上七层负载均衡APP Gateway

    Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上 ...

  8. [转]Windows Azure上安装SharePoint 2013

    基于Windows Azure 安装SharePoint 2013 前段时间写的基于Windows Azure安装SharePoint系列,由于Azure的体验账号过期了,所以不得不暂停.今天有幸参加 ...

  9. 在Azure上部署IPv6的App通过IOS App Store审核

    随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...

随机推荐

  1. 使用JavaMail发送邮件

    一.邮件的相关概念 邮件协议.主要包括: SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件 POP3协议:Post Office Prot ...

  2. [bzoj3207][花神的嘲讽计划Ⅰ] (字符串哈希+主席树)

    Description 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天D ...

  3. Lua面线对象学习

    --[[ ]] local userdata = {} local Register = {} function Register:del(key) userdata[self.namespace][ ...

  4. 新手学跨域之iframe

    https://segmentfault.com/a/1190000000702539 页面嵌套iframe是比较常见的,比如QQ相关业务页面的登录框一般都是iframe的.使用ifrmae跨域要满足 ...

  5. [LeetCode] Kth Smallest Element in a BST 二叉搜索树中的第K小的元素

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...

  6. [LeetCode] Two Sum III - Data structure design 两数之和之三 - 数据结构设计

    Design and implement a TwoSum class. It should support the following operations:add and find. add - ...

  7. [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  8. background-image和img的区别

    background-img的时候外边的div必须有宽和高.并且你只能决定图片位于你div的位置不能拉伸图片,或者改变图片的宽高.但是background-image是可以重复的,所以只要你的图片不是 ...

  9. grouping sets从属子句的运用

    grouping sets主要是用来合并多个分组的结果. 对于员工目标业绩表'businessTarget': employeeId targetDate idealDistAmount 如果需要分别 ...

  10. 82.Android之MVP+Retrofit+RxJava实践小结

    转载:http://wuxiaolong.me/2016/06/12/mvpRetrofitRxjava/ 关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛 ...