微软的Azure平台已经支持Instance Level Public IP功能。当有复杂协议的情况下,需要开启多个端口的情况下,可以考虑开启PIP功能。

先介绍几个概念:

  • VIP – virtual IP address 虚拟机的公网IP
  • DIP – dynamic IP address 虚拟机的内网IP
  • PIP – instance-level public IP address 虚拟机及的公网IP

对于创建的VM,都会被分配一个内网的DIP地址,同时多个VM会共享一个Cloud Service。每个Cloud Service会有一个VIP公网IP地址。

 

如果需要端口全开的地址,可以给虚拟机添加PIP地址。这个地址与原有的VIP地址不同,并且通过VIP和PIP都可以访问到这台VM。只是VIP需要做Endpoint的设置,而PIP不需要。

 

具体配置方法:

配置PIP非常简单,只需要一条Powershell命令:

get-azurevm -ServiceName hwpip -Name hwpip | set-AzurePublicIP -PublicIPName hwpipip1 | Update-AzureVM

检查命令:

get-azurevm -ServiceName hwpip -Name hwpip | Get-AzurePublicIP -PublicIPName hwpipip1

这条命令基本看不到任何想看的信息。可以用下面的命令进行观察:

Get-AzureRole -ServiceName hwpip -Slot Production -InstanceDetails

InstanceEndpoints         : {SSH}

InstanceErrorCode         :

InstanceFaultDomain     : 0

InstanceName         : hwpip

InstanceSize         : Standard_D1

InstanceStateDetails         :

InstanceStatus         : ReadyRole

InstanceUpgradeDomain     : 0

RoleName         : hwpip

DeploymentID         : 29da144bef1f432384a15635ada2ce61

IPAddress         : 10.1.1.4

PublicIPAddress         : 42.159.29.19

PublicIPName         : hwpipip1

PublicIPIdleTimeoutInMinutes     :

PublicIPDomainNameLabel     :

PublicIPFqdns         : {}

ServiceName         : hwpip

OperationDescription     : Get-AzureRole

OperationId         : 701a4bf1-1e38-4630-9565-ffd803c2c73a

OperationStatus          : Succeeded

这里可以看到比较详细的信息,其中PublicIPAddress: 42.159.29.19就是公网IP。

 

另外通过命令可以看到虚拟机VIP信息:

$vip = Get-AzureDeployment -ServiceName hwpip

$vip.VirtualIPs

Address         : 42.159.26.212

IsDnsProgrammed     : True

Name         : hwpipContractContract

ReservedIPName     :

ExtensionData     :

这里可以看到VIP地址:42.159.26.212,通过配置endpoint,可以通过这个地址访问到我们开放的Service。

比如当你启用了FTP或HTTP的服务,以及默认启用的SSH服务,可以通过PIP的公网IP访问到,也可以通过VIP访问,但必须要添加endpoint。

 

但如果设置了PIP,必须要添加相应的iptables的规则,否则非常容易被黑掉!

Azure PIP (Instance Level Public IP)的更多相关文章

  1. Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 熟悉Azure平台的读者都知道,我们在使用Azure Virtual ...

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

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

  3. Azure VM Public IP设置

    Azure虚拟机的Public IP是用于客户端直连云中的虚拟机,可以认为是一个外网IP,一般我们为虚拟机设置终结点,例如HTTP的80端口,如果使用Public IP可以不使用Azure Porta ...

  4. Azure Public IP DNS域名

    在某些环境下,PIP是Azure上的一种比较好的解决方案处理一些特殊的环境.比如大量的端口需要打开.向外部的访问非常多等等. 但目前,Azure的Reserved IP address不用应用到PIP ...

  5. Getting Private/Public IP address of EC2 instance using AWS-cli [closed]

    For private IP address: aws ec2 describe-instances --instance-ids i-b78a096f | grep PrivateIpAddress ...

  6. Oracle 11gR2 RAC网络配置,更改public ip、vip和scanip

    Oracle 11gR2 RAC网络配置,更改public ip.vip和scanip 转载黑裤子 发布于2018-10-30 01:08:02 阅读数 2898  收藏 展开 转载. https:/ ...

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

    <Windows Azure Platform 系列文章目录> 注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪 ...

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

    <Windows Azure Platform 系列文章目录> 注意:本文介绍的是Global Azure (http://www.windowsazure.com),如果你使用的是由世纪 ...

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

    <Windows Azure Platform 系列文章目录> 本文介绍的是,当用户在创建Azure Virtual Machine的时候,忘记绑定公网IP,需要重新绑定公网IP的具体操作 ...

随机推荐

  1. bash编程基础

    bash变量 变量命名: 1.不能使用程序中的关键字(保留字) 2.只能使用数字.字母和下划线,且不能以数字开头 3.要见名知义 变量类型: 数值型:精确数值(整数),近似数值(浮点型) 字符型:ch ...

  2. nginx学习之进程控制篇(三)

    1. 进程 nginx有一个master进程和一个或多个工作进程. master process worker process or master process worker process wor ...

  3. git生成public key

    1 配置user name和email git config --global user.name "xxx" git config --global user.email &qu ...

  4. [postfix]添加黑名单

    最近公司员工的邮箱总是收到twoomail.com的邀请邮件,邮箱服务器还没有添加过黑名单呢,就拿它开刀吧. 在主配置文件中添加如下配置 #vi /etc/postfix/main.cf #black ...

  5. Linux c编程:I/O多路复用之select

    一般我们在写socet程序的时候调用的accept,recv等操作都是阻塞型的.意思就是如果我们一直收不到数据那么则会被阻塞.所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待 ...

  6. jQuery源码分析_工具方法(学习笔记)

    expando:生成唯一JQ字符串(内部使用) noConflict():防止冲突 isReady:DOM是否加载完成(内部) readyWait:等待多少文件的计数器(内部) holdReady() ...

  7. Java多线程系列 JUC锁08 LockSupport

    转载 http://www.cnblogs.com/skywang12345/p/3505784.html https://www.cnblogs.com/leesf456/p/5347293.htm ...

  8. bigdecimal类型除法问题

    坑:bigdecimal类型做除法运算时,结果为整数或有限小数时候不存在问题,若结果无法整除,为无限小数时报错 错误代码: Bigdecimal  b = a.divide(c).setScale(5 ...

  9. hihocoder #1032 : 最长回文子串【 manacher算法实现 】

    #1032 : 最长回文子串 时间限制:1000ms 单点时限:1000ms 内存限制:64MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...

  10. 算法(Algorithms)第4版 练习 1.4.1

    =N(N-1)(N-2)/6