迁移 SQL Server - AWS 规范性指导

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

迁移 SQL Server

在您的云之旅中,您可以通过多种选项将 SQL Server 环境迁移到 AWS。成功的迁移基于生成 SQL Server 工作负载及其依赖项的详细清单、确定身份验证方案、捕获高可用性和灾难恢复(HADR)要求、评测性能目标以及评估许可选项。此清单可帮助您确定目标数据库平台并定义迁移选项。

在将 SQL Server 工作负载迁移到时,您需要考虑许多选项 AWS,每种选择都能实现优化的性价比、更直观的用户体验和更低的总体拥有成本。你可以选择在以下设备上部署 SQL Server:亚马逊 EC2、适用于 S QL Server 的亚马逊 RDS 或适用于 SQL S erver 的亚马逊 RDS 定制版

评测

要成功实施迁移,评估现有基础设施并了解您的环境所需的关键功能是非常重要的。我们建议您在选择迁移计划之前先查看以下关键领域:

  • 查看现有基础设施 – 通过使用在迁移发现阶段收集的数据来查看现有的 SQL Server 基础设施(请参阅 Windows environment discovery)。我们建议你在上使用微软为SQL Server基础架构规定的规模 AWS。了解您的本地 SQL Server 实例的当前利用率(包括内存、CPU、IOPS 和吞吐量)对于在 AWS上正确调整您的 SQL Server 实例的大小非常重要。

  • 查看现有许可 — 您可以利用补充的AWS 优化和许可评估 (AWS OLA) 来制定迁移和许可策略 AWS。 AWS OLA 为您提供一份报告,该报告使用现有许可授权对您的部署选项进行建模。这些结果可以帮助您探索灵活的 AWS 许可选项中可实现的成本节约。

  • 查看现有 SQL Server 架构:如果您使用的是带有共享存储的 SQL Server 失效转移群集或 SQL Server Always On 可用性组架构,则了解您当前的高可用性架构要求将有助于您在 AWS上定义 SQL Server 部署选项

  • 制定备份策略:您可以在 SQL Server 中使用本机备份将数据库备份到云。有多种选项可以使用 Storage Gateway 将数据库备份到亚马逊 EBS、 FSx 适用于 Windows 文件服务器 FSx 的亚马逊、适用于 NetApp ONTAP 的亚马逊和亚马逊 S3。此外,您可以使用快照方法来备份 SQL Server 实例。有关 SQL Server 备份的更多信息,请参阅 AWS 规范性指南中的亚马逊 EC2 SQL Server 备份和还原选项

  • 了解灾难恢复 (DR) 需求 — 如果您要将现有 SQL Server 工作负载转移到 AWS,则可以使用辅助工作负载, AWS 区域 并使用 Transit Gateway(允许进行复制)连接两个区域。您可以使用 SQL Enterprise 版中的 SQL Server 分布式可用性组架构来设置灾难恢复,也可以根据您的 RTO 和 RPO 要求使用日志传送。此外,您可以 AWS Elastic Disaster Recovery 将其用作主动/被动实施,将灾难恢复保留为故障转移环境。有关更多信息,请参阅 AWS 数据库博客上的《为 SQL Server 设计灾难恢复 AWS:第 1 部分》文章。

动员

对于您的 SQL Server 工作负载,我们建议您考虑三个主要迁移选项

  • 重新托管(移动)— 这涉及将您的本地 SQL Server 数据库迁移到中亚马逊 EC2 实例上的 SQL Server。 AWS Cloud如果您的首要任务是更快地迁移到, AWS 则此方法非常有用。

  • 更换平台:这涉及到将您的本地 SQL Server 数据库迁移到 AWS Cloud中的 Amazon RDS for SQL Server。当您希望继续使用 SQL Server 但想卸载无差别的繁重工作任务(例如安装、配置、修补、升级和设置高可用性)时,更换平台是最适合的方式。有关亚马逊上的 SQL Server EC2、Amazon RDS 和 Amazon RDS Custom 的功能比较,请参阅 AWS 规范性指南中的亚马逊 EC2 和亚马逊 RDS 之间的选择

  • 重构(重新架构)– 这通常涉及到通过使用开源数据库或专为云构建的数据库对应用程序进行更改和现代化改造。在这种情况下,您将对本地 SQL Server 数据库进行现代化改造,以使用 Amazon RDS for MySQLAmazon RDS for PostgreSQLAmazon Aurora。通过迁移至开源数据库,您可以降低许可成本,避免不必要的供应商锁定期和许可审核。

迁移

将 SQL Server 工作负载迁移到时 AWS,请考虑以下有关配置和工具的内容。

重新托管

更换主机是同构的。如果您想在不更改数据库软件或配置的情况下按原样迁移 SQL Server 数据库,请选择此方法。例如,在大规模的传统迁移中,您可能希望快速迁移以实现业务目标,并选择对大部分应用程序执行更换主机。

使用亚马逊迁移 SQL Server EC2

如果您迁移到亚马逊 EC2,则可以携带现有的 SQL Server 许可证。这被称为自带许可(BYOL)模式。或者,您可以从购买附带许可 (LI) 实例 AWS。有关更多信息,请参阅 AWS 云运营与迁移博客上的 “在亚马逊 EC2 专用主机上使用包含许可的 Windows 实例使用 SQL BYOL 进行成本优化” 的文章。BYOL 选项使您能够使用现有的 SQL Server 许可证来降低成本。 AWS License Manager在 Amazon 中使用 SQL Server 进行实例化时,可帮助控制可用许可证 VMs 的分配。 EC2License Manager 可帮助确保遵守您指定的许可规则。

只有在拥有微软软件保障 (SA) EC2 的情况下,才能使用 BYOL 将 SQL Server 重新托管到共享租赁(默认)实例。如果您的 SQL 许可证上没有 SA,则可以重新托管到 Amazon EC2 专用主机,前提是许可证是在 2019 年 10 月 1 日之前购买的,或者是在 2019 年 10 月 1 日之前生效的有效企业注册下作为调整添加的。

有多种方法可以使用 SQL Server 功能( EC2 例如备份和恢复、日志传送以及 Always On 可用性组)将 SQL Server 数据库迁移到 Amazon 实例。如果您要将单个数据库或一组数据库迁移到在 Amazon 上运行的新 SQL Server 实例,则这些选项是合适的 EC2。这些选项是数据库原生的,取决于特定的 SQL Server 版本。除了数据库迁移之外,还可能要求您执行迁移诸如登录名、作业、数据库邮件和链接服务器等对象的步骤。

以下方法可用于在上 AWS重新托管 SQL Server 数据库:

你也可以使用 AWS Launch Wizard SQL Server 来指导你在亚马逊上完成微软 SQL Server 的大小、配置和部署 EC2。它支持 SQL Server 单实例和 Amazon 上的 HA 部署 EC2。

使用 Application Migration Service 迁移 SQL Server

AWS Application Migration Service如果您想将一台或多台大型计算机从本地环境迁移到 AWS 不更改数据库中的 SQL Server 版本、操作系统或代码,且停机时间接近零或最短,则是一个不错的选择。您可以使用 Application Migration Service 快速直接迁移物理、虚拟或云服务器,而不会出现兼容性问题、性能影响或割接期限过长。有关使用应用程序迁移服务将 SQL Server 数据库从本地环境迁移到亚马逊 EC2 实例的指南,请参阅将 Microsoft SQL Server 数据库迁移到 AWS 规范性指南。 AWS Cloud在使用 Application Migration Service 将 Microsoft SQL Server 数据库工作负载迁移到 AWS时,您也可以参考最佳实践

Linux 上的 SQL Server

SQL Server 数据库引擎在 Windows Server 和 Linux 上的运行方式基本类似。但是,使用 Linux 时,某些任务会发生一些变化。启动向导可以帮助您适应这些变化并配置高度可用的解决方案。如果你有内部的 Linux 管理专业知识,那么重新托管到亚马逊 EC2 Linux 是节省 Windows 服务器许可成本的好选择。考虑使用 Microsoft SQL Server 数据库从 Windows 到 Linux 的更换平台助手工具来自动执行此过程。有关更多信息,请参阅根据 AWS 规范性指南将本地微软 SQL Server 数据库迁移到 EC2 运行 Linux 的亚马逊上的 Microsoft SQL Server

更换平台

更换平台是一种同构方法,最适合通过使用完全托管的数据库产品来缩短管理数据库实例所花费的时间。Amazon RDS for SQL Server 中的完全托管数据库会限制您访问底层操作系统、系统卷或安装自定义驱动程序。有关更多信息,请参阅 Amazon RDS 文档中的 Amazon RDS for Microsoft SQL Server。如果您的使用案例需要完全托管的数据库功能,或者您想使用现有的 SQL Server 许可证,请考虑更换平台为 Amazon RDS Custom for SQL Server。

自带媒体(BYOM)选项可用于 Amazon RDS Custom for SQL Server。BYOM 允许您使用自己的安装媒体和许可证,但这些许可证必须符合 Microsoft 的许可证移动性条款。您可以对 SQL Server 更换平台,转为 Amazon RDS for SQL Server 或 Amazon RDS Custom for SQL Server。具体的选择取决于您是要求访问底层操作系统、要求数据库自定义,还是希望通过使用 BYOM 来利用现有的 SQL Server 许可证。

以下方法可用于将 SQL Server 迁移到 Amazon RDS for SQL Server:

要为您的 SQL Server 数据库更换平台以便在 Amazon RDS for SQL Server 上运行,请考虑使用 Amazon RDS for SQL Server 资源中提供的方法。有关如何迁移终止支持工作负载的信息,请参阅数据库博客上自信地发布的 “将支持端微软 SQL Server 数据库迁移到适用于 Amazon RDS for SQL Server 的 Amazon RDS for SQL Server” AWS 。有关本地数据库的信息,请参阅 Amazon RDS 文档中的将本地数据库迁移到 Amazon RDS Custom for SQL Server

重构

重构是异构的。当您准备好重组、重写和重新架构数据库和应用程序以利用开源和 built-for-the-cloud数据库产品时,请选择这种方法。如果您愿意重构数据库和相应的应用程序,则可以将 SQL Server 工作负载现代化为 Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon Aurora MySQL 兼容版本Amazon Aurora PostgreSQL 兼容版本。您可以根据许多现代化时间表和性能要求进行重构。

Amazon RDS for MySQL 和 Amazon RDS for PostgreSQL 是适用于其各自开源数据库的完全托管数据库产品。Amazon Aurora 是专为云而构建的关系数据库管理系统(RDBMS),具有完全的 MySQL 和 PostgreSQL 兼容性。Aurora 具有容错存储系统,可为您提供商业级数据库的性能和可用性,但成本仅为商业级数据库的十分之一。

您也可以使用 Amazon Aurora Serverless 来运行您的数据库, AWS 而无需管理数据库容量。Amazon Aurora Serverless v2 可在不到一秒钟的时间内立即扩展到处理数十万个事务。您只需为应用程序消耗的容量付费,与为峰值负载预置容量的成本相比,您可以节省高达 90% 的数据库成本。

要将您的 SQL Server 数据库重构为其中一个产品,请考虑将 AWS Schema Conversion Tool (AWS SCT) 与一起 AWS DMS使用。有关更多信息,请参阅《将 Microsoft SQL Server 数据库迁移到 AWS Cloud》指南中的 AWS SCT

如果您的目标是加快应用程序和数据库向 AWS迁移,请考虑使用适用于 Aurora PostgreSQL 的 Babelfish。Babelfish 使最初为 SQL Server 编写的应用程序能够以很少的代码更改即可与 Aurora 协同工作。因此,修改和迁移到为 SQL Server 2019 或更早版本开发的适用于 Aurora PostgreSQL 的 Babelfish 应用程序所需的工作量减少了,从而可实现更快、风险更低且更具成本效益的重构。

使用 Babelfish 进行迁移时,请考虑以下资源:

其他资源