AWS (EC2 compute) → Hetzner Cloud
What it saves, what actually moves, what you rebuild — and the thing that catches people.
What it costs, and what it saves
Compute: in AWS's published on-demand price data for Linux in US East (N. Virginia), dated 2026-09-25, an m7a.xlarge (4 vCPU, 16 GiB) is $0.23184 per hour. That is about $169.24 for 730 hours, plus $0.005 per hour ($3.65 a month) for its public IPv4 address, plus separately billed EBS storage. As listed on hetzner.com on 2026-10-03, Hetzner's CCX23 (4 dedicated AMD vCPU, 16 GB RAM, 160 GB NVMe) is from €86.49 a month including IPv4, in EU locations with at least 20 TB of traffic included and €1.00 per extra TB. Storage and egress: S3 Standard in us-east-1 is $0.023 per GB-month (AWS Price List, 2026-09-28), so 1 TB is about $23.55. Serving 1 TB to the internet costs $0.09 per GB after the first 100 GB a month, which is free across all of AWS, so about $83.16. Hetzner Object Storage has a €6.49 monthly base that includes 1 TB stored and 1 TB of egress. Hetzner prices exclude VAT, and they rose for new orders from 15 June 2026.
Moves cleanly
Linux servers built from cloud-init, Ansible or Terraform rebuild cleanly: Hetzner Cloud has a REST API, a CLI and Terraform and Kubernetes integrations. Container images and Kubernetes manifests move as they are. Object data copies over the S3 API, because Hetzner Object Storage supports the basic S3 bucket and object operations. Private networks, stateful firewalls, load balancers, block volumes, floating IPs, backups and snapshots all have direct Hetzner counterparts.
You rebuild
Managed AWS services have no Hetzner Cloud product and need a self-run or third-party replacement: RDS and Aurora, DynamoDB, Lambda, SQS and SNS, ElastiCache, CloudFront and Cognito. IAM has no equivalent. A Hetzner object-storage key reaches every bucket in its project by default, and bucket notifications, replication, website hosting, tagging, logging and inventory are listed as unsupported. Hetzner documents no AMI import, so servers are rebuilt rather than copied.
What AWS (EC2 compute) costs you today
Usage-based: a small always-on EC2 instance with storage and traffic commonly lands at $20–40/mo, and data egress (~$0.09/GB after the free 100 GB monthly) is the classic surprise line item.
What actually holds you in
Compute itself is portable — a Linux VM is a Linux VM. The real lock-in lives in managed services (RDS, Lambda, S3-coupled designs) and in egress pricing that taxes the way out. The earlier you keep the stack portable, the cheaper the door stays.
What you are moving to
The price-performance king of European cloud: €5.49/mo (excl. IPv4 and VAT) for 2 vCPU / 4 GB with 20 TB of included EU traffic on its CX23 plan, after Hetzner's 15 June 2026 price rise — a spec DigitalOcean lists at $24, before bandwidth. Hetzner often marks plans unavailable for new orders, so check before you plan around one. Transparent flat pricing, EU and US locations, and the provider half the self-hosting community quietly runs on. It pays Macrostack nothing, which tells you why it's the pick.
From €5.49/mo excl. IPv4 and VAT (CX23: 2 vCPU / 4 GB, 20 TB EU traffic) since the 15 June 2026 price rise; plans are often marked unavailable for new orders; US locations cost more and include less traffic
Hetzner Cloud strengths
- Two to four times the compute per dollar of US-priced rivals
- 20 TB of included traffic — bandwidth-heavy apps save $50–100/mo
- Transparent flat pricing with EU data-protection jurisdiction
What you give up
- Smaller region map (EU, US, Singapore)
- Fewer managed services than the big platforms
- New-account vetting can be strict
The migration, step by step
- 1Scope the move from the last three AWS invoices. Split services into what Hetzner covers (EC2-style VMs, EU object storage, private networks, firewalls, load balancers, volumes) and what needs a replacement (RDS, Lambda, SQS, CloudFront and the like). Keep the second group out of the first wave.
- 2Open the Hetzner account weeks ahead. Default resource limits apply, and raising them needs one month as a customer and a paid first invoice. Outbound ports 25 and 465 are blocked on the same terms, so plan to send mail through port 587 or request unblocking.
- 3Rebuild servers with your existing cloud-init or Terraform code. Place them in Falkenstein, Nuremberg or Helsinki if they need Object Storage nearby, since it is offered only there. Start database replication from AWS to the new hosts over an encrypted tunnel.
- 4Before the bulk copy, ask AWS Support for its free data-transfer-out credit for moving off AWS; its 2025 update gives 90 days to finish. Then copy buckets with an S3-compatible tool pointed at Hetzner's endpoint, staying under 750 requests per second per bucket.
- 5Parallel run: keep AWS serving production while Hetzner takes a canary hostname or a weighted share of DNS. Compare error rates and latency, and repeat the delta sync of buckets and databases until they converge.
- 6Cut over: lower DNS TTLs a day ahead, freeze writes, run the final sync, switch DNS and watch for 24–48 hours. Release Elastic IPs and delete AWS snapshots, volumes and buckets only after the rollback window has closed.
The gotcha
Three things catch AWS teams. First, Hetzner Object Storage exists only in Falkenstein, Nuremberg and Helsinki, not in Hetzner's Ashburn, Hillsboro or Singapore locations. A US workload either accepts transatlantic latency to its buckets or keeps objects elsewhere. Second, the S3 support is basic. Hetzner lists notifications, replication, website hosting, tagging, logging, inventory and Intelligent-Tiering as unsupported, supports only SSE-C encryption, and makes each access key valid for every bucket in the project by default; there is no IAM. Third, prices and capacity move. Hetzner raised prices for new orders and rescales on 15 June 2026: CPX22 in Germany and Finland went from €7.99 to €19.49 a month, excluding IPv4. On 2026-10-03 its Cost-Optimized CX and CAX plans were marked 'not available'. Re-quote on the day you migrate, and do not size the move around a plan you cannot order.
When to stay on AWS (EC2 compute)
Stay on AWS if you depend on managed services such as RDS/Aurora, DynamoDB, Lambda, SQS or CloudFront, or on IAM-scoped access. Also stay if you need regions Hetzner does not offer or object storage in the US or Asia, or if you already hold Savings Plans or reserved capacity that narrow the price gap. Running your own databases, queues and failover costs engineering time that a per-server price comparison does not show.
More Layer 3 migrations
Figures verified 2026-07-19 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.