En fait, il existe un moyen très simple de détecter si l'hôte est une instance EC2 : vérifiez la recherche inverse de votre IP publique. Les inversions EC2 sont assez difficiles à manquer.
De plus, si vous ne l'avez pas modifié, le nom d'hôte devrait être votre inverse, ce qui facilite encore plus le repérage.
Vous pouvez également utiliser l'"IP magique" dont vous avez parlé, car c'est en effet le moyen standard d'obtenir des balises d'instance EC2. Cependant, si vous n'êtes pas sur un réseau EC2, vous devrez attendre un timeout, ce qui n'est généralement pas souhaitable...
Si ces méthodes ne suffisent pas, il suffit de faire un whois de votre IP et de vérifier si vous êtes dans un bloc d'IP Amazon EC2.
EDIT : Vous pouvez utiliser ce petit Shell bit :
#!/bin/bash
LOCAL_HOSTNAME=$(hostname -d)
if [[ ${LOCAL_HOSTNAME} =~ .*\.amazonaws\.com ]]
then
echo "This is an EC2 instance"
else
echo "This is not an EC2 instance, or a reverse-customized one"
fi
Attention cependant, [[ est un bashisme. Vous pouvez également utiliser un uniline Python ou Perl, YMMV.