Azure Cloud Service的保留IP不会保留

Phi*_*ill 5 cloud azure azure-cloud-services

我很难掌握Azure云服务中的保留IP地址.

我有一个带有暂存和制作部署的云服务,我至少需要生产部署才能拥有稳定的IP地址.我按照此处的说明设置了2个保留IP地址,然后将我保留的IP分配给使用Power Shell的Production和Staging部署:

Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP1 -ServiceName mycloudservice -Slot “Production”
Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP2 -ServiceName mycloudservice -Slot “Staging”
Run Code Online (Sandbox Code Playgroud)

所有保留的IP都被分配给相应的实例,并且交换保持正确的地址.问题是如果我删除其中一个部署并重新部署IP地址未得到维护.

我还尝试为云服务分配一个保留的IP地址,而没有指定"Slot",它被分配得很好但似乎没有在生产或暂存部署中使用.

Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName mycloudservice
Run Code Online (Sandbox Code Playgroud)

我通常的工作流程是部署到Staging,然后在测试完毕后与生产交换正常工作.在这种情况下,即使没有部署当前的Production实例,如何确保生产部署在从Staging交换时始终获得保留的IP地址?

Azure文档说"即使资源被关闭或取消分配,云服务的IP地址也会相同",所以即使我删除了生产实例然后从暂存交换,我的先前分配的生产IP地址也不应该被维护?

Don*_*art 4

这对我有用:

创建您的保留 IP

New-AzureReservedIP -ReservedIPName "ip1" -Location "East US 2"

New-AzureReservedIP -ReservedIPName "ip2" -Location "East US 2"

使用 .cscfg 文件中的以下网络配置部署到生产槽:

<NetworkConfiguration>
    <AddressAssignments>
      <ReservedIPs>
        <ReservedIP name="ip1" />
      </ReservedIPs>
    </AddressAssignments>
  </NetworkConfiguration>
Run Code Online (Sandbox Code Playgroud)

使用以下配置部署到暂存槽:

<NetworkConfiguration>
    <AddressAssignments>
      <ReservedIPs>
        <ReservedIP name="ip2" />
      </ReservedIPs>
    </AddressAssignments>
  </NetworkConfiguration>
Run Code Online (Sandbox Code Playgroud)

继续使用正常的工作流程 - 部署到临时环境,然后切换到生产环境。IP 地址应与其插槽保持关联(生产中为 ip1,登台中为 ip2)。