优化 Amazon EC2 上的 Windows 的支出 - AWS 规范指引

优化 Amazon EC2 上的 Windows 的支出

概览

将服务器迁移到 AWS 的首要问题之一是基础设施成本。诚然,云技术的一个优点在于按需付费使用资源,但有些生产工作负载则需要全年无休地持续运行。节省计划旨在为您在 EC2 实例、AWS Lambda 和 AWS Fargate 中的稳态 AWS 使用节省费用。

节省计划提供灵活的定价模式,可以帮助您降低 Amazon EC2、Fargate、Lambda 和 Amazon SageMaker AI 的使用定价,但需您承诺保持稳定的使用量(例如,10 美元/小时)。您需承诺在一年或三年内保持固定的每小时计算费用水平,作为交换,您将获得相应的使用折扣。

节省计划有三种不同的付款方式可供选择:

  • 无费用预付选项不需要任何预付款,并且您的承诺费用完全按月收取。

  • 预付部分费用选项为节省计划提供更低的价格。您需要先支付至少一半的费用,其余部分则按月支付。

  • 预付全部费用选项提供最低的价格,您的全部承诺费用均通过一次付款收取。

您可以在 AWS Cost Explorer 中跟踪节省计划的到期日期,以及即将购买的已加入队列的节省计划。您可以使用节省计划提醒在计划到期日前 1、7、30 或 60 天或在将承诺加入队列等候购买时收到电子邮件提醒。这些通知还会在到期日期向您发出提醒。您最多可以向 10 个电子邮件收件人发送通知。

了解节省计划

每种计算使用类型都有一个按需计费费率和一个节省计划费率。如果您承诺每小时使用计算资源 10 美元,那么您在所有不超过 10 美元的使用量上都将按照节省计划费率享受节省计划的价格优惠。超出计算支出承诺范围的任何使用均根据固定的按需费率收费。您可以通过在 AWS 管理控制台 中使用 Cost Explorer 成本管理服务开始使用节省计划。

通过使用 Cost Explorer 成本管理服务中提供的建议,您可以轻松做出节省计划承诺,从而实现最大的节省。建议的每小时承诺使用量取决于您的历史按需使用量以及您选择的计划类型、期限和付款选项。节省计划首先应用于购买该计划的账户,然后与整合账单系列中的其他账户共享。

注意

AWS Organizations 中的节省计划共享选项默认处于启用状态。您可以在付款人账户的 AWS Billing 控制台中拒绝此选项。您可以访问建议页面,查看 AWS 建议的节省计划,以帮助您在符合资格的使用量上实现节省。这些建议可随时更新,以便您能更便捷地选择最佳节省计划。

计算类节省计划

计算类节省计划提供最大的灵活性,有助于您降低成本。这些计划可自动应用于 EC2 实例的用量,无论实例系列、大小、可用区、区域、操作系统或租期如何。它们也适用于您的 Fargate 和 Lambda 用量。例如,借助计算类节省计划,您可以随时从 C4 更改为 M5 实例,将工作负载从欧洲(爱尔兰)转移到欧洲(伦敦),或者随时将工作负载从 EC2 迁移到 Fargate 或 Lambda。您将自动继续按照节省计划价格付款。

EC2 实例节省计划

EC2 实例节省计划提供最优惠的折扣,但需要您承诺在某一区域使用特定的实例系列(例如,承诺在弗吉尼亚州北部区域持续保持 M5 用量)。这会自动为您在该区域选定的实例系列提供按需价格折扣,无论其可用区、大小、操作系统还是租赁模式如何。EC2 实例节省计划使您可以灵活地更改该区域某个系列中的实例之间的用量。例如,您可以从运行 Windows 的 c5.xlarge 实例迁移到运行 Linux 的 c5.2xlarge 实例,然后自动从节省计划的价格中获益。

计算类和 EC2 实例节省计划都适用于属于 Amazon EMR、Amazon Elastic Kubernetes Service(Amazon EKS)和 Amazon Elastic Container Service(Amazon ECS)集群一部分的 EC2 实例。节省计划不涵盖 Amazon EMR、Amazon EKS 和 Amazon ECS 费用,但底层 EC2 实例包括在内。EC2 实例节省计划在计算类节省计划之前应用,因为计算类节省计划适用范围更广。

注意

一旦做出承诺后,您将无法轻易更改节省计划。我们建议您在承诺使用任一节省计划选项之前仔细规划。节省计划的价格低于按需定价,但需要您做出一定的承诺,并且在合约期间内不可取消。

每小时承诺示例

如果您购买了节省计划,则需要在计划期限内按小时支付相应的费用。如果您承诺每小时使用计算资源 10 美元,则节省计划的定价将自动适用于每小时最高 10 美元的所有用量。超出承诺范围的任何用量均根据固定按需费率收费。您可以使用 Cost Explorer 成本管理服务中的节省计划购买推荐工具来获取推荐的承诺,从而最大限度地节省费用。对于某一特定计划而言,其每小时的财务承诺在计划期限内不可更改。如果您想在分析用量后增加承诺用量,则可以购买额外的节省计划来支付超额使用量。

节省计划优惠

与预留实例相比,节省计划提供了更灵活的定价模式,能帮助您节省费用,同时还能让您充分利用节省计划所提供的更多计算选项。即使您的计算需求发生变化,节省计划也提供折扣。这能够帮助您跟上不断变化的动态环境,同时又不会产生任何额外的管理开销。以下是使用节省计划的其他一些好处:

注意

由于灵活性降低,EC2 实例节省计划提供的折扣比计算类节省计划更大。您承诺以折扣价使用。

每种计算使用类型都有一个节省计划费率和一个按需计费费率。下表显示了每种操作系统类型的节省计划费率和按需计费费率。您需要根据承诺用量按照节省计划费率付费,超出承诺用量的任何使用均按固定按需费率收费。

实例名称 节省计划费率 按需节省 按需费率 操作系统 区域 付款选项 期限
x2iedn.xlarge 0.32 美元 61% 0.83 美元 Linux 美国东部(弗吉尼亚州北部) 无预付款 3
x2iedn.xlarge 2.01 美元 50% 1.02 美元 Windows 美国东部(弗吉尼亚州北部) 无预付款 3
x2iedn.xlarge 1.02 美元 20% 2.52 美元 Windows 随附许可证 + SQL Server 企业版 美国东部(弗吉尼亚州北部) 无预付款 3
x2iedn.xlarge 0.32 美元 61% 0.83 美元 BYOL 美国东部(弗吉尼亚州北部) 无预付款 3

节省计划包括操作系统,它们对 BYOL 有单独的折扣。它们都已在计算类节省计划计算器中进行了详细分解。

预留实例定价模型

AWS 还有另一种基于承诺的定价模式,称为预留实例。如果在您做出承诺之后,您的计算发生变化,导致预留实例无法得到充分利用,则这种模式就可能会出现问题。节省计划旨在提供与标准和可转换预留实例类似的成本降低,但灵活性要大得多。无论实例系列、大小、操作系统、租赁或区域为何,计算类节省计划都能提供更低的 EC2 实例使用价格。它们还可实现最大的灵活性。

下表可帮助您在节省计划或预留实例之间进行选择。

  Reserved Instance EC2 实例节省计划 计算类节省计划
1 年的平均折扣 最高 38% 最高 29% 最高 29%
3 年的平均折扣 最高 58% 最高 73% 最高 60%
实例系列 Fixed Fixed 灵活
实例大小 固定(非 Linux) 灵活 灵活
地理位置 1 个区域 1 个区域 灵活
操作系统 Fixed 灵活 灵活
服务 Amazon EC2 或 Amazon RDS Amazon EC2 Amazon EC2、Fargate、Lambda
付款选项 全部、部分、无预付款 全部、部分、无预付款 全部、部分、无预付款
实例限制 每个可用区 20 个 无限制 无限制
注意

节省计划的工作原理是根据您每小时的资金承诺为您提供折扣。在计划期限内,每小时财务承诺不可取消或更改,但您可以通过购买额外的节省计划来覆盖额外使用量。这使您能够在实例集扩大时仍能保持一致的每小时承诺量。

您可以使用 AWS Cost ExplorerAWS 云 智能控制面板之类的工具来跟踪您的承诺。Cost Explorer 成本管理服务提供了一条覆盖目标线,这有助于您的组织规划其节省计划的覆盖策略。如果您 75% 的工作负载处于稳定状态,则 75% 是一个不错的目标。这就使得 25% 的支出根据动态的工作负载而有所变化/具有灵活性。如果您需要将覆盖率提高到 85%,您可以再购买一项节省计划承诺,以此来增加每小时的资金承诺额度。

注意

我们建议您购买节省计划而不是预留实例,但如果您已经购买了预留实例,则两种承诺模式可以一起使用。

举例来说,您已经购买了一个预留实例,但您现在想尝试一下节省计划选项。这种组合在您的最终账单中是合乎逻辑的。以下是您可以应用于 AWS 账户的层次结构:

  1. 可用区预留实例适用于拥有该实例的账户。如果某个预留实例还有剩余的使用时间,则这些时间将适用于组织的其余部分。

  2. 适用于 Windows 的非可变大小区域预留实例适用于其所属账户的相应使用情况。剩余的所有内容都会传递给组织的其余部分。

  3. 可变大小的区域预留实例适用于拥有该实例的账户(首先是该系列中的最小实例,然后依次是更大的实例),并且还适用于该组织的其余部分。

  4. 区域预留实例适用于任何未使用的按需容量预留。

  5. EC2 实例节省计划适用于购买该计划的账户。

  6. 计算类节省计划适用于购买该计划的账户。

注意

折扣从最高折扣对应的用量开始,依次递减至最低折扣。通常情况下,对于大多数常见的实例类型(例如 T3、M6 和 C5),Windows 实例的折扣潜力要低于 Linux 实例。这意味着,在大多数情况下,Linux 实例比 Windows 实例的优势更大。

下图展示了在将预留实例与节省计划区分开来后的价格。计算类和 EC2 实例节省计划都首先适用于正在运行的实例,然后适用于未使用的按需容量预留。

将预留实例与节省计划区分开来后的价格

成本优化方案

本部分介绍 Amazon EC2 专属主机与使用随附许可证计费模式的 Amazon EC2 实例的成本优化方案。

Amazon EC2 专属主机

设想这样一个场景:您打算将本地的 Windows 工作负载迁移到 AWS。您的数据中心有以下服务器:

  • 拥有 16 个 vCPU 和 128GB RAM 的两台服务器

  • 拥有 32 个 vCPU 和 164GB RAM 的两台服务器

  • 拥有 8 个 vCPU 和 64GB RAM 的一台服务器

  • 拥有 vCPU 和 32GB RAM 的 16 台服务器

此外,假设您可以自带许可证到 AWS 中,因为您有足够的许可证可以带过来。下表显示了您可以在 AWS 中使用的服务器实例。

实例类型 CPU RAM 使用额
r5.4xlarge 16 128 2
r5.8xlarge 32 256 2
r5.2xlarge 8 64 1
r5.xlarge 4 32 16
      21

分析显示,这 21 台虚拟机可以分布在两台具有 R5 实例系列主机的专属主机上。下表显示了这两台专属主机的费用。

专属主机按需场景 预付费用 1 个月 1 年 3 年 AWS 定价计算器
按需 10123 美元 121475 美元 364392 美元 AWS 定价计算器 估算值
1 年期节省计划 7447 美元 89362 美元 AWS 定价计算器 估算值
3 年期节省计划 5476 美元 65712 美元 197128 美元 AWS 定价计算器 估算值
需预付款的 3 年期节省计划 84438 美元 2755 美元 117499 美元 183618 美元 AWS 定价计算器 估算值

如果您有想要迁移到 AWS 的服务器,则 1 年期节省计划的最终价格为 89362 美元,而不是按需价格计算的 121475 美元。这意味着一年后可享受 26.5% 的折扣。如果您考虑在 AWS 长期使用服务,则可以选择 3 年期节省计划,这样能实现更大幅度的费用节省。三年结束后,您支付的是 197128 美元,而不是 364392 美元。这使得三年后节省下来的金额达到总金额的 46%。

随附许可证的 Amazon EC2 实例

设想这样一种场景:您打算将单个三层应用程序迁移到 AWS 上,并且希望使用 AWS 提供的许可证。此外,假设您的应用程序适用于以下服务器:

  • 拥有两个 vCPU 和 4GB RAM 的两台 Web 服务器

  • 拥有八个 vCPU 和 16GB RAM 的两台应用服务器

  • 拥有 16 个 vCPU 和 64GB RAM 的两台数据库服务器(使用 SQL Server 标准版)

下表显示了您可以在 AWS 中使用的服务器实例。

实例类型 CPU RAM 使用额
c5.large 2 4 2
c5.2xlarge 8 16 2
r5.2xlarge 8 64 2
      6 个服务器

下表显示了 AWS 中这些服务器的成本。

AWS 包含的许可证 预付费用 1 个月 1 年 3 年 AWS 定价计算器
按需 3912 美元 46950 美元 140849 美元 AWS 定价计算器 估算值
1 年期节省计划 3466 美元 41952 美元   AWS 定价计算器 估算值
3 年期节省计划,无需预付款 3189 美元 38264 美元 114804 美元 AWS 定价计算器 估算值
需预付款的 3 年期节省计划 112110 美元 AWS 定价计算器 估算值

如果您想将这些服务器用于生产环境(全天候运行)并采用按需计费模式,则您每月需支付 3912 美元的费用。如果您按月支付费用,一年下来总计将花费 46950 美元,三年下来则总计需 140849 美元。

如果您选择无需预付款的 1 年期节省计划,则每月费用将降至 3466 美元。在第一年结束时,您需要支付 41952 美元。总折扣率为 11%。如果您选择无需预付款的 3 年期节省计划,则每月费用将降至 3189 美元。三年结束时,您需要支付 114804 美元。这能为您节省 18.5% 的费用。

成本优化建议

当您计划和预测 AWS 中工作负载时,这两种情况都可以帮助您节省费用。需要明确的是,在第二种情况下所给予的折扣要低于第一种情况。在第二种情况下,许可证价格包含在云服务器的价格中。AWS 不提供许可价格折扣,但在特定情况下您始终可以自带许可证,并且 AWS 始终能够确保最优的计算/实例价格。

我们建议您采取以下措施来控制在计算和实例资源方面的 AWS 支出:

  • 访问建议

  • 根据自身需求定制建议

  • 查看每小时承诺

访问建议

您可以使用 Amazon EC2 控制台访问有关您的节省计划的建议。您甚至可以将建议下载为 CSV 格式的文件,以在稍后查看。有关更多信息,请参阅节省计划文档中的监控您的节省计划

根据自身需求定制建议

打开 Amazon EC2 控制台,展开实例部分,然后选择节省计划。此页面向您展示在提出建议前后的实例和计算定价情况。您也可以针对建议调整以下因素:

  • 期限:例如,1-3 年

  • 付款选项:例如,预付款预付部分费用不预付

  • 历史记录:例如,过去 7、30 或 60 天

查看每小时承诺

使用同样的示例,假设您有一个全天候运行的实例。建议使用节省计划。根据大小,您的按需价格为每小时 120 美元。您可以选择承诺每小时 90 美元,但这可能会因区域、实例和购买选项而异。在此示例中,与按需成本相比,您可以节省 25% 的费用。您还可以跟踪利用率和覆盖范围(如果它们低于您定义的阈值),并在预算即将结束时配置提醒。

查看建议

我们建议您仔细查看节省计划建议。未经您的许可,AWS 不会更改任何内容。这些只是建议,是否应用它们由您自己决定。

购买计划

打开 Amazon EC2 控制台,展开实例部分,然后选择节省计划。然后,选择购买节省计划。根据您的要求,您可以选择以下选项:期限、区域、实例系列、每小时承诺、付款选项,甚至是开始日期。您可以从计算类节省计划、EC2 实例节省计划和 SageMaker AI 节省计划中进行选择。有关更多信息,请参阅节省计划文档中的购买节省计划

获取利用率报告

购买节省计划后,您可以获得利用率报告。该报告能帮助您检查利用率 ,查看所购买的计划是否足以满足需求并实现最大折扣优惠,并且还能让您取消或添加新的折扣。此报告可以导出为其他格式,例如 CSV。有关更多信息,请参阅节省计划文档中的使用利用率报告

遵循最佳购买实践

我们建议您在购买节省计划之前遵循以下最佳实践:

  • 使用 AWS Trusted Advisor 移除闲置的 EC2 资源。

  • 在购买节省计划之前,请进行任何调整。

  • 确定持续保持 30-60 天的小时费率。

  • 购买一份服务承诺,其内容应涵盖您所在组织所能接受的尽可能多的固定小时费率。考虑需求或季节的波动情况。

  • 选择季度审查节省计划预算以保持一致的费率(例如,节省计划覆盖范围的覆盖率目标 70%)。如果该费率低于所需的覆盖范围,请购买额外的节省计划来进行调整,以达到您的覆盖目标。

其他资源