aws-doc/课程/第二阶段-核心服务/第17天-Route53与CloudFront.md

148 lines
4.8 KiB
Markdown
Raw Normal View History

2026-05-08 10:24:39 +08:00
# 第17天Route 53 与 CloudFront——DNS 和全球加速
## 今天你将学到什么
今天学两个让你的网站"又快又稳"的服务Route 53DNS负责把域名翻译成 IP 地址CloudFrontCDN负责把内容推到全球用户身边。
---
## Route 53互联网的"电话簿"
### DNS 是什么
当你在浏览器输入 `www.taobao.com` 时,电脑其实不认识这个名字。它需要先查"电话簿"DNS找到这个名字对应的 IP 地址(比如 140.205.220.96),然后才能连接到服务器。
**Route 53 就是 AWS 提供的 DNS 服务**——帮你管理域名和 IP 地址的对应关系。
名字来源DNS 使用的网络端口号是 53。
### Route 53 能做什么
**基本功能**:域名解析
- `www.example.com``54.23.100.50`(你的服务器 IP
**高级功能**:智能路由(这才是 Route 53 的真正价值)
### 路由策略——把用户导向最合适的服务器
**简单路由**:一个域名对应一个 IP。最基本的用法。
**加权路由**:按比例分配流量。
-90% 的流量到旧版本10% 到新版本(用于灰度发布)
**延迟路由**:把用户导向延迟最低的服务器。
- 例:日本用户自动访问东京的服务器,美国用户自动访问弗吉尼亚的服务器
**故障转移路由**:主站挂了自动切到备用站。
- 例:主服务器在东京,如果东京挂了,自动切换到新加坡的备用服务器
**地理位置路由**:根据用户所在国家/地区路由。
- 例:中国用户访问中文站点,美国用户访问英文站点
### 健康检查
Route 53 会定期检查你的服务器是否正常:
- 每 30 秒发一个请求到你的服务器
- 如果连续几次没响应,标记为"不健康"
- 自动把流量切到健康的服务器
---
## CloudFront把内容推到用户身边
### CDN 是什么
CDNContent Delivery Network内容分发网络的原理很简单
**没有 CDN**
- 你的服务器在东京
- 巴西用户访问你的网站
- 数据从东京传到巴西,跨越半个地球,需要 300 毫秒
**有 CDN**
- 你的内容被"复制"到全球各地的节点
- 巴西用户访问时,从巴西本地的节点获取
- 只需要 20 毫秒
**生活类比**
- 没有 CDN = 所有人都要去总部取货(远的人等很久)
- 有 CDN = 在各个城市设了分仓,就近取货(大家都快)
### CloudFront 的工作流程
```
用户(巴西)发起请求
请求到达最近的边缘节点(圣保罗)
边缘节点有缓存?
├── 有 → 直接返回超快10-20ms
└── 没有 → 去源站(东京)取 → 缓存一份 → 返回给用户
下次其他巴西用户请求同样内容时,直接从缓存返回
```
### CloudFront 能加速什么
| 内容类型 | 例子 | 缓存效果 |
|----------|------|----------|
| 静态文件 | 图片、CSS、JS、字体 | 非常好(内容不变,缓存命中率高) |
| 视频 | 课程视频、直播回放 | 很好 |
| API 响应 | 不经常变化的数据 | 一般(需要设置合理的缓存时间) |
| 动态内容 | 用户个人数据 | 不缓存(每次都回源) |
### CloudFront + S3最经典的组合
这是部署静态网站最便宜、最快的方案:
1. 把网站文件HTML/CSS/JS/图片)放在 S3 桶里
2. 创建 CloudFront 分发,源设置为 S3 桶
3. 用 Route 53 把域名指向 CloudFront
4. 用 ACMAWS Certificate Manager申请免费的 HTTPS 证书
**结果**
- 全球访问速度极快600+ 个边缘节点)
- 成本极低S3 存储 + CloudFront 流量,每月可能只要几美元)
- 自动 HTTPS
- 能扛住巨大流量CDN 天然就是分布式的)
适合个人博客、公司官网、单页应用React/Vue、文档站点
---
## Route 53 + CloudFront 配合使用
一个全球化网站的典型架构:
```
用户输入 www.example.com
Route 53 解析域名 → 返回 CloudFront 的地址
用户请求到达最近的 CloudFront 边缘节点
├── 静态内容(图片/JS/CSS→ 边缘节点直接返回(缓存)
└── 动态内容API 请求)→ 转发到源站ALB/EC2
```
---
## 今天的小测验
1. DNS 的作用是什么?用你自己的话解释。
2. Route 53 的"延迟路由"是什么意思?举一个使用场景。
3. CDN 为什么能让网站变快?它的核心原理是什么?
4. CloudFront + S3 的组合适合什么类型的网站?
---
## 延伸阅读
- [Route 53 开发者指南](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/)
- [CloudFront 开发者指南](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/)
---
## 明天预告
明天学习 SQS 和 SNS——消息队列和通知服务。它们让系统的各个部分"松耦合"通信,是构建可靠分布式系统的基石。