AWS EC2 实例类型:在 AWS 中托管应用程序的挑战和最佳实践

规划新战略的业务合作伙伴

在 Amazon Web Services (AWS) 上托管应用程序时,需做出的最关键决策之一就是选择何种 Amazon Elastic Compute Cloud (EC2) 实例类型。EC2 实例是允许您在 AWS 上运行应用程序的虚拟机。它们提供多种规格与配置(称为实例系列),每种都专为特定用途设计。为应用程序选择恰当的实例类型与实例规格对优化性能和降低成本至关重要。然而,由于每个应用程序的需求特征各不相同且会随时间变化,这项任务可谓知易行难。特定系列的 2xlarge 实例可能并非必要,但当应用程序团队要求云运维保障运行时间时,更大规格、更高成本的实例就显得更具吸引力——直至云账单急剧膨胀。

本篇博文中,我们将探讨为应用程序选择最佳 Amazon EC2 实例类型时面临的挑战,并提供相关最佳实践以助您做出正确决策。此外,我们将说明 IBM Turbonomic 等解决方案如何通过机器学习、自动扩展与自动化功能,助您为 AWS 云应用程序实现资源规格的优化。若您已熟悉 Turbonomic 并希望立即开始优化 AWS 环境,敬请即刻开启 30 天免费试用

了解 Amazon EC2 实例类型

EC2 实例根据其 CPU、内存、存储及网络容量等特性进行分类。每种实例类型专为优化特定工作负载而设计,例如通用计算、内存密集型应用程序或计算密集型任务。以下是部分 EC2 实例类型及其主要用例:

  • 通用型实例(A、T、M 及 C 系列):通用型实例专为多种工作负载设计,包括 Web 服务器、小型数据库及开发测试环境。此类包含 m5 实例——这是采用英特尔至强铂金 8175M 或 8259CL 处理器的最新一代通用型实例。这些实例实现了计算、内存与网络资源的平衡,是众多应用程序的理想选择。
  • 计算优化型实例(C 与 R 系列):这类实例针对计算密集型工作负载进行优化,例如高性能计算、批量处理及科学建模。这些实例通过使用 GPU 和高核数 CPU,最大限度地提升了计算能力。
  • 内存优化型实例(X、Z 及 R 系列):这些高内存实例专为内存密集型工作负载优化,例如高性能数据库、分布式内存缓存及实时数据处理/大数据分析。
  • 存储优化型实例(I、D 及 H 系列):这类实例针对存储密集型工作负载优化,例如大数据、数据仓库及日志处理。利用大容量缓存和固态硬盘 (SSD) 来支持工作负载的高强度读写活动。

选择合适 EC2 实例类型面临的挑战

为应用程序选择合适的 EC2 实例类型可能是一项艰巨任务。以下是您可能面临的部分挑战:

  • 复杂性:面对众多可选的实例类型,往往难以确定最适合您应用程序的型号。此外,Amazon 持续向其服务目录推出新型实例,这意味着当前最适合您应用程序的实例未必在数月后仍是最优选择。
    • Turbonomic 的解决方案:Turbonomic 持续摄取整个 AWS 服务目录的规格参数,并将工作负载的资源消耗模式(包括其基线值及基于百分位数的峰值)映射到最适宜的实例类型。
  • 工作负载类型:您的应用程序将运行何种工作负载?属于计算密集型工作负载,还是需要大量内存或存储容量?明确工作负载特性后,您可将选择范围缩小至针对该工作负载优化的实例类型。
  • 性能要求:您需要处理大型工作负载的高性能实例类型,还是处理轻量工作负载的小型实例?该工作负载用于支撑面向客户的低延迟应用程序,还是内部管理应用程序?需要遵循哪些数据本地性要求?请注意:实例类型的性能会因区域和应用程序使用模式的不同而产生差异。
    • Turbonomic 的解决方案:确定整个托管环境中的工作负载类型是一项重要任务,但借助云成本优化软件可轻松实现。Turbonomic 自动检测您工作负载当前及历史的 vCPU、内存、存储访问 (IOPS)、网络吞吐量、I/O 吞吐量、存储容量、预留实例覆盖率、数据库 vMemory、数据库 vCPU、数据库存储容量、数据库 I/O 吞吐量、RI 库存及 RI 覆盖率的实际使用情况——进而确定最适合支撑该工作负载的实例系列与实例类型。
  • 可扩展性:需确保所选实例类型能按需扩展或收缩,以应对流量与工作负载的变化。此外,还需了解每个 EC2 实例所承载应用程序的扩展设计机制。若应用程序采用微服务架构,则必须统筹考虑可扩展性与性能要求。
    • Turbonomic 的解决方案:根据各应用程序的扩展设计机制,Turbonomic 能执行最具经济性的纵向扩展/收缩操作,并确保横向扩展/收缩操作以最具成本效益的方式执行。
  • 成本:成本是选择 EC2 实例类型时最重要的考量因素和挑战之一。需综合考虑实例类型的每小时成本,以及数据传输、存储和其他 AWS 服务的附加费用。此外,包含预留实例与节省计划在内的多样化定价模式进一步增加了成本计算的复杂性。
    • Turbonomic 的解决方案:Turbonomic 专用于在保证应用性能的前提下实现最低运营成本。您可立即开启 30 天免费试用,最快 30 分钟即可见证成效!

选择最佳 EC2 实例类型的最佳实践

既然您已了解选择 EC2 实例时最常见的挑战,以下是我们推荐客户与合作伙伴遵循的最佳实践。

1. 了解工作负载特性

选择合适 EC2 实例类型的首要关键步骤是了解工作负载特性。每个应用程序对 CPU、内存、网络和存储的需求各不相同,必须明确了解应用程序稳定运行所需资源。

例如:运行数据库应用程序时,可能需要大容量内存以确保查询效率。而运行计算密集型应用程序时,则需高性能 CPU 支撑。

为了更好地了解工作负载特性,建议使用 AWS CloudWatch 或第三方监控工具收集资源利用率数据。这些数据随后可以用来确定最适合应用程序的实例类型

2. 考量 CPU 配置

CPU 作为 EC2 实例的核心组件,直接决定实例处理能力。若应用程序需要高强度 CPU 性能,应选择核心数更多、时钟频率更高的实例类型。

AWS 提供多种 CPU 优化型实例类型 (链接位于 ibm.com 外部),例如 C5、M5 和 R5 系列,专为高性能计算工作负载设计。这些实例采用新一代定制化 AWS Graviton3  处理器(链接位于 ibm.com 外部)(较 Graviton2 实现显著升级),并为高 CPU 使用率场景进行优化。若应用程序无需高强度 CPU 性能,则可选择无 GPU 且核心数较少的经济型实例,例如 T3 系列。

3. 考量内存配置

内存是 EC2 实例的另一关键要素,它决定实例能同时处理的数据量。若应用程序需要大容量内存,应选择内存配置更大的实例类型。

反之,若应用程序无需过高内存需求,则可选择内存配置较小的经济型实例,例如 T3 系列。

AWS 提供多种内存优化型实例类型 (链接位于 ibm.com 外部),例如 X1、R4 和 z1d 系列,专为内存密集型工作负载设计。这些实例配备大容量内存,并为高内存使用率应用程序(如内存数据库)进行优化。

反之,若应用程序无需过高内存需求,则可选择内存配置较小的经济型实例,例如 T3 系列。

4. 考量网络性能

网络是 EC2 实例的又一关键要素,它决定实例数据传输的速度。若应用程序需要高性能网络,应选择具备更高网络带宽的实例类型。

AWS 提供多种网络优化型实例类型,例如 C5n 及高性能计算 HPC 系列,专为网络密集型工作负载设计。这些实例配备高速网络接口,并为高网络使用率场景进行优化。

反之,若应用程序无需高性能网络,则可选择网络带宽较低的经济型实例,例如 T3 系列。

5. 考量存储配置

存储是 EC2 实例的最后关键要素,它决定实例能存储的数据量。若应用程序需要大容量存储,应选择具备更大存储容量(弹性块存储 EBS)的实例类型。但需谨慎——存储也是最昂贵的云资源之一,闲置及未挂载的 EBS 卷极易产生不必要支出。

AWS 提供多种存储优化型实例类型,例如 I3 和 D2 系列,专为存储密集型工作负载设计。这些实例配备大容量 SSD 存储与本地存储,并为高 IOPS 吞吐量需求的应用程序进行优化。

反之,若应用程序无需大容量存储,则可选择基于 HDD 的小容量存储经济型实例,例如 T3 系列。

6. 考量定价模式

AWS 为 EC2 实例提供多种定价模式,包括按需实例、预留实例和竞价实例。每种模式各有优劣,选择最符合工作负载与预算的方案至关重要。

按需实例按小时计费,无需预付费承诺。最适合需求波动或短期项目的工作负载。

预留实例通过一次性预付款大幅降低小时费率。最适合用量可预测且需长期稳定的工作负载。

竞价实例允许对闲置 EC2 容量进行竞价,可实现显著成本节约。但仅适用于能容忍中断且起止时间灵活的工作负载。

7. 测试与优化

选定 EC2 实例类型后,必须对应用程序进行测试与优化,确保其高效运行。可使用 AWS CloudWatch 或 IBM Instana 等工具监控应用性能,识别瓶颈与改进空间。

总结

选择正确的 EC2 实例类型对 AWS 基础设施的性能与成本效益至关重要。通过了解工作负载特性,综合考量 CPU、内存、网络及存储需求,选择合适的定价模式,并进行测试优化,可确保 EC2 实例发挥最大价值。 

需注意选择最佳实例类型非一劳永逸,工作负载与基础设施需求会随时间变化。持续评估与优化 EC2 实例类型,有助实现 AWS 基础设施的最佳性能与成本效益。

IBM Turbonomic 可通过持续评估 AWS 应用程序资源需求,自动生成节约成本并保持 EC2 实例规模优化的具体措施,帮助您自动化管理此过程。Turbonomic 运用机器学习与自动化技术,可轻松集成 AWSAWS 计费账户,并在 30 分钟内生成优化方案。

作者

Christopher Graham

WW Demand Strategy Manager

Turbonomic PLG