Amazon EC2 实例选型指南 - 实例系列与购买选项优化

整理实例系列特点和 Graviton 处理器的性能优势,介绍按需、预留和 Spot 购买选项的使用指南。

EC2 概述

EC2 是在云上提供虚拟服务器的计算服务。可从超过 1,000 种实例类型 (截至 2026 年 10 月) 中根据用途选择,数分钟内即可启动服务器。与 Lambda 的事件驱动无服务器计算不同,EC2 适用于需要 OS 级控制的工作负载。搭载 AWS 自研的 Arm 架构 CPU,即 Graviton 处理器的实例,也可以在同一个 EC2 中根据用途选用。

实例系列与购买选项

M 系列(通用)适合 Web 服务器和应用服务器,C 系列(计算优化)适合批处理和科学计算,R 系列(内存优化)适合内存缓存和数据库。Graviton 处理器是 AWS 自研的 Arm 架构 CPU。截至 2026 年 8 月,官方说明中表述为与同等的基于 x86 的 EC2 实例相比,成本最多降低 20%,能耗最多减少 60%。Spot 实例以最高 90% 的折扣使用 EC2 剩余容量,借助提前 2 分钟的中断通知,可以安全地执行终止处理。

Graviton 实例与世代的选择

AWS Graviton 处理器的世代不断更新,搭载该处理器的实例也随之增加。Graviton2 于 2019 年 12 月随 M6g、C6g、R6g 登场,Graviton3 于 2021 年 11 月从 C7g 开始提供,Graviton4 则搭载于 R8g、M8g 等第 8 代实例。截至 2026 年 8 月,官方说明中表述为搭载 Graviton 的实例与同等的基于 x86 的 EC2 实例相比,成本最多降低 20%,能耗最多减少 60%。常被引用的「最高 40%」这一数字是在 Graviton2 世代发布时提出的,并不是直接适用于之后各世代的数值。新世代的实例类型会逐步扩大到更多区域,因此要在 EC2 控制台或官方的实例类型列表中确认在要使用的区域和规格下是否实际可选。Java、Python、Node.js 等主要运行时已支持 Arm64,大多数工作负载都可以迁移。容器工作负载通过构建多架构镜像,可以同时在 x86 和 Graviton 上运行。新世代的实例相比前代提升了网络带宽和 EBS 吞吐量,某些情况下可以用更小的实例规格满足相同的性能需求。根据工作负载的特性,从计算优化(C 系列)、内存优化(R 系列)和通用(M 系列)中进行选择。

购买选项与成本优化

EC2 的主要购买选项有按需实例(On-Demand)、预留实例(Reserved Instances,RI)、Savings Plans 和 Spot 实例(Spot Instances)。此外,还提供独占物理服务器的 Dedicated Hosts,以及仅在需要的期间预留容量的 On-Demand Capacity Reservations。Savings Plans 有 Compute Savings Plans 和 EC2 Instance Savings Plans 这 2 种。Compute Savings Plans 可跨 EC2、Fargate、Lambda 应用,灵活应对实例系列或区域的变更。1 年或 3 年的承诺可获得最高 66% 的折扣。EC2 Instance Savings Plans 将使用范围限定为特定区域的特定实例系列,相应地适用更高的折扣率。Spot 实例最高可享 90% 的折扣,但需要能够应对提前 2 分钟中断通知的设计。RI 有 Standard 和 Convertible 这 2 种提供类别,固定的范围各不相同。Standard RI 在购买时固定实例系列和区域,但可以在同一系列内变更规格。Convertible RI 的区域是固定的,但允许变更为包括实例系列、OS 和租赁方式在内的其他配置。由于 Standard 的折扣率更高,Standard 适合配置长期不变的工作负载,Convertible 则适合想为将来的变更留有余地的情况。通过 Cost Explorer 的建议,可以确认基于当前使用模式的最优购买选项组合。

按工作负载选择

EC2 的实例系列在各自擅长的处理类型上有所不同。其中有适合 Web 服务器和应用程序等注重 CPU 与内存平衡场景的通用型,以及适合大量计算处理的 CPU 侧重型。还有面向将大量数据载入内存的数据库和缓存的内存侧重型,以及用于机器学习和图形处理的加速计算型。出发点是判断自身的工作负载最需要哪种资源,并选择与之匹配的系列。选择在成为瓶颈的资源上配置充足的实例,就能不浪费地获得所需的性能。

合理规格与扩缩

如果担心性能不足而选择过大的实例,就会造成成本浪费。反之,如果实例过小,处理就会出现停滞。重要的是合理规格调整,即测量实际的使用情况,并根据 CPU 和内存的使用率调整规格。利用分析使用情况并给出调整建议的工具,就更容易发现资源的过剩或不足。对于负载波动较大的工作负载,要结合根据需求自动增减实例数量的扩缩,以实例的数量来应对。在很多情况下,与把实例做大相比,将负载分散到多台实例上在可用性和成本效率两方面都更有利。

存储与网络的选择

实例的性能不仅取决于 CPU 和内存,还取决于存储和网络。持久性磁盘有按用途划分的类型,要在所需性能(吞吐量和 IOPS)与成本之间权衡后选择。也有一些处理适合使用临时性的高速本地存储。对于大量使用网络的工作负载,支持高速通信的实例以及考虑低延迟通信的部署方式很有效。要获得预期的性能,关键在于不只关注计算资源,而是把数据的输入输出路径也纳入考虑来设计配置。

运维与迁移的最佳实践

要高效地运维 EC2,配置的可重现性很重要。如果准备好预先配置好的镜像和启动模板,就能迅速启动相同配置的实例,扩缩和故障恢复也会更容易。OS 和软件的更新要借助管理工具有计划地应用。从降低成本的角度来看,迁移到新世代的实例或搭载高能效处理器的实例很有效。在很多情况下,可以用更低的成本获得同等或更高的性能。在确认兼容性后有计划地迁移到更高效的实例,有助于长期的优化。

总结

EC2 通过实例系列、规格和购买选项的组合,为工作负载构建最优计算环境。利用 Graviton 实例提升性价比,结合 Savings Plans 和 Spot 实例,在满足性能需求的同时优化成本。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享