将Azure保留IP映射到端点以进行云服务

时间:2017-05-17 23:25:19

标签: azure endpoint azure-worker-roles azure-cloud-services

我在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映射到此方案的端点?

1 个答案:

答案 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

这显然不是理想的解决方案,但至少我可以根据需要对服务进行更改。希望这有助于某人。