了解 SQL Server 许可
概览
随着越来越多的企业将工作负载迁移到云中,优化云平台的成本已成为首要任务。在 AWS 上运行 Microsoft 工作负载所涉及的成本中,许可费用是其中最为重要的一个方面。本部分介绍如何通过优化 SQL Server 的 Microsoft 许可来优化 AWS 的成本。
AWS 许可选项
AWS 为许可提供了一系列灵活的成本优化选择。这些许可选项旨在帮助您降低成本、确保合规性并满足您的业务需求。
AWS 将许可证分为三种主要类型:
-
包含许可证:此许可选项允许您按需购买并使用许可证,仅需按实际使用量付费。包含许可证选项非常适合那些您希望在使用许可方面具有灵活性,并且又不想承担前期费用的情况。您可以从一系列 Windows Server、SQL Server 和其他 Microsoft 产品中进行选择。
-
具有许可证移动性的自带许可(BYOL):此许可选项适用于您已拥有现有许可证且希望将其用于云中的情况。AWS 允许客户通过 Microsoft 的许可证移动性
计划将自己的许可证带入云中使用。您可以将具有许可证移动性的产品(例如带软件保障(SA)的 SQL Server)带到共享或专用租赁,以降低 AWS 实例成本。 -
不具有许可证移动性的 BYOL 产品:对于不具有许可证移动性的 Microsoft 产品,例如 Windows Server,AWS 提供在云中使用这些产品的专用选项。此外,专属主机还提供在物理核心级别进行许可的机会。这能让您在运行工作负载时节省 50% 或更多的许可证费用。专属主机对于那些大部分时间都能保持稳定且可预测的工作负载是一个非常理想的选择。
自带许可证对成本的影响
自带许可证可能会对在 AWS 上运行 Microsoft 工作负载的成本产生显著影响。如果您自带许可证,则无需为在云中运行的实例支付额外的许可费用。这能够带来显著的成本节省。
以下对比数据展示了全天候运行单个 c5.xlarge 实例的按需每月成本:
-
Windows Server + SQL Server 企业版:1353 美元/月(包含许可证)
-
Windows Server + SQL Server 标准版:609 美元/月(包含许可证)
-
仅 Windows Server:每月 259 美元(包含许可证)
-
仅计算(Linux):每月 127 美元
归根结底,自带许可证可能会对在 AWS 上运行 Microsoft 工作负载的成本产生显著影响。如果您使用现有的许可证,则可以降低许可成本并节省 AWS 总账单金额。
许可证优化
AWS 优化和许可评测(AWS OLA)可以通过降低计算和许可成本来帮助您优化许可。AWSOLA 旨在评估您在 AWS 上运行的工作负载或计划进行迁移的工作负载的许可需求。AWSOLA 提供了有关优化许可证使用情况的建议。
优化许可使用的关键策略之一是合理调整实例大小。适当调整大小涉及到根据工作负载对 CPU、内存和存储的需求来选择合适的实例类型。通过选择适当的实例大小,您可以确保以经济高效的方式使用资源。这能够带来显著的成本节省。
使用 Microsoft 软件许可时,软件运行所在的核心数量是决定软件许可费用的关键因素。例如,Windows Server 和 SQL Server 许可证通常根据核心数量进行许可。通过适当调整实例大小,您可以减少 Microsoft 软件运行所在的内核数量,进而降低实例的成本并减少所需的许可证数量。
成本优化建议
优化许可证是 AWS 上的成本优化的关键组成部分。通过实施适当的策略,您可以降低许可成本,维护合规性,并从您的许可投资中获得最佳效益。本部分概述了几种许可证优化的策略。
自带符合资格的 Windows Server 许可证
自带 Windows Server 许可证是最有效的许可证优化策略之一。该策略使您能够利用现有投资来减少您的 AWS 支出。
例如,如果您在 2019 年 1 月 10 日之前购买了许可证,或者在该日期之前根据有效的企业协议进行了许可证的追加购买,则可以在 Amazon EC2 专属主机
物理级别的许可证
在物理核心级别进行许可,允许您仅许可主机的物理核心,这样一来,您就可以在不影响所需许可证数量的情况下部署最多数量的实例。这通常通过使用 Windows Server 数据中心和 SQL Server 企业版来完成。
以一台拥有 48 个核心的 R5 专属主机为例,其 vCPU 数量为 96 个。如果您使用 Windows Server 数据中心版,则只需要 48 个许可证。这使您能够部署最多具有 96 个 vCPU 的实例组合,如下图所示。
如果您有足够的工作负载,能够最大限度地利用一台主机来运行多个实例,那么这种方法将会特别具有成本效益。通过在物理核心级别进行许可,您可以避免为每个实例支付额外的许可费用,并实现您在许可方面的最大投资效益。
在 SQL Server 的物理核心级别进行许可
在共享租赁中,SQL Server 许可基于分配给实例的 vCPU 数量。相比之下,对于专属主机,您可以按物理核心级别或 vCPU 级别来许可 SQL Server 企业版。
与之前提到的 R5 专属主机的示例一样,如果您在物理核心级别许可了 SQL Server 企业版,那么您只需 48 个 SQL Server 企业版许可证即可为这些主机进行许可。相比之下,在共享租赁模式中(在这种模式下,唯一的选项是按 vCPU 许可使用),要完成相同的工作负载,您必须拥有 96 个 SQL Server 企业版许可证。因此,与共享租赁相比,专属主机最多可以为您节省 50% 的 SQL Server 许可成本。此外,通过自带符合条件的 Windows 许可证,还可以节省实例成本。
整合 SQL Server 实例
SQL Server 整合是将多个 SQL Server 实例合并到一台服务器的过程。SQL Server 要求每个实例至少有四个核心许可证,即便该实例仅有两个 vCPU 也是如此。这意味着,在拥有不到四个核心的服务器上运行 SQL Server 可能会导致您过度许可这些实例,并使用超出必要数量的许可证。
例如,将两个各有两个 vCPU 的实例整合为一个包含四个 vCPU 的实例,可以将许可要求降低 50%。这是因为只需要四个核心许可证,而不是八个。
有关整合的更多信息,请参阅本指南的 SQL Server 整合部分。
降低 SQL Server 版本级别
更改 SQL Server 版本是优化许可使用情况和降低成本的关键策略之一。SQL Server 的企业版价格要比标准版贵得多,因此降级可以节省大量费用。
透明数据加密(TDE)和 Always On 可用性组是 SQL Server 企业版中的两个常用功能。但是,如果您不需要 SQL Server 企业版所包含的全部功能,则还有一些经济高效的替代方案可供您考虑。例如,从 SQL Server 2019 开始,您就可以在 SQL Server 标准版中使用 TDE。您可以在适用于 Windows File Server 的 FSx 上使用具有共享存储的失效转移群集来代替 Always On 可用性组,从而在 SQL Server 标准版中实现高可用性。
通过从 SQL Server 企业版降级到 SQL Server 标准版,您能够显著降低许可费用。有关更多信息,请参阅 AWS 存储博客上的优化 AWS 上的高可用性 SQL Server 部署的成本
除了降低许可成本之外,降低 SQL Server 版本的级别还能帮助您减少软件保障费用,并避免未来可能出现的调整费用。如果您将未使用的许可证放回原处,则能避免额外的许可费用,并最大程度地发挥您的许可投资的价值。
重要的是要仔细评估您的 SQL Server 工作负载,并确定哪些功能对于您的业务需求而言至关重要。有关更多信息,请参阅 AWS 规范性指南中的评估您的环境,并确定您的 Microsoft SQL Server 数据库是否使用特定于 SQL Server 企业版的功能。
如果您选择正确的 SQL Server 版本并使用 SQL Server 企业版功能的替代方案,则能够实现显著的成本节省,同时还能确保符合规定并满足业务需求。有关降级选项的更多信息,请参阅本指南的比较 SQL Server 版本部分。
在非生产环境中使用 SQL Server 开发人员版
在非生产环境中,您可以通过在本地环境中使用 MSDN 订阅来部署可授权使用的 SQL Server 版本,例如企业版或标准版。但是,MSDN 订阅不具有许可证移动性。因此,如果您迁移到 AWS,则无法将这些许可证转过来。您必须改用 SQL Server 开发人员版。
SQL Server 开发人员版是 SQL Server 的全功能版本,免费提供。此版本适用于 SQL Server 版本 2016 及更高版本。您可以从 Microsoft 网站下载它。SQL Server 开发人员版旨在用于所有非生产环境,例如开发、测试和暂存,前提是它未连接到实时生产数据。
如果您在非生产环境中使用 SQL Server 开发人员版,则可以避免额外的许可费用。有关更多信息,请参阅本指南的评估 SQL Server 开发人员版部分。
针对 SQL Server 工作负载优化 CPU
在某些情况下,由于诸如 RAM 或网络限制等其他因素,您可能需要选择具有比您的工作负载所需更多 CPU 数的实例类型。但是,AWS 提供了一种解决方案来帮助您在这些情况下优化许可费用。
您可以像大多数自带了 SQL Server 核心许可证的客户一样,可以禁用超线程功能或关闭 EC2 实例中的 CPU,以将可用 CPU 数量限制在主机范围内。此选项使您能够利用其他实例功能,例如 RAM,同时还能节省购买额外许可证的费用。
举例来说,如果您的工作负载需要 128GB 的内存,但您只需要 8 个核心的 SQL Server,那么您可以选择部署 r5.4xlarge 实例。在启动该实例时,只需启用 8 个CPU 即可,而无需启用超线程功能。通过这样做,您可以在所需的 SQL Server 许可证上节省 50% 的费用,因为您只需为正在实际使用的八个核心进行许可即可。
| 实例类型 | vCPU 总数 | 具有“优化 CPU”功能的活动 vCPU | SQL Server 许可证节省费用 |
|---|---|---|---|
| r5.4xlarge | 16 | 8 | 50% |
| r5.12xlarge | 48 | 8 | 83% |
如果您调整了实例的大小,则可以确保为您的工作负载选择最经济高效的实例类型。随着 AWS 推出新实例类型,评估这些新实例是否能够以更少的内核满足工作负载需求非常重要。