微软的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. PhotoKit type类型

    参考链接: https://www.jianshu.com/p/42e5d2f75452/ 1.获取图像类型 enum PHAssetCollectionType : Int { case Album ...

  2. [postfix]添加黑名单

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

  3. C++, Java和C#的编译、链接过程解析

    总是感觉java是解释性语言,转载下一篇感觉写的容易理解的文章 转自 http://www.cnblogs.com/rush/p/3155665.html 1.1.1 摘要 我们知道计算机不能直接理解 ...

  4. Django 模型系统(model)&ORM--基础

    ORM 映射关系: 类 ---> 表 属性 ---> 字段 对象 --->一条数据 创建表(建立模型) 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作 ...

  5. Unity3D C#事件管理:EventManager

    原文地址:http://bbs.9ria.com/thread-153258-1-1.html 原project地址:https://github.com/djandrew/UnityEventMan ...

  6. Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag defined

    Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag de ...

  7. SAP文件夹的判断与创建

    [转自 http://blog.csdn.net/saphome/article/details/6956918] SAP文件夹存在的判断与创建 2010-08-29 20:15 相关函数:WS_QU ...

  8. linux.1:创建分区和文件系统

    概述 使用 fdisk.gdisk 和 parted 创建和修改 MBR 和 GPT 分区在本教程中,学习磁盘分区和 Linux 文件系统相关内容,包括学习如何: 使用 mkfs 命令设置 ext2. ...

  9. 《程序员代码面试指南》第五章 字符串问题 去掉字符串中连续出现k 个0 的子串

    题目 去掉字符串中连续出现k 个0 的子串 java代码 package com.lizhouwei.chapter5; /** * @Description: 去掉字符串中连续出现k 个0 的子串 ...

  10. thinkphp 的 Action 控制器中的系统常量总结

    THINK_PATH // ThinkPHP系统目录 APP_PATH // 当前项目目录 APP_NAME // 当前项目名称 CONTROLLER_NAME // 当前控制器名称 MODULE_N ...