0

我已经部署了云服务(不是虚拟机)并将其附加到我使用以下云服务配置创建的虚拟网络:

    <NetworkConfiguration>
    <VirtualNetworkSite name="MyVirtualNetwork" />
    <AddressAssignments>
      <InstanceAddress roleName="SampleAzureVpn">
        <Subnets>
          <Subnet name="Subnet-1" />
        </Subnets>
      </InstanceAddress>
    </AddressAssignments>
  </NetworkConfiguration>

当我在 Azure 管理面板中进入虚拟网络仪表板时,我可以看到我的实例的 IP 设置为 192.168.176.133。

虚拟网络仪表板 - 资源

现在,问题是,这是静态 IP,还是可以针对给定实例更改?我需要确保此 IP 在实例重置等时不会更改。

4

1 回答 1

3

我对多个实例有同样的问题。

据我所知,ips是动态的。这是有充分理由的。当为不同角色动态添加实例时,ips 的预测将是一场配置噩梦。

我通过内部负载平衡器解决了这个问题。使用内部负载均衡器允许您定义一个静态 IP 地址,该地址考虑到可以从 VPN 内寻址多个 Web/工作人员角色。在这里查看内部负载均衡器概述

- - 更新 - -

澄清一下:Web 和工作角色上的内部负载均衡器确实有效,请查看您必须添加的部分以使其运行。与虚拟机的 ILB 不同,您不需要 Powershell,只需配置即可。

  1. 将负载均衡器定义放入您的 ServiceConfiguration.Cloud.cscfg:

    <LoadBalancers>
     <LoadBalancer name="loadbalancername">
      <FrontendIPConfiguration type="private" subnet="subnet-name" staticVirtualNetworkIPAddress="{your static ip}" />
     </LoadBalancer>
    </LoadBalancers>
    
  2. 将您的 inputendpoint 添加到 ServiceDefinition.csdef 中的相关 web/workerrole:

    <Endpoints>
      <InputEndpoint name="faredb-reader-ilb-endpoint-http" protocol="http" localPort="8080" port="8080" loadBalancer="loadbalancername" />
    </Endpoints>
    

您必须将子集配置为 ServiceDefinition.csdef 的一部分。静态 ip 应该是子网的一部分。

请参阅以获取更多信息。我在设置它时也遇到了一些麻烦。文档不是那么完整。

于 2015-06-10T12:19:54.960 回答