Call me old school, but I really (I mean REALLY) don’t like the recent explosion of the top level domains. Â I understand that most good names are taken in .com, .org, and .net zones, but do we really need all those .blue, .parts, and .yoga TLDs?
Why am I whining about all this all of a sudden? Â I’ll tell you why. Â Because a new top level domain – .aws – is about to be introduced, and it already broke something for me in a non-obvious manner.

I manage a few Virtual Private Clouds on the Amazon AWS. Â Many of these use and rely on some hostname naming convention (yeah, I’m familiar with the pets vs. cattle idea). Â Imagine you have a few servers, which are separated into generic infrastructure and client segments, like so:
- bastion.aws.example.com
- firewall.aws.example.com
- lb.aws.example.com
- web.client1.example.com
- db.client1.example.com
- web.client2.example.com
- db.client2.example.com
- … and so on.
Working with such long FQDNs (fully qualified domain names) isn’t very convenient. Â So add “search example.com” to your /etc/resolve.conf file and now you can use short hostnames like firewall.aws and web.client1. Â And life is beautiful …
… until one day, when you see the following:
[email protected]$> ssh firewall.aws
Permission denied (publickey).
And that’s when your heart misses a beat, the world freezes, and you go: “WTF?”. Â All kinds of thoughts are rushing through your head. Â Is it a typo? Â Am I in the right place? Did the server get compromised? Â How’s that for a little panic …
Trying a few things here and there, you manage to get into the server from somewhere else. Â You are very careful. Â You are looking around for any traces of the break-in, but you see nothing. Â You dig through the logs both on the server and off it. Â Still nothing. Â You can dive into all those logwatch and cron messages in your Trash, that you were automatically deleting, cause things were working fine for so long. Â There! Â You find that cron was complaining that backup script couldn’t get into this machine. Â Uh-oh. Â This was happening for a few days now. Â A black cloud of combined worry for the compromised machine and outdated backup kills the sunlight in your life. Â Dammit!
Take a break to calm down. Â Try to think clearly. Â Don’t panic. Â Stop assuming things, and start troubleshooting.
A few minutes later, you establish that the problem is not limited to that particular machine. Â All your .aws hosts share this headache. Â A few more minutes later, you learn that ‘ssh firewall.aws.example.com’ works fine, while ‘ssh firewall.aws’ still doesn’t.
That points toward the hostname resolution issue. Â With that, it takes only a few more moments to see the following:
[email protected]$> host firewall.aws
firewall.aws has address 127.0.53.53
firewall.aws mail is handled by 10 your-dns-needs-immediate-attention.aws.
Say what? Â That’s not at all what I expected. Â And what is that that I need to fix with my DNS? Â Google search brings this beauty:
This is problably because the .dev and .local are now valid top level extensions.
Really? Who’s the genius behind that? Â I thought people chose those specifically to make them internal. Â So is there an .aws top level extension now too? Â You bet there is!
Solution? Â Well, as far as I am concerned, from this day onward, I don’t trust the brief hostnames anymore. Â It’s FQDN or nothing.