None of the three clouds lists a region in Colombia: the nearest are São Paulo, Queretaro and Santiago, and S3 storage in São Paulo costs 76% more than in Virginia, while in Mexico it costs only 5% more.
1. Where there are regions in Latin America#
Choosing the region where your application runs is one of the hardest decisions to reverse: your data lives there and moving it costs time and money. The table gathers the regions of AWS, Google Cloud and Azure in the region, according to each provider's official documentation read on October 17, 2026.
| Country | AWS | Google Cloud | Azure |
|---|---|---|---|
| Brazil (São Paulo) | sa-east-1, 3 zones; enabled by default | southamerica-east1 (Osasco, São Paulo), 3 zones | Brazil South, 3 zones |
| Mexico (Queretaro) | mx-central-1, 3 zones; must be enabled in the account | northamerica-south1 (Queretaro), 3 zones | Mexico Central, 3 zones |
| Chile (Santiago) | Not in its region table | southamerica-west1 (Santiago), 3 zones | Chile Central, 3 zones |
| Colombia | No region | No region | No region |
All three providers have regions in Brazil (São Paulo) and Mexico (Queretaro). In Chile (Santiago) there are Google Cloud and Azure regions, but AWS does not list one in its table. And for anyone operating from Colombia, none of the three lists a region in the country today: the nearest are São Paulo, Queretaro and Santiago, or those in the United States.
Oracle Cloud does have a region in the country: Colombia Central (Bogota), identifier sa-bogota-1, according to its official documentation read on October 17, 2026. If your requirement is for data to be physically in Colombia, it is the option to evaluate. We found no official announcement of an AWS, Google Cloud or Azure region in Colombia.
Documentation: AWS: available Regions ↗ · Google Cloud: Compute Engine regions and zones ↗ · Azure: list of regions ↗ · Oracle: regions and availability domains ↗
2. What each region costs#
The region changes not only latency but price. AWS's official price list, published on October 15, 2026, shows that S3 Standard storage costs $0.023 per GB-month in Virginia (us-east-1), $0.0405 in São Paulo and $0.02415 in Mexico. Requests change too: a million GETs cost $0.40, $0.56 and $0.42 respectively.
| AWS region | S3 Standard (USD per GB-month) | Versus Virginia | GET (USD per million) | PUT (USD per million) |
|---|---|---|---|---|
| us-east-1 (Virginia) | $0.023 | — | $0.40 | $5 |
| sa-east-1 (São Paulo) | $0.0405 | +76 % | $0.56 | $7 |
| mx-central-1 (Mexico) | $0.02415 | +5 % | $0.42 | $5.25 |
With an example of 1 TB stored, 20 million GETs and 2 million PUTs a month, the code calculates the monthly cost in dollars and in Colombian pesos using the official TRM of October 17. It is a reference: it excludes outbound transfer and taxes.
REGIONS = { # (USD per GB-month, USD per million GETs, USD per million PUTs): S3 Standard, AWS official price list of 2026-10-15
"us-east-1 (Virginia)": (0.023, 0.40, 5.00),
"sa-east-1 (São Paulo)": (0.0405, 0.56, 7.00),
"mx-central-1 (Mexico)": (0.02415, 0.42, 5.25),
}
GB, GETS_M, PUTS_M = 1_000, 20, 2 # 1 TB stored, 20 million GETs and 2 million PUTs a month
TRM = 3174.67 # TRM of Oct 17, 2026: use the one in force the day you budget
for region, (per_gb, per_get, per_put) in REGIONS.items():
usd = GB * per_gb + GETS_M * per_get + PUTS_M * per_put
print(f"{region}: ${usd:,.2f} a month | COP {usd * TRM:,.0f}")| Region | USD a month | COP a month (TRM 3,174.67) | Versus Virginia |
|---|---|---|---|
| us-east-1 (Virginia) | $41 | COP 130,161 | — |
| sa-east-1 (São Paulo) | $65.70 | COP 208,576 | +60 % |
| mx-central-1 (Mexico) | $43.05 | COP 136,670 | +5 % |
São Paulo costs 60% more per month than Virginia in this example; Mexico, 5% more. If your users are in Brazil and latency is critical, the premium can be worth it; otherwise, Mexico is the Latin American region with the smallest surcharge.
Documentation: AWS: official S3 price list (São Paulo) ↗ · AWS: Amazon S3 pricing ↗
3. Latency: measure it, do not assume it#
Geographic distance does not always predict latency: it depends on your internet provider's routes. Before deciding, measure from where your users or your team are. The script opens several TCP connections to a public S3 endpoint of each region and returns the median, in milliseconds.
import socket, statistics, time
ENDPOINTS = { # one public regional endpoint per region
"us-east-1": "s3.us-east-1.amazonaws.com",
"sa-east-1": "s3.sa-east-1.amazonaws.com",
"mx-central-1": "s3.mx-central-1.amazonaws.com",
}
def connect_ms(host: str, attempts: int = 15) -> float:
"""Median TCP connection time to port 443, in milliseconds."""
times = []
for _ in range(attempts):
start = time.perf_counter()
with socket.create_connection((host, 443), timeout=5):
times.append((time.perf_counter() - start) * 1000)
time.sleep(0.2)
return statistics.median(times)
for region, host in ENDPOINTS.items():
print(f"{region}: {connect_ms(host):.0f} ms")Repeat the measurement at different times of day and from your users' networks (home fiber and mobile data). A difference of a few milliseconds rarely justifies paying more for storage.
4. Data residency#
Some sectors or contracts require data to stay in a country or region. All three providers let you pin the region of each resource, but what your regulation or your customer requires is a legal decision, not a technical one: consult specialized advice before choosing.
Two technical precautions. First, prevent backups or logs from leaving the region without you deciding so. Second, document which region each service lives in: changing it later means migrating data.
5. How to choose for your case#
There is no best region overall. The table turns each case into a region to evaluate first and the reason.
| If your case is… | Region to evaluate first | Why |
|---|---|---|
| Users in Colombia and cost rules | us-east-1 (Virginia), measuring latency first | It is the cheapest region in the table and none of the three clouds has a region in Colombia |
| Users or customers in Brazil | sa-east-1 (São Paulo) | It is the nearest region, but storage costs 76% more than in Virginia |
| Users in Mexico or a data requirement in Mexico | mx-central-1 (Mexico) | It costs only 5% more than Virginia on S3 and all three providers have a region in Queretaro |
| Users in Chile | Google Cloud or Azure in Santiago | AWS does not list it in its region table |
| Static content for the whole region | A CDN in front of any region | The origin region matters less when the CDN serves from the edge |
To estimate total cost with your volume, use the catalog's storage pages, which show each provider's price, and the guide on the real cost of object storage.
6. Keep your numbers current#
Regions and their prices change: AWS opened Mexico Central, Google Cloud Queretaro and Azure Chile Central in recent years. The figures in this guide are those of the official sources on October 17, 2026.
- Check each provider's region table before committing to an architecture.
- Recalculate the cost with the official price list when your volume changes.
- Measure latency again if you open a new market.
Sources and scope
Documentation checked on October 17, 2026. Examples and decision criteria are editorial proposals; adapt them to your application's contract and validate them in an authorized test environment.