VIP互换和持久性 - VIP何时被回收?

时间:2014-01-01 01:01:31

标签: azure dns azure-web-roles

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,drop staging,1.1.1.1再循环
  • 再次启动分期,2.2.2.2> 3.3.3.3,但对于myapp.cloudapp.net,DNS A记录仍然指向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确实保持不变。我会等到比我更可靠的人在这里作为答案张贴之前可以在这里说话。

1 个答案:

答案 0 :(得分:4)

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

希望这有帮助,

相关问题