cloud hosting

Come migrare da AWS a Hetzner

AWS Hetzner
Difficoltà: Avanzato Tempo stimato: 1-2 settimane

Guida passo passo per spostare la vostra infrastruttura cloud da Amazon Web Services a Hetzner, il provider di hosting tedesco dal prezzo vantaggioso.

Prerequisiti

  • Un account AWS con infrastruttura documentata
  • Un account Hetzner Cloud
  • Accesso SSH a entrambi gli ambienti
  • Competenze di base di amministrazione server

Passaggi

  1. Inventariare le risorse AWS

    Inventariate tutte le istanze EC2, i database, i bucket di storage e le configurazioni di rete del vostro account AWS.

  2. Provisioning dei server Hetzner

    Create in Hetzner Cloud server cloud o macchine dedicate equivalenti, adeguati ai requisiti del vostro carico di lavoro.

  3. Migrare i database

    Esportate i database da RDS o da istanze autogestite e importateli nei nuovi server database Hetzner.

  4. Trasferire le applicazioni

    Distribuite il codice applicativo e le configurazioni sulla nuova infrastruttura Hetzner tramite la vostra pipeline CI/CD.

  5. Aggiornare il DNS

    Puntate i record DNS del vostro dominio ai nuovi indirizzi IP dei server Hetzner, con un TTL ridotto per un rapido rollback.

  6. Test e transizione

    Eseguite test di integrazione completi su Hetzner, poi effettuate il passaggio definitivo e dismettete le risorse AWS.

Perché migrare da AWS a Hetzner?

AWS è un’azienda statunitense, quindi i dati che ospita, anche nelle sue region UE, sono esposti al CLOUD Act. Hetzner è un’azienda tedesca con data center propri in Germania e Finlandia, interamente all’interno dell’UE e del quadro GDPR. (Hetzner offre anche location cloud negli Stati Uniti e a Singapore; scegliete Norimberga, Falkenstein o Helsinki per mantenere i dati nell’UE.) Oltre alla sovranità dei dati, Hetzner è nettamente più conveniente: server cloud comparabili costano spesso una frazione degli equivalenti AWS, con prezzi trasparenti e senza costi di egress nascosti.

Hetzner alimenta inoltre i propri data center con energia rinnovabile e ha un forte impegno per la sostenibilità, il che la rende una scelta infrastrutturale responsabile.

Passaggi dettagliati della migrazione

Passaggio 1: inventariare le risorse AWS

Prima di migrare, create un inventario completo:

  1. Elencate tutte le istanze EC2 con le relative specifiche (CPU, RAM, storage)
  2. Documentate i database RDS (motore, versione, dimensione)
  3. Catalogate i bucket S3 e il loro utilizzo totale di storage
  4. Mappate la rete VPC, i security group e i load balancer
  5. Annotate eventuali servizi specifici di AWS (Lambda, SQS ecc.) per cui servono alternative

Usate aws cli o la Console AWS per esportare queste informazioni. I servizi strettamente legati ad AWS (come Lambda) richiederanno un refactoring.

Passaggio 2: provisioning dei server Hetzner

Tramite la Hetzner Cloud Console o la CLI hcloud:

  1. Create server cloud corrispondenti alle specifiche delle vostre istanze EC2
  2. Scegliete la località del data center (Falkenstein, Norimberga o Helsinki)
  3. Configurate firewall equivalenti ai vostri security group AWS
  4. Configurate reti private per la comunicazione tra server
  5. Collegate volumi per le esigenze di storage persistente

Passaggio 3: migrare i database

Per database PostgreSQL o MySQL:

  1. Create un dump del database su AWS: pg_dump o mysqldump
  2. Trasferite il file di dump su Hetzner tramite scp o rsync
  3. Importatelo sul server Hetzner: psql o mysql < dump.sql
  4. Verificate il numero di righe e l’integrità dei dati
  5. Impostate temporaneamente una replica se vi serve una migrazione senza downtime

Passaggio 4: trasferire le applicazioni

Distribuite il vostro stack applicativo su Hetzner:

  • Usate la vostra pipeline CI/CD esistente (GitLab CI, GitHub Actions) puntandola verso Hetzner
  • Installate le dipendenze e configurate le variabili d’ambiente
  • Configurate un reverse proxy (nginx/Caddy) e i certificati TLS (Let’s Encrypt)
  • Per sostituire S3, valutate Hetzner Object Storage o un’istanza MinIO self-hosted

Passaggio 5: aggiornare il DNS

Preparatevi al passaggio:

  1. Abbassate il TTL DNS a 60 secondi almeno 24 ore prima della transizione
  2. Aggiornate i record A/AAAA in modo che puntino agli IP Hetzner
  3. Aggiornate eventuali record CNAME per i sottodomini
  4. Monitorate la propagazione DNS con strumenti come dig o whatsmydns.net

Passaggio 6: test e transizione

  1. Eseguite test di integrazione e di carico completi sull’ambiente Hetzner
  2. Effettuate una sincronizzazione finale del database se usate la replica
  3. Cambiate il DNS e verificate che il traffico arrivi a Hetzner
  4. Monitorate attentamente log e metriche dell’applicazione per 48 ore
  5. Dismettete le risorse AWS solo dopo averne confermato la stabilità

Consigli per una migrazione senza intoppi

  • Usate il provider Terraform di Hetzner per deployment infrastructure-as-code
  • Valutate un periodo di esecuzione parallela in cui entrambi gli ambienti gestiscono il traffico
  • Configurate il monitoraggio (Prometheus, Grafana) su Hetzner prima della transizione
  • Conservate le risorse AWS per 30 giorni dopo la migrazione come rete di sicurezza per il rollback
  • Mettete in conto possibili costi di egress da AWS durante la fase di trasferimento dei dati

Ti è stato utile?