跳至内容

如何优化 Amazon EC2 实例上的 SQL Server 许可成本?

3 分钟阅读
0

我想知道在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上管理 SQL Server 许可成本的最佳实践。

解决方法

重要信息: 以下解决方法提供 SQL Server 许可的通用最佳实践。在实施变更之前,请确保还检查了特定的许可要求。

为您的工作负载选择正确的许可模式

对于 EC2 实例,您可以使用包含 SQL Server 许可的亚马逊机器映像 (AMI),也可以自带许可。

使用包含许可的 AMI

使用包含许可的 AMI 来处理可变工作负载、短期项目以及需要跨实例类型灵活性的情况。如果您还没有 SQL Server 许可,此选项也更易于使用。通过包含许可的部署,Amazon EC2 可自动管理许可合规性。您不需要客户端的访问许可。有关包含许可的 AMI 的价格和要求的信息,请参阅成本影响。

自带许可

如果您已经拥有 SQL Server 许可,并计划运行可预测的大型工作负载,请使用自带许可 (BYOL) 模式。使用 BYOL 模式时,您必须自己管理许可合规性。

使用 BYOL 时,您可以选择通过软件保障获得许可移动性的 BYOL,也可以选择专属主机上的 BYOL。许可移动性可降低实例成本。您可以将具有许可移动性的产品(例如带软件保障的 SQL Server)带入共享或专用租赁。

在以下情况下,使用通过软件保障获得许可移动性的 BYOL:

  • 您拥有带有效软件保障的 SQL Server 许可。
  • 您需要灵活选择实例类型或租赁。
  • 您必须管理许可或使用现有许可。

有关详细信息,请参阅 Microsoft 网站上的 License Mobility through Software Assurance(通过软件保障获得许可移动性)。

在以下情况中将 BYOL 与专属主机配合使用:

  • 您在 2019 年 10 月 1 日之前购买了没有软件保障的 SQL Server 许可。
    -或-
    您在 2019 年 10 月 1 日之前生效的有效 Enterprise Enrollment 下添加了 SQL Server 许可作为追加。
  • 您的工作负载稳定且可预测,这些工作负载大部分时间都在运行。
  • 您对专用基础设施有监管要求。

有关更多信息,请参阅 How to save 45% on licensing costs by migrating and optimizing SQL Server on AWS(如何通过在 AWS 上迁移和优化 SQL Server 来节省 45% 的许可成本)。

选择您的 SQL Server 版本

在选择 SQL Server 版本之前,请比较可用版本。请务必根据您的要求评测功能。例如,SQL Server Standard 版比 SQL Server Enterprise 版更具成本效益。但是,SQL Server Standard 版的最大计算配额为每个 EC2 实例 24 个内核、4 个插槽。

尽可能降级到 SQL Server Standard 版,并将 SQL Web 版用于公共工作负载。

对于所有非生产环境(例如开发、QA、测试、暂存和 UAT 环境),请使用 SQL Server Developer 版。您不能将 SQL Server Developer 版用于生产数据或为客户工作负载提供服务的环境。下载 SQL Server 后,您可以使用共享租赁在 EC2 实例上安装 SQL Server Developer 版。SQL Server Developer 版不需要专用的基础架构。

整合您的数据库

如果您为每个数据库运行多个单独的 EC2 实例,请尽可能整合您的数据库。将数据库整合到更少、更大的 EC2 实例上,以降低许可成本。确保您设计的架构具有可用性和容错能力。

注意: 如果您数据库的合规性要求有冲突、工作负载需要性能隔离或可用性要求不同,请勿整合这些数据库。

使用被动副本

对于使用 Always On 可用性组或失效转移群集实例的高可用性部署,请使用被动辅助副本来降低许可成本。被动辅助副本是仅用于灾难恢复的备用 EC2 实例。此 EC2 实例不接受读取流量或活动工作负载。

仅对于包含许可的工作负载,您可以在 SQL Server 上使用 Amazon EC2 高可用性来自动管理被动副本。对于这些被动副本,您只需要支付 Windows Server 和 Amazon EC2 的计算费用,而不是 SQL Server 许可费用。确保您遵守 SQL Server 上 Amazon EC2 高可用性的要求。有关实施步骤,请参阅 Getting started with Amazon EC2 High Availability for SQL Server(SQL Server 的 Amazon EC2 高可用性入门)。

对于 BYOL EC2 实例,使用被动失效转移许可。要使用被动失效转移,您必须拥有带有效软件保障的 SQL Server 许可

重要信息: 所有 EC2 实例都需要 Windows Server 许可。

选择合适的实例大小

重要信息: 用于计费的 vCPU 的最小数量为 4。SQL Server Standard 版最多有 24 个内核(48 个 vCPU)。

为确保为工作负载选择正确的 EC2 实例大小,请执行以下操作:

  • (仅限 BYOL EC2 实例)如果您使用 Microsoft 按内核或按插槽的许可模式,则减少所需的内核数量。
  • 在 Amazon CloudWatch 中检查您的 CPU、内存和每秒进行读写操作的次数 (IOPS) 使用率指标,以验证您的 EC2 实例类型是否满足您的使用需求。
  • 使用 AWS Compute Optimizer 获取自动调整大小的指导。
  • 如果您 EC2 实例的使用率持续低于 40%,则减小实例大小。
  • 在生产环境中使用较小规格的 EC2 实例类型之前,先在测试环境中对其进行测试。
  • 如果您的工作负载可变,则使用性能可突增的 EC2 实例。
    注意: 4 个 vCPU 的最低计费标准仍然适用。

有关更多信息,请参阅如何为我的工作负载选择适当的 EC2 实例类型?

降低您的 CPU 使用率

要降低许可成本,请停用同步多线程或减少内核数。这些配置更改在以下情况下很有用:

  • 您想减少 vCPU 数量,但要保留内存和存储空间。
  • 您使用内存密集型、CPU 需求低的工作负载。
  • 您想降低内核级许可成本。

使用 CloudWatch 中的指标来识别未充分利用和过度使用的资源。

使用节省计划

使用节省计划降低可预测的 SQL Server 工作负载的计算成本。最佳做法是将节省计划用于持续运行的稳态 SQL Server EC2 实例或使用率可预测的生产数据库。

注意: 对于在非工作时间停止的开发或测试环境,或您计划迁移到其他平台的工作负载,使用节省计划并不是最佳做法。

使用 AWS 定价计算器

使用 AWS 定价计算器更好地了解您的配置的许可成本,并比较以下因素的成本:

  • 与 BYOL 相比,包含许可
  • 不同 SQL Server 版本
  • 预计的专属主机费用
  • 节省计划的节省费用

注意: 带 SQL Server 的 EC2 Windows 实例和仅限 Windows 的 EC2 实例之间的价格差异是 SQL Server 的许可成本。

跟踪和管理 SQL Server 许可

要跟踪您的 SQL Server 许可并保持合规性,请使用 AWS License Manager 创建自行管理许可。

注意: License Manager 中的自行管理许可仅用于跟踪和清点目的。无论您是否已在 License Manager 中注册许可,您在操作系统中配置的所有许可都被视为 BYOL。

要自动识别优化机会,请使用 AWS Trusted Advisor。对于 SQL Server 许可,您可以运行适用于 Microsoft SQL Server 的 Amazon EC2 实例合并检查,以及适用于 Microsoft SQL Server 的 Amazon EC2 实例过度预调配检查。

您还可以使用 AWS 优化和许可评测 (AWS OLA) 来评估和改善您的环境。

使用成本优化中心

使用成本优化中心获得自动发现的成本优化机会。有关更多信息,请参阅 Optimize SQL Server licensing by using Compute Optimizer(使用 Compute Optimizer 优化 SQL Server 许可)。

相关信息

Understand licensing options and considerations for Microsoft SQL Server on Amazon EC2(了解 Amazon EC2 上 Microsoft SQL Server 的许可选项和注意事项)

Understand SQL Server licensing(了解 SQL Server 许可)

Microsoft licensing on AWS(AWS 上的 Microsoft 许可)

AWS 官方已更新 7 个月前