标签:
微软的Azure平台已经支持Instance Level Public IP功能。当有复杂协议的情况下,需要开启多个端口的情况下,可以考虑开启PIP功能。
先介绍几个概念:
对于创建的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)
标签:
原文地址:http://www.cnblogs.com/hengwei/p/4779166.html