I imagine DNS Made Easy would: http://www.dnsmadeeasy.com/
However they do have a processing fee for small payments.
You do realize that if someone is after you they could still just lookup your nameservers and DDOS them, right?
I'm not sure what you're trying to achieve by having your own nameservers...
But if you are looking for a solid Authoritative DNS provider, I'd recommend http://www.dnsmadeeasy.com/
I've been looking into this recently, and have narrowed it down to:
$20/yr – 20 domains
1 mil queries / mo.
No failover service
Yes REST API
Free phone support
$30/yr – 10 domains
5 mil queries / mo.
$5 / yr – failover service
No REST API ($60/yr account allows this)
$85 / hr - Phone support
I didn't look too far into this one. At the time you had to do a lot of stuff by hand. They keep improving this service to make it easier to use, so I'll likely check into it again.
Yes, it will check to make sure the secondary IP is responding before failing over to it. It will then switch back to the primary IP when it's healthy again.
Another option for DNS is DNS Made Easy. The nonprofit I work for has been using them for 7 years for multiple domains and haven't had any issues.
For a single domain with less than 5 million queries per month, the price would be ~$30/year.
Assuming you have an AD environment.
Some DNS cloud providers sell "Secondary DNS service." For example, http://www.dnsmadeeasy.com/services/secondarydns/
This keeps your local DNS server your primary. The new, secondary DNS server, in the cloud (AKA on the Internet), would basically be a copy ("mirror") of your primary so far as your local networks are concerned.
This would allow you to set DHCP clients to using two DNS servers. Your local DNS server would be their primary DNS server. The cloud one would be secondary. If your local DNS server is offline, the clients will still be able to access cat videos.
I've been using DNS Made Easy for over a year. It has been reliable, inexpensive, and fast. The UI is simple but allows for all record types (at least all I've needed) and their service allows server monitoring and failover to backup IPs should your server or ISP go down.
In case it helps: Route 53 is no different from any other DNS provider for this use case. The normal way of doing this applies here.
EDIT: Well, on second thought, we've used DNSMadeEasy, which has a feature that allows you to create "HTTP" records which do this, but it's actually just pointing to their own web servers which do the redirection for you. That's more like "magic" on top of the normal way of doing it, though.
DNS failover services like Amazon's Route53 and DNS Made Easy are designed to address issues like these from a DNS level, making it easier to manage, and more cost effective.
I'd look at those solutions first, before you try out more complex and costly solutions.
When you add multiple A records to your DNS, most hosting companies will treat as a round-robin.
Let's say you have two DNS entries on two WAN connections that point to one website. (IP1 and IP2)
If three computers access this website at three different times, it would look something like:
Computer1 -> IP1
Computer2 -> IP2
Computer3 -> IP1
What your looking for is a service that offers DNS failover. Something that detects if one IP or internet connection is down. It will automatically switch to your secondary IP. This is how my setup works. I use http://www.dnsmadeeasy.com/ for this.
You're basically telling DNSMadeEasy what to monitor (port, website, file on a website, etc.), then a set of failover IPs. On your failover entries you're going to want to set the TTL very low - about 3-5 minutes (that's how it does the switching). Once it detects a failure, it automatically switches to your secondary IP.
Hope this helps and makes sense. Let me know if you need anymore info.
Let's assume you have no internal services that are internet reachable and all you are wanting to do is basic failover without any load balancing this can be done without reconfiguring the device.
The reason a "typical" failover config requires reconfiguring routes and policies is due to the need to create a single interface for both WAN links (WAN LLB) which also makes use of load balancing.
The downsides...
To do this you will now have to duplicate any policies that make use of WAN1 interface and instead make sure they are assigned to WAN2.
You will also need to create duplicate VPN tunnels and corresponding routes/policies for WAN2. If using SSL VPN you'll need a new DNS record (vpn2.organization.com or vpnback.organization.com) and new SSL certs OR you can lower the TTL on the DNS record for VPN and change it manually if wan1 goes down to point to wan2 static IP. OR use a service like http://www.dnsmadeeasy.com/services/dnsfailover/
The upside... minimal downtime and im talking like 30 minutes just to test failover which is simply disabling wan1 and making sure traffic is going out wan2 and testing VPN connectivity to WAN2 then enabling WAN1 again and testing connectivity.
Your VLAN routing that is happening on the firewall should not be impacted by this.
on mobile. please excuse formatting and spelling mistakes.
dnsmadeeasy is also another low cost solution. Super short TTLs and it monitors. no response it changes the ip over and drops you an email. really slick for this need imo. http://www.dnsmadeeasy.com/services/dnsfailover/
I'd start by using a smarthost to send email out. That way the email doesn't look like it is leaving from your residential internet connection. The smarthost isn't free. https://www.dnsexit.com/Direct.sv?cmd=mailRelay
There are also incoming email relays/forwarders. http://www.dnsmadeeasy.com/services/mailservices/mailforwarding/ I like that service (I am sure there are others out there...) because your email comes to them on the port that ISPs block and you can select which port your network/email server accepts it on.
I highly recommend DNS Made Easy. Been with them for years, and back when I worked at an agency had a Fortune 500 client doing millions of DNS requests a day and had no issues whatsoever. I currently have around 50 domains with them.
EDIT: I was assuming you meant outsourced DNS service. If you are looking for a registrar, then I don't really have any recommendations other than this -- you need a managed DNS service in addition to your domain registrar. DNS is one of the few things I swear you need redundancy with. If your DNS blips even for a minute, mail will bounce. Your site will not load. It can cripple every service attached to your domain. I think it's well worth a few bucks a month to have redundant DNS service that will never go down.
As for the domain registrar itself, I personally use Enom... but they're all pretty much the same.
You can actually do this with DNS Failover as well. I was trying to get BGP implemented at one of my clients for the longest time but the backup ISP wanted us to move up to their super expensive Metro Ethernet service. DNS Failover achieves the same functional goal at a fraction of the cost.
DNS Made Easy offers such a service. Combine that with zone transfers to another DNS provider and now you're really cooking with redudancy.
It wasn't my intention to deal with high availability in that post, but it's something I'm exploring. You need to have multiple nginx instances across the cluster, and you could have DNS dynamically update with a low TTL in response to the observed state of the system. http://www.dnsmadeeasy.com/ offer such a service. Not perfect, some users can experience several minutes of outage. But that might be a reasonable cost vs HA tradeoff.
Your point about running nginx outside of a container is a good one. I don't think running it outside of a container in CoreOS is a good idea, since CoreOS is really designed around the idea that the application is managed by fleet. You could certainly put it on some dedicated machines and have them talk to etcd though. Again another cost tradeoff.
Better would be a cloud provider with some form of AWS-style elastic IPs so that you can move the primary load balancer IP around. Unfortunately not something Digital Ocean provide, which is who I had in mind when writing the post.
Thanks for you comments though, made me think!
You could consider using something like AWS (maybe start with the free 1 year instance) to host the site instead of hosting it in your closet. You could keep your closet server as a backup and dev/test box and use a tool like DNSMadeEasy which can do an auto failover (http://www.dnsmadeeasy.com/services/dns-failover-system-monitoring/). Also getting a tool like Monitor.US (http://www.monitor.us/en/website-monitoring) and have it monitor your websites and alert you when it goes down.
This isn't going to give you 100% and probably not even 99.999% up time guarantee but it will be a huge improvement over what you are currently using.
With that said keep in mind a lot of companies have multiple full time network/system engineers keeping servers and networks up and running in addition to the developers like you. In today's world of the new "DevOps" term it is more of a single person doing it (like you) but I think the wise decision is to utilize cloud hosting to lower your overhead in terms of supporting the servers.
Good luck and don't be afraid to tell us what you picked!
DNS Made Easy is a reputable online platform that offers DNS service to approximately 600,000 domains over the internet. It is the largest enterprise DNS provider in the industry and facilitates people to keep prices low and overtake the savings directly to the clients. They have always stressed on the policy to invest more cents per dollar on infrastructure as compared to any other DNS company. They continue doing the same. They are the only one which enterprise IP Anycast provider over the planet that works with customers of all sizes. They have diverse clients comprising of government, non-profit and commercial sectors. These clienteles vary from start-ups to internationally distinguished corporate organizations. On visit their website http://www.dnsmadeeasy.com/, one will find that they have clearly mentioned what DNS is all about and why choosing DNS has become easy. They have also discussed about the ways to manage DNS.
This isn't exactly a very easy thing to do. There are tools out there than can provide similiar to what you are looking for (http://www.dnsmadeeasy.com/), however i have never used them to know for sure if they will solve your problem.
I know cloud hosting services such as Heroku do this, however i do not know how they have their systems configured to handle it. You may be able to research about how Heroku is setup if you really wanted to try and configure this yourself. I would assume that if you do not have full root access to your servers / dns server, it would be very difficult to do.
How quick does it need to be? We have been using this to deal with a similar situation. It's not something you would use for 100% uptime but in our use we don't need that. We just need clients to start checking into the secondary IP's within 30 minutes or so.
Keeping the files/database in sync shouldn't be a problem. I'm already doing that with a local failover server.
If the web server is inaccessible it probably means that our locally hosted dns is inaccessible as well. From asking around in the IRC channel, http://www.dnsmadeeasy.com/enterprise-dns/dns-failover/ seems to be the suggestion.