Azure:有没有办法在不丢失VIP的情况下从云服务切换到VM?

Azure: Is there a way to switch from cloud service to VM without losing VIP?

我想知道是否可以将 CloudService(后来的 CS)中的当前 运行 环境更改为 Windows Azure 中的 VirtualMachine(后来的 VM)部署,而不会丢失 CS 中分配的 VIP?这意味着 VM 将获得当前分配给 CS 的 IP。

我知道现在用户可以使用 Azure PowerShell 保留 public IP,我的目标能否以某种方式实现?是否可以保留在 CS 部署中使用的 IP,然后使用保留的 IP 取消部署和构建 VM 环境?`

有什么方法可以将 VM 实例部署到 CS 暂存槽中,然后只交换 VIP?

在您的具体场景中 - 不。

首先,因为您不能在同一云服务中部署 VM 和 PaaS 角色。这是设计使然。

其次,根据 documentation here,截至今天,保留 IP 地址有一些限制:

  • You must reserve the IP address first, before deploying.
  • At this time, you can’t go back and apply a reservation to something that’s already been deployed.

理论上你可以:

  1. 创建 Empty Cloud 服务(无需部署)
  2. 为此部署保留 Public IP 地址
  3. 部署 PaaS 角色(web/worker)
  4. 从云服务中删除部署
  5. 在同一个云服务中部署虚拟机

然后您在第 5 步中部署的 VM 将具有与在第 3 步中部署的云服务相同的 VIP。这是当今在从一个转换到另一个时为 PaaS 角色和 VM 拥有相同 VIP 的唯一方法。