本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Windows 工作负载选择合适的实例类型
概述
云环境中运行的工作负载与本地环境中的工作负载之间的一个重要区别在于过度预调配的做法。在购置用于本地的物理硬件时,您会进行一笔资本支出,这笔支出预计将持续一定期限,通常为 3 至 5 年。为了适应硬件在其使用寿命期间的预期增长需求,所购置的硬件所配备的资源比当前的工作负载所需资源要多。因此,物理硬件的配置往往会超出实际工作负载的需求,存在过度预调配的情况。
虚拟机(VM)技术已成为有效利用过剩硬件资源的一种手段。管理员过度配置了 VMs v CPUs 和 RAM,这使虚拟机管理程序能够通过向每台虚拟机分配未使用的资源来管理繁忙和空闲服务器之间的物理资源使用情况。在管理时 VMs,分配给每个虚拟机的 vCPU 和 RAM 资源更多地起到资源调控器的作用,而不是实际使用情况的指标。VM 资源过度分配可能会轻易超出可用计算资源的三倍之多。
Amazon Elastic Compute Cloud (Amazon EC2)
有数百种选项可供选择正确的 Amazon EC2 实例类型
如果您已经有工作负载在 Amazon 上运行, EC2 并且正在寻求成本优化策略,那么本指南的这一部分可帮助您确定 Amazon EC2 实例之间的差异及其对典型 Windows 工作负载的适用性。
成本优化建议
要优化您的 EC2 实例类型的成本,我们建议您执行以下操作:
-
为工作负载选择合适的实例系列
-
了解处理器架构之间的价格差异
-
了解各 EC2 代人之间的性价比差异
-
迁移到较新的实例
-
使用可爆发实例
为工作负载选择合适的实例系列
为工作负载选择适合的实例系列很重要。
Amazon EC2 实例分为以下几组:
-
通用型
-
计算优化型
-
内存优化型
-
加速计算型
-
存储优化
-
HPC 优化型
大多数 Windows 工作负载属于以下类别:
-
通用型
-
计算优化型
-
内存优化型
为了进一步简化这一点,请考虑每个类别中的一个基准 EC2 实例:
-
计算优化型:C6i
-
通用型:M6i
-
内存优化型:R6i
上一代 EC2 实例在处理器类型上表现出微小的差异。例如,C5 计算优化型实例的处理器比 M5 通用实例或 R5 内存优化型实例更快。最新一代的 EC2 实例(C6i、m6i、R6i、C6a、m6a 和 R6a)在不同的实例系列中都使用相同的处理器。由于在最新一代实例中均使用一致的处理器,因此实例系列之间的价格差异现在更多地取决于 RAM 的量。实例拥有的 RAM 越多,其成本就越高。
以下示例说明了在 us-east-1 区域运行的基于 Intel 的 4 vCPU 实例的每小时定价。
| 实例 | v CPUs | RAM | 每小时价格 |
|---|---|---|---|
| c6i.xlarge | 4 | 8 | 0.17 美元 |
| m6i.xlarge | 4 | 16 | 0.19 美元 |
| r6i.xlarge | 4 | 32 | 0.25 美元 |
注意
定价基于 us-east-1 区域的每小时按需定价。
可爆发实例
在云计算中,通常会将未使用的计算资源关闭以避免产生费用,但并非所有工作负载都能在每次需要时随时开启或关闭。有些工作负载会长时间处于闲置状态,但必须能够全天 24 小时随时访问。
可爆发实例(T3)提供了一种解决方案,可使具有波动性或低利用率的工作负载全天保持在线运行,同时还能将计算成本控制在较低水平。突发性能 EC2 实例具有该实例在短时间内可以使用的最大 vCPU 资源量。这些实例使用基于可爆发 CPU 服务抵扣金的系统。这些服务抵扣金是在一天中的闲置时间段内逐步累积起来的。Burstable 实例提供不同的 vCPU-to-RAM比率,这使得它们在某些情况下是计算优化型实例的替代方案,而在另一些情况下则是其他通用实例的替代方案。
以下示例说明了在 us-east-1 区域运行的 T3 实例(即可爆发实例)的每小时定价。
| 实例 | v CPUs | RAM(GB) | 每小时价格 |
|---|---|---|---|
| t3.nano | 2 | 0.5 | 0.0052 |
| t3.micro | 2 | 1 | 0.0104 |
| t3.small | 2 | 2 | 0.0208 |
| t3.medium | 2 | 4 | 0.0416 |
| t3.large | 2 | 8 | 0.0832 |
| t3.xlarge | 4 | 16 | 0.1664 美元 |
| t3.2xlarge | 8 | 32 | 0.3328 美元 |
注意
定价基于 us-east-1 区域的每小时按需定价。
了解处理器架构之间的价格差异
英特尔
处理器架构注释的变化是由于引入了其他处理器选项。与 Intel 最具可比性的处理器是 AMD
| Intel 实例 | 每小时价格 | AMD 实例 | Price | 差异 % |
|---|---|---|---|---|
| c6i.xlarge | 0.17 美元 | c6a.xlarge | 0.153 美元 | 10% |
| m6i.xlarge | 0.192 | m6a.xlarge | 0.1728 美元 | 10% |
| r6i.xlarge | 0.252 美元 | r6a.xlarge | 0.2268 美元 | 10% |
注意
定价基于 us-east-1 区域的每小时按需定价。
第三个主要的处理器架构选项是实例AWS 上的 Graviton 处理器
Windows Server 无法在基于 ARM 架构的 Graviton 处理器上运行。实际上,Windows Server 只能在 x86 处理器上运行。虽然使用基于 Graviton 架构的 Windows Server 实例无法实现 40% 的性价比提升,但您仍可以将 Graviton 处理器用于特定的 Microsoft 工作负载。例如,较新版本的 .NET 可以在 Linux 上运行。这意味着这些工作负载可以使用 ARM 处理器,并受益于更快、更实惠的 Graviton EC2 实例。
以下示例说明了在 us-east-1 区域运行的 Graviton 实例的每小时定价。
| Intel 实例 | 每小时价格 | Graviton 实例 | 每小时价格 | 差异 % |
|---|---|---|---|---|
| c6i.xlarge | 0.17 美元 | c6g.xlarge | 0.136 美元 | 20% |
| m6i.xlarge | 0.192 | m6g.xlarge | 0.154 | 20% |
| r6i.xlarge | 0.252 美元 | r6g.xlarge | 0.2016 | 20% |
注意
定价基于 us-east-1 区域的每小时按需定价。
下图比较了 M 系列实例的价格。
了解各 EC2 代人之间的性价比差异
Amazon最稳定的特征之一 EC2 是,每款新一代产品都比其前代产品具有更好的性价比。如下表所示,新一代 EC2 实例的价格会随着后续版本的增加而降低。
| 计算优化型实例 | 每小时价格 | 通用实例 | 每小时价格 | 内存优化型实例 | 每小时价格 |
|---|---|---|---|---|---|
| C1.xlarge | 0.52 美元 | M1.xlarge | 0.35 美元 | r1.xlarge | 不适用 |
| C3.xlarge | 0.21 美元 | M3.xlarge | 0.266 美元 | r3.xlarge | 0.333 美元 |
| C5.xlarge | 0.17 美元 | M5.xlarge | 0.192 | r5.xlarge | 0.252 美元 |
注意
定价基于 us-east-1 区域的每小时按需定价。
下图比较了不同代 C 系列实例的成本情况。
但是,第 6 代实例的价格与第 5 代实例的价格相同,如下表所示。
| 计算优化型实例 | 每小时价格 | 通用实例 | 每小时价格 | 内存优化型实例 | 每小时价格 |
|---|---|---|---|---|---|
| C5.xlarge | 0.17 美元 | M5.xlarge | 0.192 | r5.xlarge | 0.252 美元 |
| C6i.xlarge | 0.17 美元 | M6i.xlarge | 0.192 | r6i.xlarge | 0.252 美元 |
注意
定价基于 us-east-1 区域的每小时按需定价。
尽管成本相同,但新一代产品凭借更快的处理器、更高的网络吞吐量以及更大的 Amazon Elastic Block Store(Amazon EBS)吞吐量和 IOPS,提供更出色的性价比。
最显著的性价比改进之一是 X2i 实例
| 实例 | 每小时价格 | v CPUs | RAM | 处理器速度 | 实例存储 | Networking | Amazon EBS 吞吐量 | EBS IOPS |
|---|---|---|---|---|---|---|---|---|
| x1e.2xlarge | 1.66 美元 | 8 | 244 | 2.3 GHz | 237GB SSD | 10 Gbps | 125 MB/s | 7400 |
| x1iedn.2xlarge | 1.66 美元 | 8 | 256 | 3.5 GHz | 240GB 固态硬盘 NVMe | 25 Gbps | 2500 MB/s | 65000 |
注意
定价基于 us-east-1 区域的每小时按需定价。
应用场景示例
以一家负责追踪运输车辆并希望提升其 SQL Server 性能的分析公司为例。在 MACO SME 审查了该公司的性能瓶颈后,该公司从 x1e.2xlarge 实例转换到 x2iedn.xlarge 实例。新实例大小较小,但对 x2 实例所做的改进通过使用缓冲池扩展,提高了 SQL Server 的性能和优化效果。这使该公司能够从 SQL Server 企业版降级到 SQL Server 标准版。它还使该公司能够将其 SQL Server 许可从 8 v 减少CPUs 到 4 v CPUs。
优化前:
| 服务器 | EC2 实例 | SQL Server 版本 | 月度成本 |
|---|---|---|---|
| Prod DB1 | x1e.2xlarge | Enterprise | 3,918.64 美元 |
| Prod DB2 | x1e.2xlarge | Enterprise | 3,918.64 美元 |
| 总计 | 7,837.28 美元 |
优化后:
| 服务器 | EC2 实例 | SQL Server 版本 | 月度成本 |
|---|---|---|---|
| Prod DB1 | x2iedn.xlarge | 标准 | 1,215.00 美元 |
| Prod DB2 | x2iedn.xlarge | 标准 | 1,215.00 美元 |
| 总计 | 2,430.00 美元 |
总而言之,从 x1e.2xlarge 实例到 x2iedn.xlarge 实例的这一更改使示例场景中的公司每月在其生产数据库服务器上节省了 5407 美元的费用。这使工作负载的总成本降低了 69%。
注意
定价基于 us-east-1 区域的每小时按需定价。
迁移到较新的实例
较老一代的Amazon在Xen虚拟机管理程序上 EC2 运行,而新一代的Amazon在Nitro系统上AWS 运行。
如果您要从自定义 Windows AMIs 或亚马逊 AMIs提供的 Windows 启动在 2018 年 8 月之前创建的实例,我们建议您完成亚马逊 EC2 文档中从迁移到最新一代实例类型的步骤。
使用可爆发实例
虽然可爆发实例是节省计算成本的好方法,但我们建议您在以下情况下避免使用这些实例:
-
具有桌面体验的 Windows Server 的最低规格
要求有 2GB 的 RAM。避免将 t3.micro 或 t3.nano 实例与 Windows Server 结合使用,因为它们缺少最低的 RAM 量。 -
如果您的工作负载很大,但闲置时间不足以积累突发积分,则使用普通 EC2 实例比使用可突发实例更有效。我们建议监控您的 CPU 积分以验证这一点。
-
在大多数情况下,我们建议您避免在 SQL Server 中使用可爆发实例。SQL Server 的许可基于CPUs 分配给实例的 v 数。如果 SQL Server 一天中大部分时间处于闲置状态,则您需要为未充分利用的 SQL 许可证支付费用。在这些情况下,我们建议您将多个 SQL Server 实例整合到一个更大的服务器上。
后续步骤
我们建议您采取以下后续步骤来优化亚马逊 EC2 Windows 实例的成本:
-
使用最新一代的 EC2 实例以获得最佳性价比。
-
使用配 EC2 备 AMD 处理器的实例可将计算成本降低百分之十。
-
选择与您的工作负载相匹配的 EC2 实例类型,从而最大限度地提高资源利用率。
下表列出了适用于 Windows 工作负载的典型起始点示例。还有其他选项可供选择,例如用于增强 SQL Server 工作负载的 EC2 实例存储卷或具有更大 vCPU-to-RAM比率的实例。我们建议您对工作负载进行全面测试,并使用 AWS Compute Optimizer 之类的监控工具来帮助进行必要的调整。
| 工作负载 | 典型 | 可选 |
|---|---|---|
| Active Directory | T3、M6i | R6i |
| 文件服务器 | T3、M6i | C6i |
| Web 服务器 | T3、C6i | M6i、R6i |
| SQL Server | R6i | x2iedn、X2iezn |
如果您必须更改 EC2 实例类型,则该过程通常只需要简单的服务器重启即可。有关更多信息,请参阅 Amazon EC2 文档中的更改实例类型。
在更改您的实例类型之前,我们建议您考虑以下内容:
-
您必须先停止由 Amazon EBS 支持的实例,然后才能更改其实例类型。当实例停止时,请务必计划停机时间。停止实例并更改其实例类型可能需要几分钟时间,重新启动实例所用的时间则由应用程序的启动脚本决定。有关更多信息,请参阅 Amazon EC2 文档中的停止和启动您的实例。
-
当您停止并启动实例时, AWS 会将该实例移至新硬件。如果您的实例有公有 IPv4 地址,则 AWS 释放该地址并为您的实例提供新的公有 IPv4 地址。如果您需要一个不变的公共 IPv4 地址,请使用弹性 IP 地址。
-
您不能更改已启用了休眠的实例的实例类型。
-
您无法更改竞价型实例的实例类型。
-
如果您的实例位于 Auto Scaling 组中,Amazon A EC2 uto Scaling 会将已停止的实例标记为运行状况不佳,并且可能会将其终止并启动替代实例。为防止出现此情况,您可以在更改实例类型时,为组暂停扩展流程。有关更多信息,请参阅 Amazon Auto Scaling 文档中的暂停和恢复 Aut EC2 o Scaling 组的流程。
-
当您更改带有 NVMe 实例存储卷的实例的实例类型时,更新的实例可能会有额外的实例存储卷,因为即使未在 Amazon 系统映像 (AMI) 或 NVMe 实例块储存设备映射中指定,所有实例存储卷都可用。否则,已更新的实例通常具有您在启动原始实例时指定的相同实例存储卷数。
其他资源
-
Amazon EC2 实例类型
(AWS 文档) -
AWS 优化与许可评测
(AWS 文档)