【发布时间】:2015-06-03 09:56:19
【问题描述】:
我没有找到有关 Azure 内部负载均衡器的这些问题的任何信息:
- 将创建向 ILB 添加另一个 InputEndpoint 线索,但无法访问或无法正常工作
- “仅”使用 ILB 定义会导致公共默认 InputEndpoint 消失
- ILB 可用需要多长时间不透明。但是,通过查看云服务 Web 角色的可用端口可以看到它。如果公共端口可用,则 ILB 不可用,反之亦然。
所以这些是我的问题:
- 内部负载平衡器取代公共负载平衡器是预期行为吗?
- 除了内部负载平衡器之外,是否还支持公共负载平衡器/我可以公开访问由内部负载平衡器控制的 Web 角色吗?
- 是否支持多个端口(例如 https 旁边的 http 或私有/公共访问)?
一些细节: 内部负载均衡器通过固定 ip 连接到用于云服务的 VPN。配置如下:
<?xml version="1.0"?>
<ServiceDefinition name="MyCloudTest" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4">
<WebRole name="MyWebRole" vmsize="Standard_D1">
<Runtime executionContext="elevated" />
<Sites>
<Site name="Web">
<Bindings>
<Binding name="ILB-Endpoint-Http" endpointName="ilb-endpoint-http" />
<!--<Binding name="ILB-Endpoint-Https" endpointName="ilb-endpoint-https" />-->
<!--<Binding name="public-http-binding" endpointName="public-http-endpoint" />-->
</Bindings>
</Site>
</Sites>
<Endpoints>
<!--<InputEndpoint name="public-http-endpoint" protocol="http" port="81" />-->
<InputEndpoint name="ilb-endpoint-http" protocol="http" localPort="8080" port="8080" loadBalancer="my-ilb" />
<!--<InputEndpoint name="ilb-endpoint-https" protocol="https" localPort="*" port="8443" loadBalancer="my-ilb" />-->
</Endpoints>
这是 ServiceConfiguration 的一部分,它定义了指向具有固定 IP 的 VPN 的 ILB。
<NetworkConfiguration>
<VirtualNetworkSite name="myvpn" />
<AddressAssignments>
<InstanceAddress roleName="MyWebRole">
<Subnets>
<Subnet name="intra" />
</Subnets>
</InstanceAddress>
</AddressAssignments>
<LoadBalancers>
<LoadBalancer name="my-ilb">
<FrontendIPConfiguration type="private" subnet="intra" staticVirtualNetworkIPAddress="172.28.0.27" />
</LoadBalancer>
</LoadBalancers>
高度赞赏每一个提示。
【问题讨论】:
-
您添加的 InputEndpoint 是什么,使事情无法正常工作?
-
“仅使用 ILB 定义”是什么意思 - 您的意思是在那种情况下您从未将 loadBalancer="" 放在 csdef 中?
-
关于问题 1:“1. 内部负载均衡器取代公共负载均衡器是预期行为吗?”我认为内部负载平衡器的目的是限制对资源的访问,使其只能从同一虚拟网络或云服务内部访问 - 否则为什么不使用 InputEndpoint 的常规公共负载平衡呢?为什么需要混合访问模型?
-
@TimLovell-Smith 内部负载平衡器应平衡来自客户内网的呼叫的流量,限制访问不是故意的。公共端口是自动测试所必需的,内部端口由客户使用。实际上,我们通过将自动测试推送到云端解决了这个问题。
-
@TimLovell-Smith 可以在
上方看到 InputEndpoint。 “仅 ILB 定义”意味着 ILB 只有一个端点,公共访问没有第二个端点。我想这里的问题是,两个负载均衡器(一个公共的,一个内部的)不起作用,从技术角度来看是不明智的。如前所述,我们通过将自动测试放在云端解决了这个问题。
标签: azure load-balancing azure-virtual-network internal-load-balancer