Comment migrer d'AWS vers Hetzner
Guide étape par étape pour transférer votre infrastructure cloud d'Amazon Web Services vers Hetzner, l'hébergeur allemand économique.
Prérequis
- Un compte AWS avec une infrastructure documentée
- Un compte Hetzner Cloud
- Un accès SSH aux deux environnements
- Des compétences de base en administration de serveurs
Étapes
-
Auditer les ressources AWS
Inventoriez toutes les instances EC2, bases de données, buckets de stockage et configurations réseau de votre compte AWS.
-
Provisionner les serveurs Hetzner
Créez dans Hetzner Cloud des serveurs cloud ou des machines dédiées équivalents, adaptés aux besoins de vos charges de travail.
-
Migrer les bases de données
Exportez les bases de données depuis RDS ou vos instances autogérées et importez-les sur vos nouveaux serveurs de bases de données Hetzner.
-
Transférer les applications
Déployez le code et les configurations de vos applications sur la nouvelle infrastructure Hetzner via votre pipeline CI/CD.
-
Mettre à jour le DNS
Faites pointer les enregistrements DNS de votre domaine vers les adresses IP des nouveaux serveurs Hetzner, avec un TTL réduit pour pouvoir revenir en arrière rapidement.
-
Tests et bascule
Exécutez des tests d'intégration complets sur Hetzner, puis effectuez la bascule finale et mettez hors service les ressources AWS.
Pourquoi migrer d’AWS vers Hetzner ?
AWS est une entreprise américaine : les données qu’elle héberge, y compris dans ses régions européennes, sont exposées au CLOUD Act. Hetzner est une entreprise allemande qui possède ses propres centres de données en Allemagne et en Finlande, entièrement dans le cadre de l’UE et du RGPD. (Hetzner propose aussi des sites cloud aux États-Unis et à Singapour ; choisissez Nuremberg, Falkenstein ou Helsinki pour garder vos données dans l’UE.) Au-delà de la souveraineté des données, Hetzner est nettement plus économique : des serveurs cloud comparables coûtent souvent une fraction du prix de leurs équivalents AWS, avec une tarification transparente et sans frais de trafic sortant cachés.
Hetzner alimente également ses centres de données en énergie renouvelable et s’engage fortement en faveur de la durabilité, ce qui en fait un choix d’infrastructure responsable.
Étapes détaillées de la migration
Étape 1 : Auditer les ressources AWS
Avant de migrer, dressez un inventaire complet :
- Listez toutes les instances EC2 avec leurs caractéristiques (CPU, RAM, stockage)
- Documentez les bases de données RDS (moteur, version, taille)
- Recensez les buckets S3 et leur volume de stockage total
- Cartographiez le réseau VPC, les groupes de sécurité et les répartiteurs de charge
- Notez les services propres à AWS (Lambda, SQS, etc.) pour lesquels il faudra trouver des alternatives
Utilisez aws cli ou la console AWS pour exporter ces informations. Les services étroitement liés à AWS (comme Lambda) nécessiteront une refonte.
Étape 2 : Provisionner les serveurs Hetzner
Depuis la console Hetzner Cloud ou avec la CLI hcloud :
- Créez des serveurs cloud correspondant aux caractéristiques de vos instances EC2
- Choisissez l’emplacement du centre de données (Falkenstein, Nuremberg ou Helsinki)
- Configurez des pare-feu équivalents à vos groupes de sécurité AWS
- Configurez des réseaux privés pour la communication entre serveurs
- Attachez des volumes pour vos besoins de stockage persistant
Étape 3 : Migrer les bases de données
Pour les bases de données PostgreSQL ou MySQL :
- Créez un dump de la base sur AWS :
pg_dumpoumysqldump - Transférez le fichier de dump vers Hetzner avec
scpoursync - Importez-le sur le serveur Hetzner :
psqloumysql < dump.sql - Vérifiez le nombre de lignes et l’intégrité des données
- Mettez temporairement en place une réplication si vous avez besoin d’une migration sans interruption
Étape 4 : Transférer les applications
Déployez votre pile applicative sur Hetzner :
- Utilisez votre pipeline CI/CD existant (GitLab CI, GitHub Actions) en le pointant vers Hetzner
- Installez les dépendances et configurez les variables d’environnement
- Mettez en place un proxy inverse (nginx/Caddy) et des certificats TLS (Let’s Encrypt)
- Pour remplacer S3, envisagez Hetzner Object Storage ou une instance MinIO auto-hébergée
Étape 5 : Mettre à jour le DNS
Préparez la bascule :
- Abaissez le TTL DNS à 60 secondes au moins 24 heures avant la bascule
- Mettez à jour les enregistrements A/AAAA pour qu’ils pointent vers les IP Hetzner
- Mettez à jour les éventuels enregistrements CNAME des sous-domaines
- Surveillez la propagation DNS avec des outils comme
digou whatsmydns.net
Étape 6 : Tests et bascule
- Exécutez des tests d’intégration et de charge complets sur l’environnement Hetzner
- Effectuez une dernière synchronisation de la base de données si vous utilisez la réplication
- Basculez le DNS et vérifiez que le trafic arrive bien chez Hetzner
- Surveillez de près les journaux et les métriques de l’application pendant 48 heures
- Ne mettez hors service les ressources AWS qu’après avoir confirmé la stabilité
Conseils pour une migration sans accroc
- Utilisez le provider Terraform de Hetzner pour des déploiements en infrastructure as code
- Envisagez une période de fonctionnement en parallèle, pendant laquelle les deux environnements traitent le trafic
- Mettez en place la supervision (Prometheus, Grafana) sur Hetzner suffisamment tôt, avant la bascule
- Conservez les ressources AWS pendant 30 jours après la migration comme filet de sécurité
- Prévoyez un budget pour d’éventuels frais de trafic sortant facturés par AWS pendant la phase de transfert des données
Cela vous a-t-il été utile ?