AWS eu-central-2 (Zurich) is reachable from Switzerland at a median 2.9 milliseconds faster than eu-central-1 (Frankfurt), measured over 15 TCP handshakes each: 23.2 against 26.1 milliseconds. In exchange the region costs around 10 percent more, and around 20 percent more for EBS storage. The substantive reason for Zurich is data residency, not latency.
The question comes up in almost every first call: Zurich or Frankfurt? And it almost always arrives carrying an assumption, namely that Zurich must be noticeably faster because it is closer.
I stopped answering that from the gut and measured both.
Latency
From a connection in the canton of Bern, 15 TCP handshakes each against the DynamoDB endpoint of the respective region:
| Region | Median | Minimum |
|---|---|---|
| eu-central-1, Frankfurt | 26.1 ms | 22.2 ms |
| eu-central-2, Zurich | 23.2 ms | 17.3 ms |
2.9 milliseconds of difference at the median.
This is not a lab-grade measurement, it is a consumer connection and a small sample. That is precisely what makes the conclusion sound: if the difference is small enough that a sloppy measurement cannot show it, then it is certainly irrelevant to your application. A page being assembled takes hundreds of milliseconds. Three of them are noise.
The outliers in both series, 88 and 105 milliseconds, were the first handshake, so the cold connection setup. That too is the same in both regions.
Price
I did not copy the prices from a page, I pulled them from the AWS Pricing API, the same query for both regions:
| Line item | Frankfurt | Zurich | Premium |
|---|---|---|---|
| NAT gateway, per hour | 0.0520 USD | 0.0572 USD | +10.0 % |
| NAT gateway, per GB processed | 0.0520 USD | 0.0572 USD | +10.0 % |
| S3 Standard, GB-month | 0.0225 USD | 0.02475 USD | +10.0 % |
| RDS PostgreSQL db.t4g.medium, hour | 0.0740 USD | 0.0820 USD | +10.8 % |
| EBS gp3, GB-month | 0.0952 USD | 0.1142 USD | +20.0 % |
Ten percent across the board, twenty on block storage. AWS bills in USD, which is why the figures are in USD.
A single NAT gateway costs 41.76 USD a month in Zurich before one byte has passed through it. In Frankfurt it is 37.96. Anyone separating three availability zones properly and running one gateway per zone pays 125 USD a month in Zurich for network devices that do nothing while idle.
What follows from it
The premium is the price of data residency, and data residency is a legal argument, not a technical one. It counts when professional secrecy is involved, when a client demands it in the contract, or when a tender prescribes it. Then the premium is worth every centime, because the alternative is the lost contract.
It does not count because it feels better. And it does not count for speed.
Anyone justifying eu-central-2 with latency is justifying it wrongly and pays anyway. Anyone justifying it with data residency is right, and should have the 10 percent in the budget from the start rather than discovering it later in the bill.
The uncomfortable side effect
The premium also applies to everything you do not need.
An unattached EBS volume that has been running along for eighteen months costs 20 percent more in Zurich than in Frankfurt. A NAT gateway carrying traffic that should run over a VPC endpoint, where it would cost nothing, costs 10 percent more. An RDS instance sized for a load that never arrived costs 11 percent more.
So the Swiss region punishes carelessness harder than the German one does. That is the real argument for holding the bill line by line against actual usage once a year in a Swiss AWS account. Not because AWS is expensive, but because here every item left behind keeps running at a premium.
What that looks like is on the AWS cost analysis: one to two days, fixed price, and every item with an estimated annual saving next to it.
You can do the first pass yourself. I wrote up the seven items I meet most often in such accounts on three pages, each with the command or the view that confirms it in minutes.
→ Download PDF: Seven items that inflate an AWS bill (in German)
Frequently asked questions
Is AWS eu-central-2 (Zurich) faster than eu-central-1 (Frankfurt)?
From Switzerland, barely. I measured 15 TCP handshakes each: a median of 23.2 milliseconds to Zurich against 26.1 to Frankfurt, so a difference of 2.9 milliseconds. For practically any web application that is imperceptible, because a single page takes hundreds of milliseconds anyway.
How much more expensive is AWS in Zurich than in Frankfurt?
Around 10 percent on most line items, around 20 percent on EBS storage. From the AWS Pricing API: NAT gateway 0.0572 against 0.052 USD per hour, S3 Standard 0.02475 against 0.0225 USD per GB-month, RDS db.t4g.medium 0.082 against 0.074 USD per hour, EBS gp3 0.1142 against 0.0952 USD per GB-month.
When is eu-central-2 worth it anyway?
When the data has to sit in Switzerland. That is a legal and contractual argument, not a technical one: professional secrecy, a client requirement, a tender condition. Anyone justifying eu-central-2 with speed is justifying it wrongly and pays the premium regardless.
Method, to check for yourself
Latency: curl -o /dev/null -w "%{time_connect}" against dynamodb.<region>.amazonaws.com, 15 runs per region, consecutively from the same connection, August 2026.
Prices: aws pricing get-products --region us-east-1 --service-code <service> with the regionCode filter on eu-central-1 and eu-central-2 respectively, on-demand, as of August 2026. Prices change; the ratio tends to hold.