与 Azure 虚拟网络连接的 Azure 云服务 - 内部 IP 是静态的还是动态的?
Azure Cloud Service connected with Azure Virtual Network - is the internal IP static or dynamic?
我已经部署了云服务(不是虚拟机)并将其附加到我使用以下云服务配置创建的虚拟网络:
<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 在实例重置等情况下不会更改。
我在多个实例中遇到了同样的问题。
据我所知,ips 是动态的。这是有充分理由的。当为不同的角色动态添加实例时,ips 的预测将是一个配置噩梦。
我通过内部负载平衡器解决了这个问题。使用内部负载平衡器允许您定义一个静态 IP 地址,考虑到可以从 VPN 内寻址多个网络/工作者角色。看这里 internal load balancer overview
---更新---
澄清一下:Web 上的内部负载平衡器和辅助角色确实有效,请查看您必须添加的部分才能实现 运行。与虚拟机的 ILB 不同,您不需要 Powershell,只需要配置。
将负载均衡器定义放入您的 ServiceConfiguration.Cloud.cscfg:
<LoadBalancers>
<LoadBalancer name="loadbalancername">
<FrontendIPConfiguration type="private" subnet="subnet-name" staticVirtualNetworkIPAddress="{your static ip}" />
</LoadBalancer>
</LoadBalancers>
将您的输入端点添加到 ServiceDefinition.csdef 中有问题的 web/workerrole:
<Endpoints>
<InputEndpoint name="faredb-reader-ilb-endpoint-http" protocol="http" localPort="8080" port="8080" loadBalancer="loadbalancername" />
</Endpoints>
您必须已将子集配置为 ServiceDefinition.csdef 的一部分。静态 ip 应该是子网的一部分。
更多信息请参考this。我在设置它时也遇到了一些麻烦。文档不是很完整。
我已经部署了云服务(不是虚拟机)并将其附加到我使用以下云服务配置创建的虚拟网络:
<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 在实例重置等情况下不会更改。
我在多个实例中遇到了同样的问题。
据我所知,ips 是动态的。这是有充分理由的。当为不同的角色动态添加实例时,ips 的预测将是一个配置噩梦。
我通过内部负载平衡器解决了这个问题。使用内部负载平衡器允许您定义一个静态 IP 地址,考虑到可以从 VPN 内寻址多个网络/工作者角色。看这里 internal load balancer overview
---更新---
澄清一下:Web 上的内部负载平衡器和辅助角色确实有效,请查看您必须添加的部分才能实现 运行。与虚拟机的 ILB 不同,您不需要 Powershell,只需要配置。
将负载均衡器定义放入您的 ServiceConfiguration.Cloud.cscfg:
<LoadBalancers> <LoadBalancer name="loadbalancername"> <FrontendIPConfiguration type="private" subnet="subnet-name" staticVirtualNetworkIPAddress="{your static ip}" /> </LoadBalancer> </LoadBalancers>
将您的输入端点添加到 ServiceDefinition.csdef 中有问题的 web/workerrole:
<Endpoints> <InputEndpoint name="faredb-reader-ilb-endpoint-http" protocol="http" localPort="8080" port="8080" loadBalancer="loadbalancername" /> </Endpoints>
您必须已将子集配置为 ServiceDefinition.csdef 的一部分。静态 ip 应该是子网的一部分。
更多信息请参考this。我在设置它时也遇到了一些麻烦。文档不是很完整。