我在Azure中拥有一个Cloud Service Worker角色,该角色已设置为保留的IP地址。保留IP的目标是当工作者角色发出外部请求时,它总是来自同一个IP。该服务不接收外部流量,也不需要内部通信。
编辑:使用以下Azure Powershell命令将保留的IP与Cloud Service相关联:
Set-AzureReservedIPAssociation -ReservedIPName uld-sender-ip -ServiceName uld-sender
此 将 以下的NetworkConfiguration部分添加到.cscfg文件中:
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="uld-sender-ip" />
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
现在,当我尝试重新部署服务或更新Azure中的配置设置时,我收到以下错误:
该行动&#39; 5e6772fae607ae0ca387457883bf2974&#39;失败:&#39;验证 错误:针对.csdef文件验证.cscfg文件时出错。 严重性:错误,消息:ReservedIP&#39; uld-sender-ip&#39;没有映射到 一个终点。服务定义必须包含至少一个端点 映射到ReservedIP ..&#39;。
所以,我尝试将端点添加到.csdef文件中,如下所示:
<Endpoints>
<InternalEndpoint name="uld-sender-ip" protocol="tcp" port="8080" />
</Endpoints>
另外,我已经将NetworkTrafficRules输入到.csdef中,如下所示:
<NetworkTrafficRules>
<OnlyAllowTrafficTo>
<Destinations>
<RoleEndpoint endpointName="uld-sender-ip" roleName="Sender"/>
</Destinations>
<AllowAllTraffic/>
</OnlyAllowTrafficTo>
</NetworkTrafficRules>
但我仍然得到同样的错误。
我的理解是端点仅用于工作人员/ Web角色之间的内部通信,或者打开端口以接收外部通信。
编辑:我的问题是如何将保留IP映射到此方案的端点?
答案 0 :(得分:0)
为避免在尝试更新配置设置或重新部署服务时出现错误,我运行了Azure Powershell命令以删除与服务保留的ip关联:
Remove-AzureReservedIPAssociation -ReservedIPName uld-sender-ip -ServiceName uld-sender
然后,我能够在Azure中编辑和保存配置设置,和/或重新部署服务。更新服务后,我运行了Azure Powershell命令来设置与服务的保留IP关联:
Set-AzureReservedIPAssociation -ReservedIPName uld-sender-ip -ServiceName uld-sender
这显然不是理想的解决方案,但至少我可以根据需要对服务进行更改。希望这有助于某人。