迁移到 Amazon RDS for SQL Server 的最佳实践 - AWS 规范性指导

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

迁移到 Amazon RDS for SQL Server 的最佳实践

根据对您数据库和项目要求的评测,如果您的目标是迁移到 Amazon RDS for SQL Server,请按照本节中的最佳实践预置目标数据库、执行迁移以及测试、操作和优化您的 Amazon RDS for SQL Server 数据库。

重要

在迁移数据库之前,请务必制定回滚计划。

注意

您可以使用 Migration Hub Orchestrator 通过使用本机备份和恢复来自动执行和编排 SQL Server 数据库向 Amazon EC2 或 Amazon RDS 的迁移。有关更多信息,请参阅 AWS Migration Hub Orchestrator 一节

配置您的目标数据库

在完成评测、规划和准备数据库迁移策略后,在配置 Amazon RDS for SQL Server 数据库时,请遵循以下最佳实践:

  • 根据您对 CPU、内存、IOPS 和存储类型的要求调整 Amazon RDS for SQL Server 数据库实例的大小。(如果您使用的是 SQL Server 标准版,请在标准版的限制范围内配置 CPU 和内存。)

  • 设置正确的时区和排序规则。

  • 确保在正确的虚拟私有云 (VPC) 中启动 Amazon RDS。

  • 使用正确的端口和 IP 地址创建安全组。

  • 在私有子网中配置 Amazon RDS 数据库以提高安全性。

  • 如果可能,请使用最新版本的 SQL Server 配置 SQL Server 实例。

  • 为每个 Amazon RDS 数据库创建单独的选项组和参数组。

  • 收集和提取用于迁移的登录名、用户和角色。

  • 查看 SQL Server Agent 作业,了解需要迁移的维护和应用程序。

从源数据库进行备份

有许多工具可以将 SQL Server 数据库迁移到 Amazon RDS for SQL Server 数据库。如果您的要求允许停机,最常用的方法是使用 SQL Server 本机备份和还原。

如果停机时间有限,则可以使用本机 SQL Server 备份/恢复以及差异备份和日志备份。或者您可以使用 AWS DMS,它提供三个选项:满载、满载和 CDC,或者仅限 CDC。

将数据泵转储文件传输到 AWS

  • 如果您使用的是可在本地环境和 AWS 之间提供高带宽连接 AWS Direct Connect,则可以将 SQL Server 备份复制到 Amazon S3 并设置 Amazon S3 集成

  • 如果您经过 AWS Direct Connect 的带宽不高,请使用 AWS Snowball 传输大型数据库备份文件。当需要复制时,也可以使用 AWS DMS 来传输数据。

将数据恢复到目标数据库

  • 如果您要迁移非常大的数据库,我们建议您在迁移期间先配置一个更大的 Amazon RDS 实例类型,以加快数据加载速度。

  • 禁用多可用区。(迁移后可以重新启用。)

  • 禁用备份保留。(迁移后可以重新启用。)

  • 使用本机 SQL Server 还原命令恢复数据库。

  • 创建登录名和用户,并根据需要修复孤立用户。

  • 根据需要创建 SQL Server Agent 作业并查看时间表。

迁移后步骤

完成迁移后,您可以:

  • 将数据库实例更改为大小合适的实例类型。

  • 启用多可用区和备份保留。

  • 确保所有任务均在辅助节点上创建(用于多可用区配置)。

  • 向 Amazon CloudWatch Logs 发布 SQL Server 错误和代理日志,并使用 CloudWatch 查看指标和创建警报。有关更多信息,请参阅 Amazon RDS 文档

  • 启用增强监测功能实时获取数据库实例的指标。

  • 为提醒设立 Amazon Simple Notification Service (Amazon SNS) 主题。

测试迁移

我们建议您进行以下测试,以便根据新的 Amazon RDS for SQL Server 数据库验证您的应用程序:

  • 执行功能测试。

  • 比较源数据库和目标数据库中 SQL 查询的性能,并根据需要调整查询。有些查询在目标数据库中的执行速度可能会更慢,因此我们建议您在源数据库中捕获 SQL 查询的基准。

为了在概念验证 (POC) 阶段进行其他验证,我们建议进行以下补充测试:

  • 运行性能测试以确保它们符合您的业务期望。

  • 测试数据库失效转移、恢复和修复,确保满足 RPO 和 RTO 要求。

  • 列出所有关键任务和报告,并在 Amazon RDS 上运行它们,以根据您的服务水平协议 (SLA) 评估其性能。

操作和优化您的 Amazon RDS 数据库

当您的数据库在 AWS 上时,请确保遵循云中监控、警报、备份和高可用性等领域的最佳实践。例如:

  • 设置 CloudWatch 监控并启用详细监控。

  • 使用 Amazon RDS 性能详情和其他第三方监控解决方案,例如 SentryOneSQL Server 版 Foglight 来监控您的数据库。

  • 使用 SNS 主题设置提醒。

  • 使用 AWS Backup 或本地 SQL Server 备份设置自动备份,然后复制到 Amazon S3。

  • 为了实现高可用性,请设置 Amazon RDS Multi-AZ 特征。

  • 如果您需要只读数据库,请根据需要在相同或跨 AWS 区域内设置只读副本