AWS to Hetzner Migration: Cost Savings, Checklist and Pitfalls
Moving a small production stack from AWS to Hetzner Cloud cuts the monthly bill by roughly 80% on the stack below, and about two thirds of that saving comes from data transfer rather than compute. This guide shows the budget at prices we checked on 6 November 2026, what you take on in return, and the order to migrate in.
AWS to Hetzner cost comparison
The example stack: two application servers, a load balancer and 2TB of monthly egress. We left the database out of both columns because we could not verify a current RDS price, so add your own database cost on each side.
On AWS (us-east-1, on-demand, USD):
| Line | Monthly |
|---|---|
| 2× t3.medium (2 vCPU, 4 GiB) at $0.0416/hour | $60.74 |
| Application Load Balancer, $0.0225/hour plus 1 LCU at $0.008/hour | $22.27 |
| Egress, 2TB at $0.09/GB after 100GB free | $175.32 |
| Total | $258.33 |
On Hetzner Cloud (euros, excluding VAT):
| Line | Monthly |
|---|---|
| 2× CPX22 (2 vCPU AMD, 4GB, 80GB NVMe), €19.99 each, IPv4 included | €39.98 |
| Load balancer LB11 | €7.49 |
| Traffic: 20TB included per server at EU locations | €0 |
| Total | €47.47 |
At an exchange rate of $1.00 to $1.20 per euro, that is $47 to $57 a month against $258, a saving of roughly 78-82%. The AWS figures come from AWS’s published rates (the t3.medium rate from a third-party price tracker, the ALB rates from AWS’s own examples); the egress rate is quoted by several pricing guides and we could not read AWS’s own table.
Why the old “90% saving” numbers are out of date
Older case studies assumed Hetzner’s cost-optimized CX line. The CX23 (2 vCPU, 4GB) is listed at €5.99 a month but the page currently says it is unavailable, so the comparable plan you can order is the CPX22 at €19.99, which is 234% dearer.
Where the saving comes from
Egress is $175.32 of the $258.33 AWS total, which is 68%. AWS charges $0.09/GB for the first 10TB, about $92 per terabyte after the free 100GB. Hetzner’s EU locations include 20TB per server and list overage at €1.00 per additional TB.
This is a bandwidth migration that also moves your compute. If your application sends little data, your saving will be much smaller, so measure your real egress before planning anything.
Pick your Hetzner region carefully
Included traffic differs sharply by location. On Hetzner’s regular-performance plans, the CPX22 includes 20TB at its EU locations but only 1TB in Singapore, where it costs €26.99 a month and overage is listed at €7.40 per TB. In the US (Ashburn and Hillsboro) the plans we saw were CPX11 with 1TB included, CPX21 with 2TB and larger sizes with 3-5TB. The CPX22 was not listed there.
If most of your users are in the US or Asia-Pacific, the traffic economics above do not carry over. Check the allowance for your exact region first.
What you take on when you leave managed services
Moving off RDS and other managed services means doing work AWS did invisibly.
-
Database backups: configure
pg_dumpor WAL archiving, then test a restore. Untested backups are not backups. - Failover: a single Postgres server will not fail over. Decide deliberately whether you need replication.
- Patching: OS and database updates are yours.
- Monitoring and alerting: set up Prometheus and Grafana or a hosted equivalent, and decide who receives alerts.
- On-call: when the server stops at 3am, that is you.
We have not measured the time this takes. As a planning assumption, allow several hours for the initial setup and a couple of hours a month afterwards, then price that against your saving using your own hourly rate.
Practical blockers
Account verification. Hetzner can review new accounts, which can delay provisioning. Open and verify your account before you schedule a cutover.
Other AWS services. Email (SES), queues (SQS) and object storage (S3) are separate replacements, not part of moving servers. Use a dedicated transactional email provider rather than sending from a fresh server IP.
Access control. If you rely on fine-grained IAM roles, you are rebuilding an access model rather than moving servers.
Migration order
- Open and verify the Hetzner account.
- Measure your actual monthly egress. If it is small, the case for moving weakens.
- Replace non-server services such as email, queues and storage while AWS is still running.
- Build the new stack in parallel and restore a database snapshot to it.
- Set up backups and monitoring before cutover.
- Lower DNS TTL a day ahead, then cut over.
- Keep AWS running for about a week, and budget for the overlap.
- Plan the data export: AWS bills egress on the way out at the same per-GB rate, so moving 5TB costs roughly $450.
Alternatives to Hetzner
Hetzner is the destination here. If Hetzner’s current pricing or availability is a problem, see how it now compares in our Hetzner price increase analysis, and our AWS alternatives guide sorts other options by workload. IONOS and Cloudzy are two other providers to price against; we have not re-verified their plans for this update.
FAQ
How much can I save moving from AWS to Hetzner?
On the stack above, roughly 78-82% (about $258 a month on AWS against €47.47 on Hetzner), excluding the database on both sides.
Where does the saving come from?
Mostly egress. At 2TB a month, data transfer is about two thirds of the AWS bill. Hetzner’s EU plans include 20TB of traffic.
Is Hetzner’s CX line still available?
The CX23 at €5.99 a month was marked unavailable when we checked on 6 November 2026. The CPX22 at €19.99 is the comparable listed plan.
Does Hetzner have US regions?
Yes: Ashburn and Hillsboro, plus Singapore. Included traffic is much lower there than in the EU, so check your region’s allowance.
What do I take on by leaving RDS?
Backups with tested restores, failover if you need it, patching, monitoring and on-call.
When should I not migrate?
If you depend on fine-grained IAM, if your egress is small, or if the operational work outweighs the saving for your team.