Migrer un domaine vers Amazon Route 53

Màj 17/08/2013 : Route53 permet désormais d’importer ses zones.

Route 53 est le service DNS d’Amazon Webservices. Ce service est rentable, haute disponibilité et “low latency” car il utilise entre autre un réseau Anycast.

Mis à part cela, Route 53 permet surtout de faire des trucs vraiment cool comme :

  • Weighted Round Robin avec Health check HTTP(S) : dès que le service HTTP d’une machine est innaccessible elle est automatiquement desactivée du round robin jusqu’à son retour.

  • routage du trafic vers plusieurs sites en se basant sur la latence du client : vitale lorsque vous avez plusieurs datacenter et que vous voulez que vos visiteurs soient dirigés vers celui le plus proche.

Entrons dans le vif du sujet :

  • Pour nous faciliter la vie, il existe un excellent outil nommé cli53 permettant de gérer ses Zones Route 53 via l’API d’AWS. C’est du Python, il utilise boto et le tout s’installe via pip : pip install cli53

  • Pour ne rien perdre au passage, il est nécessaire d’extraire sa zone DNS. Généralement vous pouvez la récuperer au format texte sur l’interface de votre registrar.

    Sinon vous pouvez toujours vous débrouiller avec dig -t AXFR domain.tld si autorisé ou au pire dig -t any domain.tld.

  • Créez un fichier domain.tld avec le contenu de la zone obtenue à l’étape précédente.

  • Pour que l’import fonctionne il faut que le fichier soit au format BIND. Pensez à ajouter $ORIGIN domain.tld. au début du fichier si besoin etc …

  • Ensuite il va falloir configurer boto pour que cli53 puisse discuter avec l’API d’AWS, via variables d’environnnement par exemple :

    export AWS_ACCESS_KEY_ID=xxx
    export AWS_SECRET_ACCESS_KEY=xxx
    
  • Maintenant vous pouvez créer votre zone chez Amazon : cli53 create domain.tld ou via la console AWS

  • Importez votre configuration bind cli53 import domain.tld --file domain.tld --replace --wait

  • Enfin, il ne vous reste plus qu’à déléguer votre domaine aux serveurs DNS d’Amazon. Vous pouvez obtenir la liste (4 dans mon cas) sur la console ou via la commande cli53 info domain.tld.

Bonne migration !