aws-doc/课程/第一阶段-云计算基础/第04天-AWS全球基础设施.md
2026-05-08 10:24:39 +08:00

185 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第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**缓存网站的静态内容图片视频CSSJS让全球用户就近获取
- **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 小时
受影响的知名服务包括SlackTrelloQuora甚至 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 的大门我会一步步带你操作确保你不会踩坑尤其是不会被意外扣费)。