How is VIP swapping + CNAMEs better than IP swapping + A records?

作为上述内容的延续 - 由于 issues I'm having 和 Azure 中的 CNAME,我非常接近恢复到 A 记录。

Azure docs ,它说:



我有 myapp.cloudapp.net ,目前指向 1.1.1.1 的 VIP。如果我想将应用程序的某个版本部署到 Staging,我将使用我的应用程序旋转 Staging 插槽,进行一些测试,然后通过 VIP 交换进行无缝升​​级。应用程序现在将使用 2.2.2.2 - 尽管如果我此时再次进行 DNS 查找,myapp.cloudapp.net 的 A 记录仍将指向 1.1.1.1 ,因为 VIP 交换对 DNS 没有影响,对吧?

如果是这样,那么当我终止临时部署以节省成本时会发生什么? 1.1.1.12.2.2.2 都会保留给我的服务吗?我希望如此,因为这意味着我可以始终将 A 记录指向 1.1.1.1,通过分阶段部署依赖它,而不必担心 CNAME 的麻烦。但这意味着 this answer 是不正确的。

如果没有,那么这意味着 VIP 交换确实对 DNS 记录有影响,对吗?否则,我将能够做到这一点:

  • 1.1.1.1 > 2.2.2.2, drop staging, 1.1.1.1 被回收
  • 再次启动 staging,2.2.2.2 > 3.3.3.3,但 DNS A 记录仍然指向 myapp.cloudapp.net 的 1.1.1.1。

  • 最后一点没有任何意义,所以要么 DNS 记录得到更新,要么 3.3.3.3 永远不会出现,并且 1.1.1.1 和 2.2.2.2 总是在一起,只要我的云服务不被删除.

    我对这件事很困惑 - 任何指导都会很棒。

    更新 - 我刚刚用以下内容对此进行了测试:
    CHECK DNS - get 1.1.1.1
    READ PROD - get 1.1.1.1
    DEPLOY STAGING
    READ STAGING - get 2.2.2.2
    VIP SWAP
    READ PROD - get 1.1.1.1
    READ STAGING - get 2.2.2.2
    CHECK DNS - get 1.1.1.1
    KILL STAGING DEPLOYMENT
    READ PROD - get 1.1.1.1
    

    因此似乎可以使用 A 记录 - 即使在登台/生产之间切换时,PROD VIP 保持不变,但部署被交换。删除暂存并重新部署暂存会获得一个新的次要 VIP,但主要 VIP 确实保持不变。我会等到比我更可靠的人可以在这里发表意见,然后再将其作为答案发布。

    最佳答案

    VIP 交换不会改变您的公共(public) IP。也就是说,如果您将应用程序部署在 1.1.1.1 的 prod 插槽中,并将 beta 部署在 2.2.2.2 的暂存插槽中,即使 VIP 交换后,您的公共(public) IP 仍将是 1.1.1.1。这是因为 VIP 只是负载平衡配置更改。您可以从 IP 为 2.2.2.2 的暂存槽(最初是 prod 槽)中安全地删除您的原始应用程序。

    希望这可以帮助,

    关于azure - VIP 交换和持久性 - VIP 什么时候被回收?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20864695/

    10-11 03:46