aws-doc/课程/第一阶段-云计算基础/第04天-AWS全球基础设施.md

185 lines
7.0 KiB
Markdown
Raw Normal View History

2026-05-08 10:24:39 +08:00
# 第4天AWS 全球基础设施——你的数据存在哪里
## 今天你将学到什么
今天我们来看 AWS 在全球的"地盘"是怎么布局的。这不是纯理论——它直接决定了:
- 你的用户访问速度快不快
- 你的系统能不能扛住灾难
- 你的数据是否满足法律要求
学完今天,你会明白 Region、可用区、边缘节点这三个概念以及怎么选择它们。
---
## 先想一个问题
假设你在北京开了一家网店,服务器放在北京。那么:
- 北京的用户访问你的网站:很快(几十毫秒)
- 上海的用户访问:还行(稍微慢一点)
- 美国的用户访问:很慢(数据要跨越太平洋,几百毫秒)
如果你想让全球用户都快,怎么办?**在全球多个地方都放服务器。**
这就是 AWS 全球基础设施要解决的问题。
---
## 三层结构Region → 可用区 → 边缘节点
想象一个连锁酒店品牌:
- **Region区域** = 酒店在不同城市的分店(北京店、上海店、东京店)
- **可用区AZ** = 同一城市内的多个酒店大楼(北京朝阳店、北京海淀店)
- **边缘节点Edge Location** = 散布在各处的快递柜(方便就近取件)
---
## Region区域
Region 是 AWS 在全球某个地理位置的一组数据中心集群。
截至 2024 年AWS 在全球有 **33 个 Region**,分布在美洲、欧洲、亚太、中东、非洲。
**Region 的命名规则**`地区-方位-编号`
举几个例子:
| 代号 | 位置 | 常用场景 |
|------|------|----------|
| us-east-1 | 美国东部(弗吉尼亚) | AWS 最老最全的区域,新服务最先上线 |
| ap-northeast-1 | 亚太(东京) | 服务日本和东亚用户 |
| ap-southeast-1 | 亚太(新加坡) | 服务东南亚用户 |
| eu-west-1 | 欧洲(爱尔兰) | 服务欧洲用户 |
| cn-north-1 | 中国(北京) | 中国大陆用户(独立运营) |
**每个 Region 是完全独立的**
- 数据不会自动从一个 Region 跑到另一个 Region
- 你在东京创建的服务器,在弗吉尼亚是看不到的
- 这是为了数据主权——你的数据留在你选择的地方
### 选 Region 要考虑什么?
**举个例子**:你要做一个面向中国用户的电商网站。
| 考虑因素 | 分析 | 结论 |
|----------|------|------|
| 用户在哪 | 用户在中国 | 选中国区域或离中国近的(东京、新加坡) |
| 法律要求 | 中国法律要求某些数据存储在境内 | 必须选 cn-north-1 或 cn-northwest-1 |
| 服务可用性 | 某些新服务可能还没在中国区上线 | 需要确认你要用的服务是否可用 |
| 价格 | 不同 Region 价格不同 | 弗吉尼亚最便宜,亚太和南美较贵 |
**小贴士**:如果没有特殊要求,学习阶段建议用 `us-east-1`(弗吉尼亚),因为它服务最全、价格最低、教程最多。
---
## 可用区Availability Zone简称 AZ
每个 Region 里面有 **3 个或更多可用区**。每个可用区是一个或多个独立的数据中心。
**为什么一个 Region 要有多个可用区?**
用一个故事来解释:
假设你开了一家面包店,所有的烤箱都在同一栋楼里。如果这栋楼停电了、着火了、或者被水淹了,你的整个生意就停了。
但如果你在同一个城市的不同地方开了 3 家分店,每家都能独立运营。即使一家店出了问题,另外两家还能继续卖面包。
**可用区就是这个道理**
- 每个 AZ 有独立的电力供应(不同的变电站)
- 每个 AZ 有独立的网络连接
- 每个 AZ 有独立的制冷系统
- AZ 之间物理距离足够远(通常几十公里),避免同一场自然灾害同时影响多个 AZ
- 但 AZ 之间通过高速专用光纤连接,延迟极低(< 2 毫秒
**这意味着什么?**
如果你把应用部署在同一个 Region 的 2-3 个 AZ 中,即使一个数据中心完全瘫痪(火灾、地震、断电),你的服务依然正常运行。用户甚至感觉不到。
**这就是 AWS 高可用架构的基石。**
---
## 边缘节点Edge Location
AWS 在全球有 **600 多个边缘节点**,分布在各大城市。
**边缘节点是干什么的?**
还是用例子说明:
你在东京有一台服务器,上面放着你网站的图片和视频。一个巴西的用户要看你的网站,数据要从东京传到巴西,跨越半个地球,需要 200-300 毫秒。
但如果你把这些图片和视频提前"复制"一份到巴西的边缘节点,巴西用户直接从本地的边缘节点获取,只需要 10-20 毫秒。
**边缘节点主要服务于**
- **CloudFrontCDN**缓存网站的静态内容图片、视频、CSS、JS让全球用户就近获取
- **Route 53DNS**:就近解析域名,加快网站打开速度
- **AWS WAF**:在边缘拦截恶意攻击,坏流量根本到不了你的服务器
---
## 三者的关系总结
```
全球
├── Region: 美国东部 (us-east-1)
│ ├── 可用区 A (us-east-1a) — 数据中心群 1
│ ├── 可用区 B (us-east-1b) — 数据中心群 2
│ ├── 可用区 C (us-east-1c) — 数据中心群 3
│ └── ...更多 AZ
├── Region: 亚太东京 (ap-northeast-1)
│ ├── 可用区 A
│ ├── 可用区 B
│ └── 可用区 C
├── ...更多 Region
└── 边缘节点600+,遍布全球各大城市)
├── 北京
├── 上海
├── 东京
├── 纽约
├── 伦敦
└── ...
```
**记住一个口诀**
- **用 AZ 实现高可用**(一个机房挂了,另一个顶上)
- **用 Region 实现灾难恢复**(一个地区出大问题,切换到另一个地区)
- **用边缘节点实现低延迟**(内容推到用户身边)
---
## 一个真实的故障案例
2017 年 2 月 28 日AWS 美国东部us-east-1的 S3 存储服务发生了大规模故障,持续约 4 小时。
受影响的知名服务包括Slack、Trello、Quora甚至 AWS 自己的状态页面都挂了(因为状态页面也托管在 S3 上)。
**教训**
- 即使是 AWS 自己的服务也会出故障
- 不要把所有东西都放在一个 Region
- 关键业务要考虑多 Region 部署
- 你的架构要能容忍底层服务的故障
---
## 今天的小测验
1. 如果你的用户主要在日本,应该选哪个 Region
2. 为什么一个 Region 要有多个可用区?用你自己的话解释。
3. 边缘节点和 Region 有什么区别?它们各自解决什么问题?
4. 如果你只把应用部署在一个可用区,会有什么风险?
---
## 延伸阅读
- [AWS 全球基础设施地图(可交互)](https://aws.amazon.com/about-aws/global-infrastructure/)
- [AWS 2017 年 S3 故障复盘报告](https://aws.amazon.com/message/41926/)
---
## 明天预告
明天我们动手了!注册 AWS 账户、设置安全保护、配置账单告警。正式踏入 AWS 的大门。我会一步步带你操作,确保你不会踩坑(尤其是不会被意外扣费)。