本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊上的 SQL Server EC2 单节点架构
下图说明了在增加对高可用性 (HA) 和灾难恢复 (DR) 的支持之前,亚马逊弹性计算云 (Amazon EC2) 上单节点 SQL Server 的推荐架构。
在此架构中,SQL Server 数据库部署到 EC2 实例,使用适用于 SQL Server 的 Amazon 系统映像 (AMI) 以及单独的操作系统、数据、日志和备份卷。非易失性内存 express (NVMe) 存储直接连接到 EC2 实例并用于 SQL Server tempdb 数据库。 AWS Directory Service 用于为 SQL Server 数据库设置 Windows 身份验证。您还可以使用 AWS Systems Manager 来检测和安装 SQL Server 修补程序和更新。

下表总结了有关配置此体系结构的建议。以下各节将详细讨论这些建议。
实例类型/AMI |
|
SQL Server 版本 |
|
存储类型 |
|
卷 |
|
灾难恢复选项 |
|
实例类型
AWS 为您的 SQL Server 工作负载提供了一系列实例类
对于关键工作负载,高性能 z1d 实例
亚马逊还在微软 Windows Server 上提供AMIs专用 SQL Server
存储
某些实例类型提供 NVMe 实例存储量。 NVMe 是一种临时(短暂的)存储选项。此存储直接连接到实 EC2 例。尽管 NVMe 存储是临时的,并且在重启时会丢失数据,但它可以提供最佳性能。因此,它适用于具有高 I/O 和随机数据访问模式的 SQL Server tempdb 数据库。使用 tempdb 的 NVMe 实例存储无需支付额外费用。有关其他指导,请参阅《在亚马逊上部署 SQL Server 的最佳实践》指南中的 “将 tempdb 放入实例存储” 部分。 EC2
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。有关如何检查驱动器的 NTFS 分配大小的信息,请参阅指南在 Amazon EC2 上部署 SQL Server 的最佳实践。
EBS 卷的选择取决于工作负载,也就是说,数据库是读取密集型还是写入密集型数据库,都需要高 IOPS、存档存储和类似的注意事项。下表显示了一个示例配置。
Amazon EBS 资源 | 类型 | 描述 |
---|---|---|
操作系统磁盘 |
|
通用存储。 |
数据盘 |
|
写入密集型存储。 |
日志磁盘 |
|
适用于密集型工作负载的通用存储。 |
备份磁盘 |
|
更便宜的归档存储。为了获得更好的性能,如果定期将备份复制到 Amazon Simple Storage Service (Amazon S3),也可以将备份存储在速度更快的磁盘上。 |
Amazon EBS 和 Amazon S3 注意事项
下表显示了用于存储的 Amazon EBS 和 Amazon S3 的比较。使用此信息了解这两种服务之间的差异,并为您的用例选择最佳方法。
服务 | 可用性 | 持久性 | 备注 |
---|---|---|---|
Amazon EBS |
|
|
|
Amazon S3 |
|
|
|
亚马逊上适用于 Windows 文件服务器 FSx 的 SQL Server
Amazon FSx for Windows File Server 提供快速性能,基准吞吐量最高可达每秒 2 次GB/second per file system, hundreds of thousands of IOPS, and consistent sub-millisecond latencies. To provide the right performance for your SQL Server instances, you can choose a throughput level that is independent of your file system size. Higher levels of throughput capacity also come with higher levels of IOPS that the file server can serve to the SQL Server instances accessing it. The storage capacity determines not only how much data you can store, but also how many I/O操作 (IOPS),您可以在存储上执行每秒 2 次操作 (IOPS),每 GB 存储可提供 3 个 IOPS。您可以将每个文件系统的大小配置为最大 64 TiB(相比之下,Amazon EBS 为 16 TiB)。您还可以使用亚马逊 FSx 系统作为 Windows 服务器故障转移群集 (WSFC) 部署的文件共享见证。