Asp.net mvc Azure云服务的保留IP地址不工作
我正在尝试为云服务分配保留的IP地址。我需要此功能来限制对数据库的IP访问(不,我不想允许所有azure节点进行此访问),并且我还必须访问需要静态IP的外部API 到目前为止,我已经创建了一个云服务解决方案,并在该解决方案中添加了一个MVC Web角色。使用Azure Powershell,我获得了一个IP地址(通过使用GetAzureReservedIP验证成功),并更新了配置文件ServiceConfiguration.cloud.cscfgAsp.net mvc Azure云服务的保留IP地址不工作,asp.net-mvc,azure,azure-cloud-services,static-ip-address,Asp.net Mvc,Azure,Azure Cloud Services,Static Ip Address,我正在尝试为云服务分配保留的IP地址。我需要此功能来限制对数据库的IP访问(不,我不想允许所有azure节点进行此访问),并且我还必须访问需要静态IP的外部API 到目前为止,我已经创建了一个云服务解决方案,并在该解决方案中添加了一个MVC Web角色。使用Azure Powershell,我获得了一个IP地址(通过使用GetAzureReservedIP验证成功),并更新了配置文件ServiceConfiguration.cloud.cscfg <?xml version="1.0" e
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="TestApp" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-06.2.4">
<Role name="MvcWebRole">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=XYZ;AccountKey=XYZ" />
</ConfigurationSettings>
</Role>
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="MyReservedIP"/>
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
(显然,我已经确保IP地址的名称与GetAzureReservedIP中显示的完全相同。)
使用此配置,我已将解决方案部署到一个新的云服务,但它没有收到预期的IP地址。
我正在使用Visual Studio 2012和Azure SDK 2.4。我通过选择Build->Publish to Azure从VisualStudio部署到Azure,在这里我创建新的云服务并选择“云”服务配置
编辑
我可以看到IP地址不用于传出流量,因为无法访问数据库(仅允许一个IP地址),并且我对外部Web服务的请求被阻止。管理门户显示使用了另一个IP地址 您是如何确保静态ip未分配给云服务的?希望您在Azure管理门户-云服务-仪表板中观察到云服务的VIP。此外,保留的IP将不会分配给实例。它将仅与云服务关联。根据我在AZure上的个人使用经验,如果您尝试在云服务上使用vip分配保留IP,它将无法工作。您可以分配给新的云服务或云服务,而无需任何部署(vip尚未分配) 另外,请注意,基于亲和组的云服务上的保留Ip有限制,在这种情况下,您可能会遇到以下问题:
New-AzureVM : BadRequest : The deployment contains VirtualNetwork DemoVNET that belongs to an Affinity Group and ReservedIP that belongs to a region. This combination is not allowed.
参考:您需要使用powershell来保留IP。遗憾的是,您目前无法将IP分配给现有的云服务。因此,您必须创建一个新实例 这将指导您如何保留IP 然后,您需要确保您的Azure配置文件(.cscfg)具有以下名称,并在NetworkConfiguration下具有您的ReservedIP名称
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="Your-Reserved-IP-Name" />
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>