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

I'm in the middle of updating my DNS setup to use all CNAMEs instead of A records, because I need support for VIP swaps between Staging and Production. I can't use A records for this because that puts a dependency on a VIP that will be changing for each deployment.

Previously, I was using A records because of wildcard AND base domain support - I could map mydomain.com and all subdomains to the VIP and everything just worked.

CNAMEs make this a bit more complicated, but not impossible.

My question(s) is - with VIP swaps, the site url (mysite.cloudapp.net) needs to change from pointing to the original VIP, to the new VIP, right? If so, doesn't DNS need to propagate anyways? What happens to all of the cached DNS records that have mysite.cloudapp.net pointing to the original VIP? Isn't there still a delayed propagation, and a chance that requests will get forwarded to the old VIP while this propagation occurs?

This question is related to azure dns azure-web-roles azure-deployment

The answer is


A VIP swap is an internal change to Azure's routers/load balancers, not an external DNS change. They're just routing traffic to go from one internal [set of] server[s] to another instead. Therefore the DNS info for mysite.cloudapp.net doesn't change at all. Therefore the change for people accessing via the IP bound to mysite.cloudapp.net (and CNAME'd by you) will see the change as soon as the VIP swap is complete.


Examples related to azure

How is VIP swapping + CNAMEs better than IP swapping + A records? 'Connect-MsolService' is not recognized as the name of a cmdlet Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet Could not load file or assembly "System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" How to view the roles and permissions granted to any database user in Azure SQL server instance? How to get the azure account tenant Id? Azure SQL Database "DTU percentage" metric Could not load file or assembly System.Web.Http.WebHost after published to Azure web site How to re-create database for Entity Framework? How do I create a new user in a SQL Azure database?

Examples related to dns

How is VIP swapping + CNAMEs better than IP swapping + A records? ping: google.com: Temporary failure in name resolution What's the source of Error: getaddrinfo EAI_AGAIN? How do I solve the "server DNS address could not be found" error on Windows 10? Creating self signed certificate for domain and subdomains - NET::ERR_CERT_COMMON_NAME_INVALID How to force DNS refresh for a website? ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known How to filter wireshark to see only dns queries that are sent/received from/by my computer? How can I list ALL DNS records? How to redirect DNS to different ports

Examples related to azure-web-roles

How is VIP swapping + CNAMEs better than IP swapping + A records? "The certificate chain was issued by an authority that is not trusted" when connecting DB in VM Role from Azure website

Examples related to azure-deployment

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