I volunteered at an event last month that helps non-profit organizations get some attention for their web needs.
My organization needed new hosting. I spun up an AWS EC2 instance, we installed Apache, SQL, the whole 9 yards and then moved all the DNS entries to GoDaddy and then swapped out the nameservers to point at GoDaddy. Worked beautifully.
A few weeks later I get an email saying the site is broken again. I can't replicate it, but to rule out user error, I hopped on a conference call with my new friend in Panama.
Both her cell phone and her work laptop resolve to the old server, and I saw it with my own eyes. The old server was broken, the new AWS hosted version was not broken, but nobody can reach the new version. Her cell and work laptop share an ISP that doesn't resolve. At her home, on a separate ISP, it works fine. From my machine and phone, obviously it works.
So, just for sanity checks, I had her plug in Google DNS, flush all dns caches and give it a shot. Somehow, it STILL resolves to the wrong IP address. At her house, with google DNS still in use, it resolves properly. With a hard-coded hosts file it works, but obviously that's not scalable.
How is an ISP overruling Google's DNS and sending an entire country to a month old DNS entry?
I did another DNS update, hoping to maybe unclog a log jam that may have occurred in the first place. It's been 2 weeks, still hasn't reached their network.
What else can I do to make this thing work again?
Well, past self, he's the answer from future self:
Ask her if she contacted GoDaddy support for help with her email account and see if they added her old nameservers back through some back channel so that they had one NS pointing to your new EC2 instance and the other pointing to the old BlueHost account.
There's a glitch in their nameserver config that showed "Nameservers: GoDaddy" or similar, where some DNS tools showed me that wasn't the case. I had to manually set the nameservers to NS07.DOMAINCONTROL.COM and NS08.DOMAINCONTROL.COM, based on what other domains I moved over were set to.
Turns out that it resolved differently for me and her because of response time from each nameserver: the client to a name server apparently only uses the response from the fastest/lowest latency server.
TL:DR; Nameserver mismatch by GoDaddy tech support.