1

Once can easily setup Azure traffic manager with two endpoints:

  1. the e-commerce site you operate normally
  2. the site with a static maintenance page (we user Azure static web)

The requirement is to be able to put up the maintenance page any time, regardless of if the e-commerce site is up or down.

There are several routing methods in TM, but nothing which is "just use the enabled one".

We tried the "performance" routing method.

The problem is this: if we enable the site down endpoint (after a long period of not using it), and disable the e-commerce endpoint, there is a long period (about a minute) where TM is checking the endpoint status of the newly enabled endpoint, where "new" users see this message: site not found, DNS name not resolved instead of the site down page. If they keep refreshing, after around a minute they see the maintenance page.

Any suggestions on how to make the switch instant? Ideally I would want to disable all the endpoint health checks, but cant see a way to do this. This is especially true of our non-prod envs, which cant be seen without our VPN, so Azure can't actually check the health.

This is separate to the issue that users on the e-commerce site will continue to see the e-commerce site after the switch, as their browsers are caching the DNS records (we set them to the min, which is 10 mins).

eos
  • 551
  • 4
  • 10
  • 27

1 Answers1

2

In your scenario you want to use the priority routing method, this will use the endpoint with the highest priority unless it is not available then it will use the low priority. You can then switch the priority when you need to switch to the maintenance page.

Using performance routing will result in people hitting your maintenance page when it is quicker for them to reach that than your main page.

Traffic manager is a DNS based routing tool, so there will always be some delay when you make the change, there isn't really a way around this. If you need quicker response time then you will want to look at something like Front Door, which is not DNS based.

Sam Cogan
  • 38,736
  • 6
  • 78
  • 114