View a markdown version of this page

Amazon EC2 上的 SQL Server 单节点架构 - AWS 规范性指导

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

Amazon EC2 上的 SQL Server 单节点架构

下图说明了在添加对高可用性 (HA) 和灾难恢复 (DR) 的支持之前,Amazon Elastic Compute Cloud (Amazon EC2) 上的单节点 SQL Server 的建议架构。

在此架构中,SQL Server 数据库部署到 EC2 实例,使用适用于 SQL Server 的 Amazon 机器映像 (AMI) 以及用于 OS、DATA、LOG 和备份的单独卷。非易失性内存快速 (NVMe) 存储直接连接到 EC2 实例,用于 SQL Server tempdb 数据库。 AWS Directory Service 用于为 SQL Server 数据库设置 Windows 身份验证。您还可以使用 AWS Systems Manager 来检测和安装 SQL Server 修补程序和更新。

HA/DR 之前的 Amazon EC2 上的单节点 SQL Server 架构

下表总结了有关配置此体系结构的建议。以下各节将详细讨论这些建议。

实例类型/AMI
SQL Server 版本
  • SQL Server 开发人员版(非生产)

  • SQL Server 标准版和企业版(生产)

存储类型
  • OS

  • DATA

  • LOG

  • tempdb

  • 用于存储和下载备份的暂存空间

灾难恢复选项
  • Amazon EC2

  • Amazon EBS 快照

  • SQL Server 本机备份

实例类型

AWS 为您的 SQL Server 工作负载提供了一系列实例类。您可以根据数据库服务器的预期工作负载、版本、选项、所需的内核和许可注意事项,在计算优化、内存优化、存储优化、通用和其他类型之间进行 HA/DR 选择。我们建议您为 SQL Server 选择经 Amazon EBS 优化的实例类型。这些卷通过专用网络中的附加 EBS 卷提供最佳吞吐量,这对于可能具有繁重数据访问要求的 SQL Server 工作负载至关重要。对于标准数据库工作负载,您可以运行内存优化型实例类,例如 R5、R5b、R5d 和 R5n。您还可以包括实例存储或存 NVMe 储。这两者都是 tempdb 的理想选择,并为数据库工作负载提供平衡的性能。

对于关键工作负载,高性能 z1d 实例针对许可成本较高的工作负载(如 SQL Server)进行了优化。z1d 实例采用定制的英特尔至强可扩展处理器构建,可提供高达 4.0 的持续全核 turbo 频率 GHz,明显快于其他实例。对于需要更快顺序处理的工作负载,您可以使用 z1d 实例运行更少的核心,并获得与具有更多核心的其他实例相同或更好的性能。

亚马逊还在微软 Windows Server 上提供AMIs专用 SQL Server 的服务,以帮助你在亚马逊 EC2 上托管最新的 SQL Server 版本。

仓储服务

某些实例类型提供 NVMe 实例存储量。NVMe 是一种临时(短暂)存储选项。此存储直接附加到 EC2 实例。尽管 NVMe 存储是临时的,并且在重启时会丢失数据,但它可以提供最佳性能。因此,它适用于具有高 I/O 随机数据访问模式的 SQL Server tempdb 数据库。使用 tempdb 的 NVMe 实例存储无需支付额外费用。

Amazon EBS 是一种持久存储解决方案,可满足 SQL Server 对快速、可用存储的要求。Microsoft 建议将数据卷和日志卷分开以获得最佳性能。这种分离的原因包括以下几点:

  • 不同的数据访问方法。数据卷使用联机事务处理 (OLTP) 随机数据访问,而日志卷使用串行访问。

  • 更好的恢复选项。一个卷的丢失不会影响另一个卷,并且有助于恢复数据。

  • 不同的工作负载类型。数据卷用于 OLTP 工作负载,而日志卷面向联机分析处理 (OLAP) 系统工作负载。

  • 不同的性能要求。数据卷和日志卷具有不同的 IOPS 和延迟要求、最低吞吐率以及类似的性能基准。

要选择正确的 Amazon EBS 卷类型,您应分析数据库访问方法、IOPS 和吞吐量。在标准工作时间和高峰使用期间收集指标。SQL Server 使用数据区来存储数据。SQL Server 中的原子存储单元是一个页面,大小为 8 KB。八个物理上连续的页面组成一个范围,大小为 64 KB。因此,在 SQL Server 计算机上,用于托管 SQL 数据库文件(包括 tempdb)的 NTFS 分配单位大小应为 64 KB。

EBS 卷的选择取决于工作负载,也就是说,数据库是读取密集型还是写入密集型数据库,都需要高 IOPS、存档存储和类似的注意事项。下表显示了一个示例配置。

Amazon EBS 资源 Type 说明
操作系统磁盘

gp3

通用存储。

数据盘

io1/io2

写入密集型存储。

日志磁盘

gp3io2

适用于密集型工作负载的通用存储。

备份磁盘

st1

更便宜的归档存储。为了获得更好的性能,如果定期将备份复制到 Amazon Simple Storage Service (Amazon S3),也可以将备份存储在速度更快的磁盘上。

Amazon EBS 和 Amazon S3 注意事项

下表显示了用于存储的 Amazon EBS 和 Amazon S3 的比较。使用此信息了解这两种服务之间的差异,并为您的用例选择最佳方法。

服务 可用性 持久性 注意
Amazon EBS
  • 所有 EBS 卷类型都提供持久的快照功能,旨在实现 99.999% 的可用性。

  • 在发生灾难时,您可以使用快照在不同 AWS 区域配置新实例。

  • EBS 卷数据在单个可用区中的多个服务器之间复制,以防止任何单个组件故障导致数据丢失。

  • EBS 卷的年故障率 (AFR) 设计为 0.1% 到 0.2% 之间,其中故障是指卷完全或部分丢失,具体取决于卷的大小和性能。

  • Amazon EBS 优化的实例使用优化的配置堆栈,为来自您的实例的 Amazon EBS I/O. This optimization provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O 和其他流量提供额外的专用带宽。

  • 最多同时支持 50 个快照的快速快照恢复。您必须在每个快照的基础上显式启用此功能。

  • Amazon EBS 优化实例在初始化时提供完全预置的性能,因此不涉及预热时间。

Amazon S3
  • 高度可用。

  • 设计用于在给定的一年内实现 99.99% 的可用性。

  • 提供多种存储类别,例如 S3 标准和 S3 标准-不频繁访问 ((S3 标准-IA))。您可以根据保留期限将备份文件移动到存储类别。

  • Amazon S3、Amazon Glacier 和 S3 Glacier Deep Archive 旨在实现 99.999999999%(11 个 9)的持久性。Amazon S3 和 Amazon Glacier 都提供可靠的数据备份,并可在至少三个地理位置分散的可用区之间复制对象。

  • 您可以使用 Amazon S3 进行长期 SQL Server 文件级备份(包括完整备份和事务日志)。

  • Amazon S3 支持:

  • Amazon S3 提供成本最低的存储。跨区域数据传输费用适用。

亚马逊上适用于 Windows 文件服务器 FSx 的 SQL Server

Amazon FSx for Windows File Server 提供了快速的性能, GB/second 每个文件系统的基准吞吐量高达 2 个,IOPS 可达数十万,延迟始终如一,亚毫秒级延迟。要为 SQL Server 实例提供适当的性能,您可以选择与文件系统大小无关的吞吐量级别。更高级别的吞吐容量还附带更高级别的 IOPS,文件服务器可以为访问它的 SQL Server 实例提供服务。存储容量不仅决定您可以存储多少数据,还决定每秒可以对存储执行多少次 I/O 操作 (IOPS) ——每 GB 的存储可提供 3 个 IOPS。您可以将每个文件系统的大小配置为最大 64 TiB(相比之下,Amazon EBS 为 16 TiB)。您还可以使用亚马逊 FSx 系统作为 Windows 服务器故障转移群集 (WSFC) 部署的文件共享见证。