The AWS geography tax: why São Paulo costs 59% more than Virginia
A single m6g.xlarge instance gives you 4 vCPUs and 16 GiB of memory powered by AWS Graviton2 silicon. The server rack in North Virginia runs the exact same custom Annapurna processor as the rack in São Paulo, Tokyo, or Mumbai. The operating system image is identical. The performance characteristics are identical.
The invoice at the end of the month is not.
In US East (us-east-1), an on-demand Linux m6g.xlarge runs $0.1540 per hour ($112.42 per month). Launch that same instance in São Paulo (sa-east-1), and AWS bills you $0.2448 per hour ($178.70 per month)—a 59% premium for the same compute capacity.
Move across the globe to India, and the price swings in the opposite direction. In Mumbai (ap-south-1) and Hyderabad (ap-south-2), an m6g.xlarge drops to $0.1012 per hour ($73.88 per month), a 34% discount against the Virginia baseline.
Here is what the regional spread looks like across AWS’s global footprint, why geographical pricing disparities persist, and how to evaluate the tradeoff between round-trip latency and your cloud bill.
The global pricing spectrum
Across the 38 regions where AWS offers Graviton instances, hourly compute prices fall into distinct regional tiers.
The table below breaks down on-demand Linux pricing for m6g.xlarge and the newer Graviton3 m7g.xlarge, indexed against the standard US baseline (us-east-1):
| Region | Code | m6g.xlarge ($/hr) | vs. us-east-1 | m7g.xlarge ($/hr) | vs. us-east-1 |
|---|---|---|---|---|---|
| Mumbai / Hyderabad | ap-south-1 / ap-south-2 |
$0.1012 | -34.3% | $0.1166 | -28.6% |
| US East (N. Virginia / Ohio) | us-east-1 / us-east-2 |
$0.1540 | baseline | $0.1632 | baseline |
| US West (Oregon) | us-west-2 |
$0.1540 | baseline | $0.1632 | baseline |
| Mexico (Central) | mx-central-1 |
$0.1617 | +5.0% | $0.1714 | +5.0% |
| Malaysia / Thailand | ap-southeast-5 / ap-southeast-7 |
$0.1632 | +6.0% | $0.1734 | +6.2% |
| Stockholm | eu-north-1 |
$0.1640 | +6.5% | $0.1734 | +6.2% |
| Ireland / Spain | eu-west-1 / eu-south-2 |
$0.1720 | +11.7% | $0.1818 | +11.4% |
| London | eu-west-2 |
$0.1776 | +15.3% | $0.1887 | +15.6% |
| Northern California | us-west-1 |
$0.1792 | +16.4% | $0.1904 | +16.7% |
| Paris | eu-west-3 |
$0.1800 | +16.9% | $0.1904 | +16.7% |
| Frankfurt | eu-central-1 |
$0.1840 | +19.5% | $0.1955 | +19.8% |
| Seoul | ap-northeast-2 |
$0.1880 | +22.1% | $0.2006 | +22.9% |
| Singapore / Sydney | ap-southeast-1 / ap-southeast-2 |
$0.1920 | +24.7% | $0.2040 | +25.0% |
| AWS GovCloud (US-East / US-West) | us-gov-east-1 / us-gov-west-1 |
$0.1936 | +25.7% | $0.2056 | +26.0% |
| Tokyo / Osaka | ap-northeast-1 / ap-northeast-3 |
$0.1980 | +28.6% | $0.2108 | +29.2% |
| Zurich | eu-central-2 |
$0.2024 | +31.4% | $0.2151 | +31.8% |
| Cape Town | af-south-1 |
$0.2032 | +31.9% | $0.2159 | +32.3% |
| Hong Kong | ap-east-1 |
$0.2120 | +37.7% | $0.2244 | +37.5% |
| São Paulo | sa-east-1 |
$0.2448 | +59.0% | $0.2601 | +59.4% |
You can explore pricing across all instance families and region combinations in our regional pricing directory and the instance explorer.
Why identical hardware costs different amounts
Cloud infrastructure feels abstract, but data centers are physical facilities subject to local real estate costs, power tariffs, tax jurisdictions, and supply chains. Several concrete factors explain the price variations.
1. Import tariffs and national taxes
The 59% price jump in São Paulo (sa-east-1) is primarily driven by Brazilian tax and trade policy rather than power or real estate costs.
Brazil imposes heavy import tariffs and indirect taxes on imported technology hardware. When AWS imports servers, switches, and optics into Brazil, the equipment is subject to multiple federal and state taxes:
- II (Imposto de Importação): Federal import tariff on foreign hardware.
- IPI (Imposto sobre Produtos Industrializados): Tax on manufactured goods.
- PIS / COFINS: Federal social integration and security revenue contributions applied to imports.
- ICMS (Imposto sobre Circulação de Mercadorias e Serviços): State value-added tax that compounds on top of the base import valuation.
Combined, these import fees can increase the landed capital expense of a server rack by 60% to 100% compared to deploying the same equipment in Virginia or Oregon. AWS amortizes that elevated capital expenditure directly into hourly runtime rates.
2. Energy and cooling costs
Running compute clusters requires megawatts of power for the silicon itself and additional energy for facility chillers and heat exchange systems.
- Low-cost power: Regions located near abundant hydroelectric generation or mature industrial grids (such as
us-west-2in Oregon oreu-north-1in northern Sweden) benefit from industrial electricity rates as low as $0.04 to $0.07 per kilowatt-hour. - High-cost power: Regions in dense metro centers or island grids (such as Tokyo, Singapore, and Frankfurt) face grid rates exceeding $0.20 to $0.30 per kWh, alongside higher cooling overhead in tropical climates.
3. Real estate and construction overhead
Building an Availability Zone requires massive parcels of land with diverse power feeds and redundant fiber rights-of-way. Buying land and securing industrial construction permits in Zurich, London, or Hong Kong costs multiples of what it takes to build a facility in rural Ohio or Virginia.
4. Regulatory compliance and specialized operations
Regions with specialized security or sovereignty boundaries require distinct operational setups:
- AWS GovCloud (
us-gov-east-1andus-gov-west-1): Subject to a ~26% premium. These facilities are restricted to US citizens on US soil and maintain strict compliance with ITAR, FedRAMP High, and DoD Impact Level 5 requirements. - Zurich (
eu-central-2): Carries a 31% premium driven by Swiss operational wage standards, strict banking data privacy mandates, and premium regional energy costs.
The storage and networking premium
The geography tax is not limited to virtual machines. Supporting infrastructure services mirror or exceed the compute markup.
Examining storage pricing reveals that EBS block storage incurs an even steeper penalty in high-cost regions:
- General Purpose SSD (
gp3) inus-east-1: $0.080 per GB-month. - General Purpose SSD (
gp3) ineu-west-1(Ireland): $0.088 per GB-month (+10%). - General Purpose SSD (
gp3) ineu-central-2(Zurich): $0.1142 per GB-month (+43%). - General Purpose SSD (
gp3) insa-east-1(São Paulo): $0.152 per GB-month (+90%).
Provisioned IOPS above the free 3,000 baseline on gp3 cost $0.005 per IOPS-month in Virginia, but jump to $0.0095 per IOPS-month in São Paulo—a 90% increase.
If your workload runs 100 TB of gp3 storage with provisioned throughput, running in Brazil costs $15,200 per month for raw block volume capacity compared to $8,000 in North America.
Latency vs. cost: the architectural dilemma
When designing systems for international users, regional price spreads force an explicit architectural tradeoff: network latency versus operational expense.
Consider an engineering team serving users across Brazil and Argentina:
- Hosting in São Paulo (
sa-east-1): End users experience 15ms to 35ms round-trip latency. Compute runs at a 59% premium and storage at a 90% premium. - Hosting in Northern Virginia (
us-east-1): End users experience 110ms to 140ms round-trip latency over subsea fiber routes. Compute and storage run at baseline pricing.
+--------------------------------------------------------------------+
| Latency vs. Cost Tradeoff |
+--------------------------------------------------------------------+
| Option A: Local Deployment (sa-east-1) |
| User (SP/BA) <--- 20ms ---> [ EC2 + EBS + RDS (sa-east-1) ] |
| Cost: +59% Compute, +90% Storage |
+--------------------------------------------------------------------+
| Option B: Edge Cached + US Origin (us-east-1) |
| User (SP/BA) <-- 15ms --> [ CloudFront POP ] <-- 120ms --> [ App ]|
| Cost: Baseline pricing + Data Transfer |
+--------------------------------------------------------------------+
When to stay in the cheap region
For many standard web and API workloads, full regional deployment in high-cost zones is wasteful:
- Static and read-heavy dynamic sites: Putting a CloudFront distribution in front of an origin in
us-east-1delivers sub-20ms cached asset delivery in South America via local edge Points of Presence (POPs) in São Paulo, Rio de Janeiro, and Fortaleza, while keeping your databases and app servers on US pricing. - Asynchronous batch processing and analytics: Background queues, extract-transform-load (ETL) pipelines, model training, and log indexing have no user-facing latency requirements. Running batch pipelines in
sa-east-1oreu-central-2burns budget with zero user benefit. - Internal tooling: Backoffice dashboards, internal APIs, and developer staging environments rarely justify a 59% geographical markup.
When the geography tax is mandatory
There are three scenarios where paying the regional premium is unavoidable:
- Data residency and regulatory compliance: Legal frameworks such as Brazil’s LGPD, South Africa’s POPIA, or Swiss financial privacy laws often mandate that specific customer records and financial ledgers never leave national borders.
- Interactive, write-heavy applications: Real-time collaborative tools, online gaming servers, and financial execution engines cannot tolerate an extra 120ms round-trip penalty on write requests.
- High-frequency internal chatter: Microservice architectures that perform dozens of sequential synchronous network hops between services per user request. If a single page load triggers ten serial backend calls, a 120ms cross-region latency accumulates into a 1.2-second delay.
Managing the regional spread
If compliance or latency requirements require operating inside high-cost regions like São Paulo, Zurich, or Tokyo, mitigate the baseline markup with deliberate instance choices:
- Adopt Graviton over x86: An
m6g.xlargein São Paulo ($0.2448/hr) is roughly 20% cheaper than an Intelm5.xlargein that same region ($0.3040/hr). Switching architectures offsets a substantial portion of the regional tax. - Keep storage lean: Use
gp3rather than oldergp2volumes, rightsize provisioned IOPS, and aggressively tier inactive data to S3 Standard-IA or Glacier. - Split compute and data: Keep the primary database in the required regional zone while running asynchronous workers and data warehousing in lower-cost adjacent regions if data transfer rules allow.
Check current pricing and regional availability for all instance families in our instance explorer before locking in multi-region infrastructure plans.