AWS → Hetzner
Migrating from AWS to Hetzner
Hetzner (German, Nuremberg/Falkenstein) is the cheapest credible EU cloud, and deliberately IaaS-only. There is no managed database, no managed Kubernetes, no serverless and no CDN: above compute, volumes, load balancers and object storage, every AWS managed service becomes something you install and operate yourself. That trade is the whole story: very low unit cost in exchange for a heavier ops layer. This page is honest about where that effort lands.
Which AWS services have a Hetzner equivalent?
The IaaS primitives are strong and cheap. Everything above them is a “no managed twin”, a deliberate design choice.
| AWS | Hetzner | Verdict |
|---|---|---|
| Amazon EC2 | Hetzner Cloud servers Shared and dedicated vCPU instances at market-leading price/performance. The reason people come here. | Equivalent |
| Amazon EBS | Hetzner Volumes Network block volumes with snapshots. Direct equivalent. | Equivalent |
| Elastic Load Balancing | Hetzner Load Balancers Managed L4/L7 load balancers. Covered. | Equivalent |
| Amazon S3 | Hetzner Object Storage S3-compatible via the AWS SDKs (Falkenstein, Nuremberg, Helsinki), but new (2025): audit versioning, object-lock and lifecycle coverage before compliance-grade use. | Partial |
| Amazon EKS | Self-host (k3s / kubeadm) No managed Kubernetes: you install and upgrade the cluster yourself on Cloud servers. | Self-host / none |
| Amazon RDS / Aurora | Self-host (PostgreSQL) No managed database: you own Postgres provisioning, backups, failover and patching. | Self-host / none |
| Amazon ElastiCache | Self-host (Redis / Valkey) No managed cache: run it on a server yourself. | Self-host / none |
| AWS Lambda | None No serverless functions. Event-driven code runs on your own compute. | Self-host / none |
| Amazon DynamoDB | None No managed NoSQL. Self-host ScyllaDB/Cassandra. | Self-host / none |
| Amazon CloudFront | Pair a third-party EU CDN No first-party CDN. Front Hetzner with Bunny.net or Gcore for global delivery. | Self-host / none |
What breaks that AWS handled for you?
This is the crux of a Hetzner migration: the managed services you stop renting and start running.
- No managed database, Kubernetes, serverless or CDN: above the IaaS primitives, every AWS managed service becomes install-and-operate.
- Object Storage is S3-compatible but recent (2025). Verify versioning, object-lock and lifecycle before trusting it for compliance-grade retention.
- No SQS/SNS, no Kinesis, no managed warehouse: messaging, streaming and analytics are all self-hosted stacks you own end to end.
- The upside that justifies it: unit cost is a fraction of AWS and generous traffic is included, so the ops effort buys a materially lower bill.
Which of your services move cleanly?
Scoped to the IaaS primitives Hetzner runs as managed services. The rest you self-host.
3 capabilities
Object storage
Hyperscaler Amazon S3 Azure Blob Storage Google Cloud StorageEU-sovereign path Scaleway Object StorageOVHcloud Object StorageVerdict MatureS3-compatible API. A drop-in target for most SDKs, backups and static assets.
Block storage
Hyperscaler Amazon EBS Azure Managed Disks Persistent Disk / HyperdiskEU-sovereign path Scaleway Block StorageOVHcloud Block StorageVerdict MatureNetwork block volumes with snapshots. Standard building block, well covered.
Virtual machines
Hyperscaler Amazon EC2 Azure Virtual Machines Google Compute EngineEU-sovereign path Scaleway InstancesOVHcloud Public CloudHetzner CloudVerdict MatureGeneral-purpose and dedicated instances are a solved problem in the EU.
Verdicts are conservative and reflect managed, EU-jurisdiction offerings as of 2026. Provider feature sets move quickly, so we re-check on every engagement.
How many engineer-days does this take?
60–140 engineer-days
The highest range in this set, and honestly so: you are not just moving workloads, you are rebuilding the managed layer AWS ran for you.
- A mid-sized estate: ~20–40 VMs, a few databases, object storage and one or two Kubernetes clusters.
- The low end assumes a mostly stateless, VM-and-container estate with little managed-service reliance.
- The high end assumes self-hosting Postgres (with HA and backups), a Kubernetes control plane, Redis and an observability stack, plus the runbooks to operate them.
- Excludes the ongoing operational load, which is permanent, not a one-off migration cost.
Where does Hetzner actually run?
Three EU locations. Hetzner also has US (Ashburn, Hillsboro) and Singapore regions. Pin sovereign workloads to the three European ones and simply do not select the rest.
- Falkenstein (fsn1), GermanyPrimary German location; Object Storage available.
- Nuremberg (nbg1), GermanySecond German location; Object Storage available.
- Helsinki (hel1), FinlandNordic EU location; Object Storage available.
What are the honest limitations?
- No managed data or Kubernetes services You own Postgres backups and failover, Kubernetes upgrades, cache and observability. That is where most of the migration effort, and the ongoing ops load, lands.
- Leaner support and compliance surface Enterprise SLAs, hand-holding support and the breadth of compliance certifications are thinner than the hyperscalers; new accounts can face identity and capacity checks before large-scale provisioning.
- No global edge Three EU locations and no first-party CDN, so latency-sensitive global delivery needs a paired EU CDN in front.
What else does a CTO ask before committing?
- Is Hetzner actually cheaper once we add the ops cost?
- Often yes, but do the full sum. Unit compute and included traffic are a fraction of AWS, which can dominate the bill. Against that, price in the engineering to self-host and operate the managed layer. For lean, VM-and-container estates the maths is compelling; for managed-service-heavy estates it narrows.
- Can we run production Kubernetes on Hetzner?
- Yes. Many teams run k3s or kubeadm clusters on Hetzner Cloud with its load balancers and volumes. You own the control-plane lifecycle, upgrades and etcd backups, which a managed EKS/Kapsule would have handled for you.
- Is Hetzner sovereign for our compliance posture?
- Its EU locations are German and Finnish with no US parent, clearing GDPR and residency. If you need broad formal certifications (e.g. sector-specific attestations), confirm coverage. Hetzner’s certification surface is narrower than the hyperscalers’.