aws-doc/课程/第五阶段-监控与运维/第34天-成本管理.md

216 lines
6.5 KiB
Markdown
Raw Permalink Normal View History

2026-05-08 10:24:39 +08:00
# 第34天成本管理——控制你的 AWS 账单
## 今天你将学到什么
今天学习如何管理和优化 AWS 成本。AWS 按使用量付费,用得好省钱,用不好可能收到天价账单。掌握成本管理是每个 AWS 用户的必修课。
---
## AWS 定价的基本原则
### 三大定价原则
1. **按使用量付费**:用多少付多少,不用不花钱
2. **用得越多越便宜**:很多服务有阶梯定价
3. **预付费更便宜**:承诺长期使用可以获得折扣
### 什么东西要花钱
| 类别 | 计费方式 | 举例 |
|------|----------|------|
| 计算 | 按运行时间 | EC2 每小时 $0.05 |
| 存储 | 按存储量 | S3 每 GB 每月 $0.023 |
| 网络 | 按传输量 | 数据传出每 GB $0.09 |
| 请求 | 按请求次数 | API Gateway 每百万次 $3.50 |
| 数据库 | 按实例时间 + 存储 | RDS 每小时 $0.10 + 存储费 |
### 什么东西免费
- 数据传入 AWS免费上传不花钱
- 同一可用区内的数据传输:免费
- 很多服务的 Free Tier12 个月免费额度)
---
## 常见的"账单惊吓"
### 惊吓一:忘记关 EC2
你创建了一台 EC2 做实验,用完忘记关了。一个月后发现账单多了 $50。
**预防**:设置 Billing Alarm超过预算立刻通知。
### 惊吓二NAT Gateway 流量费
NAT Gateway 按流量收费($0.045/GB。如果你的应用通过 NAT Gateway 下载大量数据,费用会很高。
**预防**:使用 VPC Endpoint 访问 S3/DynamoDB免费减少通过 NAT 的流量。
### 惊吓三EBS 快照堆积
每次创建 EBS 快照都会占用存储空间。如果不清理旧快照,费用会持续增长。
**预防**:设置快照生命周期策略,自动删除过期快照。
### 惊吓四:闲置的 Elastic IP
Elastic IP 绑定到运行中的 EC2 是免费的。但如果 EC2 停止了或 IP 没有绑定,每小时收 $0.005。
**预防**:不用的 Elastic IP 及时释放。
---
## AWS 省钱策略
### 策略一:选择合适的实例类型
不要盲目选大实例。先用小实例,监控资源使用率,再决定是否升级。
| 场景 | 推荐 | 原因 |
|------|------|------|
| 开发测试 | t3.micro / t3.small | 便宜,突发性能够用 |
| 稳定负载 | m6i / c6i | 性价比高 |
| 内存密集 | r6i | 内存大 |
| 计算密集 | c6i | CPU 强 |
### 策略二:使用预留实例 / Savings Plans
如果你确定要长期使用某些资源,预付费可以省很多钱。
| 方式 | 折扣 | 灵活性 | 适合 |
|------|------|--------|------|
| 按需On-Demand | 无折扣 | 最灵活 | 短期、不确定的负载 |
| Savings Plans | 最多 72% | 中等 | 确定要用 1-3 年 |
| 预留实例 | 最多 75% | 最低 | 确定实例类型和区域 |
| Spot 实例 | 最多 90% | 可能被中断 | 可中断的任务 |
### 策略三:使用 Spot 实例
Spot 实例是 AWS 闲置的计算资源,价格只有按需的 10-30%。但 AWS 可能随时收回。
**适合**
- 批处理任务(数据分析、视频转码)
- CI/CD 构建
- 测试环境
- 可以容忍中断的工作负载
**不适合**
- 生产环境的核心服务
- 数据库
- 不能中断的任务
### 策略四:合理使用存储层级
| S3 存储类 | 价格 | 适合 |
|-----------|------|------|
| Standard | $0.023/GB | 频繁访问的数据 |
| Infrequent Access | $0.0125/GB | 偶尔访问(每月一次) |
| Glacier | $0.004/GB | 归档(几个月访问一次) |
| Glacier Deep Archive | $0.00099/GB | 长期归档(几年访问一次) |
设置生命周期策略自动转移:
```
0-30 天Standard
30-90 天Infrequent Access
90 天以上Glacier
```
### 策略五:关闭不用的资源
听起来简单,但很多公司每月浪费 20-30% 的云费用在闲置资源上。
**常见浪费**
- 开发环境晚上和周末不关
- 测试完的资源忘记删除
- 没有流量的负载均衡器
- 没有挂载的 EBS 卷
---
## AWS 成本管理工具
### Cost Explorer——费用分析
可视化你的 AWS 花费:
- 按服务查看:哪个服务花钱最多
- 按时间查看:费用趋势是上升还是下降
- 按标签查看:哪个项目/团队花钱最多
- 预测未来费用
### Budgets——预算告警
设置预算上限,超过时自动通知:
```
月度预算:$100
告警阈值:
- 达到 50%$50→ 发邮件提醒
- 达到 80%$80→ 发邮件 + 短信
- 达到 100%$100→ 紧急通知 + 可选自动操作
```
**强烈建议**:学习阶段一定要设置 Budget设置 $10 或 $20 的月度预算,避免意外花费。
### Trusted Advisor——优化建议
AWS 的"理财顾问",自动检查你的账户并给出建议:
| 检查类别 | 举例 |
|----------|------|
| 成本优化 | "你有 3 台 EC2 CPU 使用率低于 10%,建议缩小实例" |
| 性能 | "你的 EBS 卷 IOPS 经常达到上限,建议升级" |
| 安全 | "你的 S3 桶是公开的,建议限制访问" |
| 容错 | "你的 RDS 没有开启 Multi-AZ建议开启" |
### 资源标签Tags——费用归属
给每个资源打标签,方便追踪费用归属:
```
标签示例:
Environment: production / staging / development
Team: backend / frontend / data
Project: order-system / user-portal
```
然后在 Cost Explorer 中按标签筛选,就能知道每个团队、每个项目花了多少钱。
---
## 成本优化清单
| 优先级 | 措施 | 预期节省 |
|--------|------|----------|
| 高 | 关闭闲置资源 | 10-30% |
| 高 | 合适的实例大小 | 10-20% |
| 高 | Savings Plans / 预留实例 | 30-72% |
| 中 | 使用 Spot 实例 | 60-90%(适用部分) |
| 中 | S3 生命周期策略 | 存储费 50-90% |
| 中 | VPC Endpoint 替代 NAT | 网络费 50%+ |
| 低 | 选择合适的区域 | 5-15% |
| 低 | 数据传输优化 | 视情况 |
---
## 今天的小测验
1. AWS 的三大定价原则是什么?
2. Spot 实例为什么这么便宜?什么场景适合用?
3. 为什么学习阶段一定要设置 Budget
4. 列举三种常见的 AWS 费用浪费场景。
---
## 延伸阅读
- [AWS 定价页面](https://aws.amazon.com/pricing/)
- [AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)
- [AWS Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/)
- [AWS 成本优化白皮书](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-laying-the-foundation/cost-optimization-laying-the-foundation.html)
---
## 明天预告
明天学习 Well-Architected Framework——AWS 的架构设计最佳实践框架。了解如何从五个维度评估和改进你的架构。