View a markdown version of this page

查看 EC2 实例建议 - AWS Compute Optimizer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看 EC2 实例建议

AWS Compute Optimizer 为亚马逊弹性计算云 (亚马逊 EC2) 实例生成实例类型建议。Amazon EC2 实例建议显示在 Compute Optimizer 控制台的以下页面上:

  • EC2 实例建议页面列出了您当前的每个实例、其发现分类查找原因平台差异、当前实例类型以及所选购买选项的当前小时价格。Compute Optimizer 的首要建议列在每个实例旁边。此建议包括建议的实例类型、所选购买选项的小时价格以及当前实例之间的价格差异。使用建议页面可将当前实例与其首要建议进行比较。这样做可以帮助您决定是要扩大还是缩小实例。

  • EC2 实例详细信息页面列出了针对特定实例的最多三项优化建议。可以从“EC2 实例建议页面”访问此页面。此页面特别列出了每项建议的规格、其性能风险以及所选购买选项的小时价格。详细信息页面还显示当前实例的利用率指标图表,这些图表与建议选项的预计利用率指标叠加。

建议每天刷新。这些建议是通过分析过去 14 天内当前实例的规格和利用率指标生成的。或者,如果您激活了增强型基础设施指标付费功能,则将分析更长时间段来生成建议。有关更多信息,请参阅 指标分析者 AWS Compute Optimizer

请记住,Compute Optimizer 为满足一组特定要求的 EC2 实例生成建议。建议可能需要长达 24 小时才能生成。此外,为了生成建议,必须积累足够的指标数据。有关更多信息,请参阅 资源要求

结果分类

EC2 实例建议页面上的结果列汇总了每个实例在分析期间的性能。

以下结果分类适用于 EC2 实例。

分类 说明

Under-provisioned

当您的实例的至少一个规格(例如 CPU、内存或网络)不符合工作负载的性能要求时,EC2 实例被视为配置不足。 Under-provisioned EC2 实例可能会导致应用程序性能不佳。

Over-provisioned

当实例的至少一个规格(如 CPU、内存或网络)可缩小,同时仍能满足工作负载的性能要求,并且没有任何规格处于预调配不足状态时,EC2 实例将被视为过度预调配。 Over-provisioned EC2 实例可能会导致不必要的基础设施成本。

已优化

当实例的所有规格(如 CPU、内存和网络)满足工作负载的性能要求且实例未处于过度预调配状态时,EC2 实例将被视为已优化。对于已优化的实例,Compute Optimizer 有时可能会建议新一代实例类型。

结果原因

EC2 实例建议EC2 实例详细信息页面上的结果原因列显示哪个实例规格预调配不足或过度预调配。

以下结果原因适用于实例:

结果原因 说明

CPU 过度预调配

实例的 CPU 配置可以缩小,并且仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 CPUUtilization 指标来确定的。

CPU 预调配不足

实例的 CPU 配置不能满足工作负载的性能要求,还有一种替代实例类型可以提供更好的 CPU 性能。这是通过分析回顾期间当前实例的 CPUUtilization 指标来确定的。

内存过度预调配

实例的内存配置可以缩小,同时仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的内存利用率指标来确定的。

注意

仅分析安装了统一 CloudWatch 代理的资源的内存利用率。有关更多信息,请参阅使用 Amazon CloudWatch 代理启用内存利用率

内存预调配不足

实例的内存配置不能满足工作负载的性能要求,还有一种替代实例类型可以提供更好的内存性能。这是通过分析回顾期间当前实例的内存利用率指标来确定的。

CPU 过度预调配

实例的 GPU 配置和 GPU 内存配置可以缩小,同时仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 GPUUtilizationGPUMemoryUtilization 指标来确定的。

注意

仅针对安装了统一 CloudWatch 代理的资源分析 GPU 利用率和 GPU 内存利用率指标。有关更多信息,请参阅 使用 CloudWatch 代理启用 NVIDIA GPU 使用率

GPU 预调配不足

实例的 GPU 配置和 GPU 内存配置不能满足工作负载的性能要求,还有一种替代实例类型可以提供更好的内存性能。这是通过分析回顾期间当前实例的 GPUUtilizationGPUMemoryUtilization 指标来确定的。

EBS 吞吐量过度预调配

实例的 EBS 吞吐量配置可以缩小,并且仍满足工作负载的性能要求。这是通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadBytesVolumeWriteBytes 指标来确定的。

EBS 吞吐量预调配不足

实例的 EBS 吞吐量配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的 EBS 吞吐量性能。这是通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadBytesVolumeWriteBytes 指标来确定的。

EBS IOPS 过度预调配

实例的 EBS IOPS 配置可以缩小,并且仍满足工作负载的性能要求。这是通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadOpsVolumeWriteOps 指标来确定的。

EBS IOPS 预调配不足

实例的 EBS IOPS 配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的 EBS IOPS 性能。这是通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadOpsVolumeWriteOps 指标来确定的。

网络带宽过度预调配

实例的网络带宽配置可以缩小,同时仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 NetworkInNetworkOut 指标来确定的。

网络带宽预调配不足

实例的网络带宽配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的网络带宽性能。这是通过分析回顾期间当前实例的 NetworkInNetworkOut 指标来确定的。当实例的 NetworkInNetworkOut 性能受到影响时,就会出现这种结果。

网络 PPS 过度预调配

实例的网络 PPS(每秒数据包数)配置可以缩小,并且仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 NetworkPacketsInNetworkPacketsOut 指标来确定的。

网络 PPS 预调配不足

实例的网络 PPS(每秒数据包数)配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的网络 PPS 性能。这是通过分析回顾期间当前实例的 NetworkPacketsInNetworkPacketsOut 指标来确定的。

磁盘 IOPS 过度预调配

实例的磁盘 IOPS 配置可以缩小,并且仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 DiskReadOpsDiskWriteOps 指标来确定的。

磁盘 IOPS 预调配不足

实例的磁盘 IOPS 配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的磁盘 IOPS 性能。这是通过分析回顾期间当前实例的 DiskReadOpsDiskWriteOps 指标来确定的。

磁盘吞吐量过度预调配

实例的磁盘吞吐量配置可以缩小,同时仍满足工作负载的性能要求。这是通过分析回顾期间当前实例的 DiskReadBytesDiskWriteBytes 指标来确定的。

磁盘吞吐量预调配不足

实例的磁盘吞吐量配置不能满足工作负载的性能要求。还有一种替代实例类型可以提供更好的 EBS 吞吐量性能。这是通过分析回顾期间当前实例的 DiskReadBytesDiskWriteBytes 指标来确定的。

注意

有关实例指标的更多信息,请参阅 Amazon Elastic Compute Cloud 用户指南列出您的实例的可用 CloudWatch指标。有关 EBS 容量指标的更多信息,请参阅亚马逊弹性计算云用户指南中的亚马逊 EBS CloudWatch 指标。

可以通过更改实例类型来更改实例的 CPU、本地磁盘、内存或网络规格。例如,可以将实例类型从 C5 更改为 C5n,以帮助提高网络性能。有关更多信息,请参阅《EC2 用户指南》中的 Linux 版更改实例类型指南 Windows 版更改实例类型指南

可以使用 Amazon EBS 弹性卷更改 EBS 卷的 IOPS 或吞吐量规格。有关更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的 Amazon EBS 弹性卷

AWS Graviton-based 实例推荐

查看 Amazon EC2 实例建议时,您可以查看在实例上 AWS Graviton-based 运行工作负载对价格和性能的影响。为此,请在 CPU 架构首选项下拉列表中选择 Graviton (aws-arm64)。否则,选择当前以查看基于与当前实例相同的 CPU 供应商和架构的建议。

基于 Graviton 的实例建议
注意

当前价格建议价格价格差异价格差异(%)预计每月节省额列已更新,提供当前实例类型与所选 CPU 架构首选项的实例类型之间的价格比较。例如,如果您选择 Graviton (aws-arm64),则会比较当前实例类型和推荐实例类型之间的价格。 Graviton-based

推断的工作负载类型

EC2 实例建议页面上的推断的工作负载类型列上,列出了 Compute Optimizer 推断出的可能在实例上运行的应用程序。此列通过分析实例的属性来进行推断。这些属性包括实例名称、标签和配置。Compute Optimizer 当前可以推断您的实例是否在运行 Amazon EMR、Apache Cassandra、Apache Hadoop、Memcached、NGINX、PostgreSQL、Redis、Kafka 或 SQLServer。通过推断在您的实例上运行的应用程序,Compute Optimizer 可以确定将工作负载从基于 x86 的实例类型迁移到基于实例类型的工作量。Arm AWS Graviton有关更多信息,请参阅本指南下一部分中的迁移工作

注意

中东(巴林)、非洲(开普敦)、亚太地区(香港)、欧洲地区(米兰)和亚太地区(雅加达)区域无法推断 SQLServer 应用程序。

迁移工作

EC2 Auto Scaling 组建议 EC2 Auto Scaling 组详细信息页面上的迁移工作量列出了从当前实例类型迁移到推荐实例类型可能需要的工作量。下文显示了不同级别的迁移工作示例。

  • 非常低 — 推荐的实例类型具有与当前实例类型相同的 CPU 架构。

  • — Amazon EMR 是推断的工作负载类型,建议使用 AWS Graviton 实例类型

  • 中等 — 无法推断出工作负载类型,但建议使用 AWS Graviton 实例类型。

  • — 推荐的实例类型的 CPU 架构与当前实例类型不同,并且工作负载在推荐的 CPU 架构上没有已知的兼容版本。

有关从基于 x86 的实例类型迁移到 Graviton 实例类型的更多信息,请参阅《 Arm-based AWS Graviton 入门》中将工作负载过渡到基于 AWS Graviton2 的 Amazon EC2 实例时的注意事项。 AWS GitHub

平台差异

EC2 实例详细信息页面上的平台差异列描述了当前实例和建议实例类型之间的区别。在将工作负载从当前实例迁移到建议实例类型之前,请考虑配置差异。

以下平台差异适用于 EC2 实例:

平台差异 说明

架构

建议实例类型的 CPU 架构与当前实例类型的 CPU 架构不同。例如,建议实例类型可能使用 Arm CPU 架构,而当前实例类型可能使用不同的架构,例如 x86。在迁移之前,请考虑为新架构重新编译实例上的软件。也可以切换到支持新架构的 Amazon 机器映像 (AMI)。有关每个实例类型的 CPU 架构的更多信息,请参阅 Amazon EC2 实例类型

虚拟机监控器

建议实例类型的虚拟机监控器与当前实例类型的虚拟机监控器不同。例如,建议实例类型可能使用 Nitro 虚拟机监控器,而当前实例可能使用 Xen 虚拟机监控器。要了解可以考虑的这些虚拟机监控器之间的区别,请参阅 Amazon EC2 常见问题解答中的 Nitro 虚拟机监控器部分。有关更多信息,请参阅《Linux 版 Amazon EC2 用户指南》中的在 Nitro 系统上构建的实例,或参阅《Windows 版 Amazon EC2 用户指南》中的基于 Nitro 系统构建的实例

实例存储可用性

建议实例类型不支持实例存储卷,但当前实例支持。在迁移之前,如果要保留实例存储卷,您可能需要备份实例存储卷上的数据。有关更多信息,请参阅 AWS Premium Support 知识库中的如何将 Amazon EC2 实例上的实例存储卷备份到 Amazon EBS?。有关更多信息,请参阅《Linux 版 Amazon EC2 用户指南》中的网络和存储功能Amazon EC2 实例存储,或参阅《Windows 版 Amazon EC2 用户指南》中的网络和存储功能Amazon EC2 实例存储

网络接口

建议实例类型的网络接口与当前实例类型的网络接口不同。例如,建议实例类型可能使用增强网络,而当前实例可能不使用增强网络。要为建议实例类型启用增强联网,请安装弹性网络适配器 (ENA) 驱动程序或 Intel 82599 虚拟功能驱动程序。有关更多信息,请参阅《Linux 版 Amazon EC2 用户指南》中的网络和存储功能Linux 上的增强网络,或参阅《Windows 版 Amazon EC2 用户指南》中的网络和存储功能 Windows 上的增强网络

存储接口

建议实例类型的存储接口与当前实例类型的存储接口不同。例如,建议实例类型使用 NVMe 存储接口,而当前实例不使用此接口。要访问建议实例类型的 NVMe 卷,请安装或升级 NVMe 驱动程序。有关更多信息,请参阅《Linux 版 Amazon EC2 用户指南》中的网络和存储功能Linux 实例上的 Amazon EBS 和 NVMe,或参阅《Windows 版 Amazon EC2 用户指南》中的网络和存储功能Windows 实例上的 Amazon EBS 和 NVMe

虚拟化类型

建议实例类型使用硬件虚拟机 (HVM) 虚拟化类型,当前实例使用半虚拟化 (PV) 虚拟化类型。有关这些虚拟化类型之间差异的更多信息,请参阅《Linux 版 Amazon EC2 用户指南》中的 Linux AMI 虚拟化类型,或参阅《Windows 版 Amazon EC2 用户指南》中的 Windows AMI 虚拟化类型

预计每月节省额和节省机会

预计月度节省(折扣后)

此列列出了在节省计划和预留实例定价模式下将工作负载从当前实例类型迁移到建议实例类型后,您每月大约可以节省的成本。要接收包含节省计划和预留实例折扣的建议,需要激活节省估算模式首选项。有关更多信息,请参阅节省估算模式

注意

如果您未激活储蓄估算模式首选项,则此列将显示默认 On-Demand 定价折扣信息。

预计每月可节省的费用 (On-Demand)

本列列出了在 On-Demand 定价模型下将工作负载从当前实例类型迁移到推荐的实例类型后,您每月可以节省的大致成本。

节省机会(%)

此列列出了当前实例的价格与建议实例类型的价格之间的百分比差异。如果激活了节省估算模式,Compute Optimizer 将分析节省计划和预留实例定价折扣,以生成节省机会百分比。如果未激活节省估算模式,则计算优化器仅使用 On-Demand 定价信息。有关更多信息,请参阅节省估算模式

重要

如果您在中启用成本优化中心 AWS Cost Explorer,Compute Optimizer 将使用成本优化中心数据(包括您的特定定价折扣)来生成建议。如果未启用成本优化中心,Compute Optimizer 会使用成本管理器数据和 On-Demand 定价信息来生成您的建议。有关更多信息,请参阅《AWS Cost Management 用户指南》中的启用 Cost Explorer成本优化中心

预计每月节省额计算

对于每项建议,都会计算使用建议实例类型运营新实例的成本。预计每月节省额是根据当前实例的运行时数以及当前实例类型与建议实例类型之间的费率差异计算得出的。Compute Optimizer 控制面板上显示的实例的预计每月节省额是账户中所有过度预调配的实例的预计每月节省额总和。

绩效风险

EC2 实例详细信息页面和 EC2 实例建议页面上的性能风险列定义了当前和推荐的实例类型不满足您的工作负载要求的可能性。Compute Optimizer 为当前和推荐实例的每种规格计算个人性能风险分数。这包括 CPU、内存、EBS 吞吐量、EBS IOPS、磁盘吞吐量、磁盘 IOPS、网络吞吐量和网络 PPS 等规格。当前和推荐实例的性能风险是根据所分析资源规格的最大性能风险分数计算得出的。

这些值包括“极低”、“低”、“中”、“高”和“极高”。极低的性能风险意味着预计该实例类型将始终提供足够的容量。性能风险越高意味着您应该在迁移资源之前验证实例类型是否满足工作负载的性能要求。决定是否要进行优化以便提高性能和/或节省资金。有关更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的更改实例类型

注意

在计算优化器 API、 AWS Command Line Interface (AWS CLI) 和 AWS SDK 中,性能风险以0(非常低)到4(非常高)的等级来衡量。

利用率图表

EC2 实例详细信息页面显示当前实例的利用率指标图表。这些图表显示了分析期的数据。Compute Optimizer 使用每 5 分钟时间间隔内的最大利用率点来生成 EC2 实例建议。

可以更改图表以显示过去 24 小时、3 天、1 周或 2 周的数据。如果激活增强型基础设施指标付费功能,则可以查看 3 个月的数据。也可以在平均值和最大值之间更改图表的统计数据。

注意

对于您的实例处于停止状态的时段,利用率图表显示的值为 0。

详细信息页面上显示以下利用率图表:

图表名称 说明

CPU 利用率(百分比)

实例使用的已分配 EC2 计算单位的百分比。

CPU 利用率图表包括当前实例类型与所选建议实例类型的 CPU 利用率数据比较。比较结果表明了如果您在分析期间使用所选建议实例类型,CPU 利用率会是多少。该比较可帮助您确定建议实例类型是否在工作负载的性能阈值之内。

注意

突发基线仅显示为。 T-instances您可以使用此基准性能来了解您的CPU利用率与特定设备的基准利用率有何关系 T-instance。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的可突增性能实例的关键概念和定义

内存利用率(百分比)

应用程序和操作系统分配的已用内存百分比。

内存利用率图表包括当前实例类型与所选建议实例类型的内存利用率数据比较。比较结果表明了如果您在分析期间使用所选建议实例类型,内存利用率会是多少。该比较可帮助您确定建议实例类型是否在工作负载的性能阈值之内。

注意

仅为安装了统一 CloudWatch 代理的实例填充内存利用率图。有关更多信息,请参阅《亚马逊 CloudWatch用户指南》中的使用 CloudWatch 代理从 Amazon EC2 实例和 On-Premises 服务器收集指标和日志

网络输入 (MiB/second)

实例在所有网络接口上接收的每秒兆字节数 (MiB)。

网络输出 (MiB/second)

实例在所有网络接口上发送的每秒兆字节数 (MiB)。

网络数据包输入(每秒)

实例在所有网络接口上收到的数据包数。

网络数据包输出(每秒)

实例在所有网络接口上发送的数据包数。

磁盘读取操作数(每秒)

从实例的实例存储卷完成的每秒读取操作数。

磁盘写入操作数(每秒)

从实例的实例存储卷完成的每秒写入操作数。

磁盘读取带宽 (MiB/second)

从实例的实例存储卷读取的每秒兆字节数 (MiB)。

磁盘写入带宽 (MiB/second)

向实例的实例存储卷写入的每秒兆字节数 (MiB)。

EBS 读取操作数(每秒)

从附加到实例的所有 EBS 卷完成的每秒读取操作数。

对于 Xen 实例,只有在卷上有读取活动时才报告数据。

EBS 写入操作数(每秒)

向附加到实例的所有 EBS 卷完成的每秒写入操作数。

对于 Xen 实例,只有在卷上有写入活动时才报告数据。

EBS 读取带宽 () MiB/second

从附加到实例的所有 EBS 卷读取的每秒兆字节数 (MiB)。

EBS 写入带宽 () MiB/second

向附加到实例的所有 EBS 卷写入的每秒兆字节数 (MiB)。