【问题标题】:VIP Swaps and Persistence - when exactly do VIPs get recycled?VIP 交换和持久性 - VIP 究竟什么时候被回收?
【发布时间】:2014-01-01 01:01:31
【问题描述】:

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

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

来自Azure docs,声明:

但是请注意,因为 IP 地址的生命周期是相关联的 对于部署,重要的是不要删除您的部署,如果 您需要 IP 地址才能保留。方便的是,一个IP地址 给定的部署槽(生产或登台)在使用时保持不变 Windows Azure 中的两种升级机制:VIP 交换和就地 升级。

我有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,丢弃暂存,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 保持不变,但部署会被交换。删除 staging 并重新部署 staging 会获得一个新的辅助 VIP,但主要 VIP 确实保持不变。我会等到比我更可靠的人可以在这里插话,然后再将其发布为答案。

【问题讨论】:

  • 哎哟。这看起来像是新行为。是的,我现在可以重现它。

标签: azure dns azure-web-roles


【解决方案1】:

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

希望对你有帮助,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    相关资源
    最近更新 更多