保留IP当前正在使用中

时间:2016-03-18 03:45:08

标签: asp.net-mvc azure-cloud-services

我使用以下配置部署了具有保留IP的Azure云服务:

  <InstanceAddress roleName="WorkerRole">
    <Subnets>
      <Subnet name="default" />
    </Subnets>
  </InstanceAddress>
  <ReservedIPs>
    <ReservedIP name="MyReservedIP" />
  </ReservedIPs>

但是,当我尝试更新此部署并部署到临时插槽时,我正在关注:

错误:属于HostedService xxxxx的Deployment xxxxx当前正在使用保留IP MyReservedIP。 Http状态代码:BadRequest OperationId:xxxx

2 个答案:

答案 0 :(得分:3)

显然,在部署到临时插槽时,您需要使用不同的保留IP名称。例如:

  • 生产工人有ReservedIp“ReservedIpProd”
  • 分段工作者具有ReservedIp“ReservedIpStaging”

部署到暂存时,正在使用的IP将是暂存IP。然后,当您将登台交换到生产时,代码库将被更改,但保留的IP将保留在最初分配给它们的插槽中。

例如:

  • VIP swap to staging to production
  • 您的生产部署(之前已暂存)保留“RevervedIpProd”
  • 您的暂存环境(以前是生产)保留“ReservedIpStaging”

请参阅第二条评论here on the Azure Feedback Forum

我建议你这样试试并验证它是否有效。

答案 1 :(得分:0)

对保留IP名称的评论:

您必须在名为“ReservedIPName”的每个结果的第一行中使用PowerShell命令Get-AzureReservedIP所显示的完全相同的名称。首先使用Add-AzureAccount在PowerShell中登录您的Azure帐户。

例如,在我的情况下,它是资源组(“abc”)和保留IP(“defIP”)的名称的串联。 =&GT; “group abc defIP”

ServiceConfiguration.myService.cscfg:

<ServiceConfiguration serviceName="mysvc" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="5" osVersion="*" schemaVersion="2015-04.2.6">
...
  <NetworkConfiguration>
    <AddressAssignments>
      <ReservedIPs>
        <ReservedIP name="Group abc defIP" />
      </ReservedIPs>
    </AddressAssignments>
  </NetworkConfiguration>
</ServiceConfiguration>