20年AWS服务进化史
AWS服务在20年间发生的重大变化,文章详细阐述了Amazon Elastic Compute Cloud (EC2)、Amazon S3、网络、Lambda、EFS、EBS、DynamoDB、成本节约、身份验证以及其他杂项服务的演进。它强调了性能、可靠性和安全性方面的改进,例如EC2实例的更高稳定性、S3的读写一致性以及Lambda功能的扩展。此外,文章还指出了定价模型(如从Reserved Instances转向Savings Plans)和账户管理实践的调整,旨在为用户提供最新的操作指导。
本文是此的学习笔记。
详细时间线
2005年:
- AWS 平台开始出现,至今已有近二十年历史(截至2025年)。
早期(具体年份不详,但早于2023年和2025年):
- Glacier 曾是一个独立的 AWS 服务,与 S3 无关。
- Glacier 曾有非常高且难以预测的恢复费用,后来得到修复。
- Glacier 恢复速度非常慢,后来得到改善。
- EC2-classic 已经退役。
- VPC peering 曾使用起来很麻烦。
- CloudFront 更新曾需要约45分钟。
- ELB Classic 曾对跨可用区数据传输额外收费。
- 网络负载均衡器(Network Load Balancers)最初不支持安全组。
- 可用区(Availability Zones)在不同账户之间是随机映射的(例如,一个账户的 us-east-1a 可能是另一个账户的 us-east-1c)。
- Lambda 最初有5分钟的超时限制,不支持容器镜像。
- Lambda 在 VPC 中调用速度很慢。
- Lambda 冷启动问题比现在严重。
- EFS 曾经需要通过添加无用数据来提高 IO 分配。
- DynamoDB 不支持空字段(“Last Week in AWS”的通讯发布系统仍然使用“empty”作为字段指示符,因为它早于此项更改)。
- DynamoDB 性能可靠性不如现在,需要支持工具才能发现热键问题。
- Reserved Instances 是 EC2 的主要成本节省方式。
- EC2 按小时收费。
- us-east-1 区域曾被视为“悲伤和遗憾的燃烧垃圾堆”,普遍存在可靠性问题。
- CloudWatch 的最后一个数据点曾因数据不一致而显示异常低的值。
- 关闭组织中的 AWS 账户需要登录每个成员账户的根用户。
2015年:
- HIPAA BAA 不再需要专用实例(距今近十年)。
2023年:
- 对于90天内未拥有公共 AMI 的账户,AMI Block Public Access 功能已默认开启。
2025年(或“现在”, 约2025年8月):
EC2:可以在不关闭实例的情况下更改安全组和 IAM 角色。
- 可以在不关闭实例的情况下调整、附加或分离 EBS 卷。
- 可以强制停止或终止 EC2 实例,无需等待干净关机或超时。
- 支持实例到其他物理主机的实时迁移,实例降级通知变得非常罕见。
- 实例可靠性显著提高,意外消失几乎闻所未闻。
- Spot 实例的价格波动更加平缓,不再像竞价战。
- AMI Block Public Access 默认对新账户启用。
S3:实现读写一致性,不再是最终一致性。
- 不再需要随机化对象键的前缀以避免热点。
- ACL 已弃用,并在新存储桶中默认关闭。
- Block Public Access 默认对新存储桶启用。
- 新存储桶默认启用透明静态加密。
- Glacier 已被 S3 团队吸收为一系列存储类。
- Glacier 恢复费用不再昂贵或难以预测。
- Glacier 恢复速度不再缓慢。
网络:公共 IPv4 地址不再免费,费用与弹性 IP 地址相同。
- VPC peering 有了更好的替代方案,如 Transit Gateway、账户间 VPC 共享、资源共享和 Cloud WAN。
- VPC Lattice 和 Tailscale 提供服务间通信的简化方式,避开 AWS 网络复杂性。
- CloudFront 更新时间缩短至约5分钟。
- 带有自动区域负载均衡的 ALB 不再对跨可用区流量收取额外数据传输费用。
- 经典负载均衡器(Classic Load Balancers)同样不再收取跨可用区费用。
- 网络负载均衡器(Network Load Balancers)现在支持安全组,但仍收取跨可用区费用。
- 可以使用 Resource Access Manager 获取区域 ID,确保账户间可用区对齐。
Lambda:运行时长可达15分钟。
- 支持 Docker 容器镜像。
- 支持 EFS 共享存储。
- 内存可达10GB(CPU 随之隐式扩展)。
- /tmp 存储空间可达10GB。
- 在 VPC 中调用不再慢。
- 冷启动问题显著缓解。
EFS:IO 分配可以独立于容量进行调整。
EBS:新创建的空 EBS 卷可获得完整性能。
- 从快照创建的 EBS 卷需要预读整个磁盘才能获得完整性能,否则首次读取会很慢。
- EBS 卷可以同时附加到多个 EC2 实例(仅限 io1 类型),但通常不推荐。
DynamoDB:允许空字段。
- 性能更加可靠,不再需要支持工具来发现热键问题。
- On Demand 定价模式在大多数情况下更具优势。
成本节省:Reserved Instances 正在逐步淘汰,Savings Plans 是未来方向。
- Savings Plans 的折扣率不如以前的 Reserved Instances,但提供了更高的灵活性。
- EC2 按秒计费。
- Cost Anomaly Detector 在标记支出模式突然变化方面表现出色,且免费。
- Compute Optimizer 现在支持 EBS 卷等,其推荐值得信赖。
- Trusted Advisor 的部分成本检查可以通过 Compute Optimizer 进行。
- Trusted Advisor 的建议总体上仍然不可靠且自相矛盾。
认证:IAM 角色应是权限的归宿。
- IAM 用户仅用于旧版应用程序,不用于人类。
- IAM Identity Center 是人类与 AWS 账户交互的替代方案,取代了 AWS SSO。
- 根账户可以配置多个 MFA 设备。
- 组织成员账户不再需要配置根凭证。
杂项:us-east-1 及其他区域的稳定性显著提升,停机事件变得值得关注而非常态。
- 服务弃用正在增加,对于小众或不常见服务应考虑退出计划。
- CloudWatch 的最后一个数据点不再因数据不一致而异常低,如果显示为零则表示应用程序崩溃。
- 可以从根账户关闭组织中的 AWS 账户。