

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

# 使用迁移微软 SQL Server Always On 可用性组 AWS Application Migration Service
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn"></a>

*Sreenivas Nettem、Bharath Kumar Pammi Ramesh、Anantharaman Seshadri 和 Gireesh Sreekantan，Amazon Web Services*

## Summary
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-summary"></a>

AWS Application Migration Service (AWS MGN) 是重新托管中现有环境的首选工具 AWS Cloud，它允许客户离开本地数据中心。此模式概述了使用 AWS MGN 迁移带有 Microsoft SQL Server Always On 可用性组的 Windows 群集的过程。

## 先决条件和限制
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-prereqs"></a>

**先决条件**
+ 活跃 AWS 账户的.
+ 用于 AWS MGN 编排的 AWS Identity and Access Management (IAM) 角色。
+ 有权限访问源数据库服务器（SQL Server Always On 可用性组）。
+  AWS 着陆区中的 Active Directory 用于保留 DNS 名称。
+ 可与 Active Directory 进行封闭网络通信的暂存子网。
+ 可与 Active Directory 通信的目标子网。
+ 在目标子网中为 Windows 集群保留两个 IP 地址（每个可用区一个）。
+ 在目标子网中为 SQL Always On 侦听器保留两个 IP 地址（每个可用区一个）。

**产品版本**
+ Windows 服务器 2012 或更高版本
+ SQL Server 2012 或更新

## 架构
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-architecture"></a>

**源技术堆栈**

Microsoft Windows 集群（本地物理机或虚拟机）Microsoft SQL Server Always On 可用性组

**目标技术堆栈**

亚马逊 EC2 Windows 实例

**目标架构**

![使用 AWS MGN 迁移 SQL Server Always On 可用性的 AWS 架构。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/aa94040b-5ecf-42f9-90e3-929d0fa5e715/images/0b85c613-51df-475b-9598-3da3f9cd47c6.png)


## 工具
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-tools"></a>

*AWS 服务*
+ [亚马逊弹性计算云 (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 在中提供可扩展的计算容量 AWS Cloud。您可以根据需要启动任意数量的虚拟服务器，并快速纵向扩展或缩减这些服务器。
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)帮助您将应用程序重新托管（移动）到， AWS Cloud 无需更改且停机时间最短。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 通过控制谁经过身份验证并有权使用 AWS 资源，从而帮助您安全地管理对资源的访问权限。

*其他工具*
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms) 是一款用于管理 SQL Server 的工具，包括访问、配置和管理 SQL Server 组件。

## 最佳实践
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-best-practices"></a>

有关 AWS MGN 的信息，请参阅[最佳实践。 AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/best_practices_mgn.html)

## 操作说明
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-epics"></a>

### 准备目标账户
<a name="prepare-the-target-account"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 初始化 AWS MGN。 | 在目标 AWS 区域中初始化 AWS MGN。这将创建所需的 IAM 角色和策略。有关更多信息，请参阅[使用控制台初始化 Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mgn-initialize-console.html)。 | 云管理员 | 
| 创建复制和启动模板。 | 配置与 AWS MGN 一起使用的复制和启动模板。有关更多信息，请参阅 AWS 文档[中的配置模板](https://docs.aws.amazon.com/mgn/latest/ug/mgn-initialization-templates.html)。 | 云管理员 | 
| 允许通信端口。 | 要启用 AWS MGN 的网络通信，请允许通过 TCP 端口 443 和 1500 进行流量。有关更多信息，请参阅 AWS 文档中的[应用程序迁移服务的网络要求](https://docs.aws.amazon.com/mgn/latest/ug/Network-Requirements.html)。 | 云管理员、网络管理员 | 

### 准备源服务器
<a name="prepare-the-source-server"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 验证 AWS MGN 先决条件。 | 验证源服务器是否满足 AWS MGN 代理安装的先决条件。有关更多信息，请参阅 AWS 文档中的[安装要求](https://docs.aws.amazon.com/mgn/latest/ug/installation-requirements.html)。 | 迁移工程师 | 
| 安装 AWS MGN 代理。 | 在源服务器上安装 AWS MGN 代理。在安装过程中，选择服务器的迁移 AWS 区域 位置。安装后，代理将与服务通信并开始复制。有关更多信息，请参阅[在 Windows 服务器上安装 AWS 复制代理](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html)。 | 迁移工程师 | 
| 检查源服务器的状态。 | 在 AWS MGN 控制台中，检查源服务器的状态。复制开始时，服务器会显示**已准备就绪，可进行测试**。<br />如果您遇到任何错误，请参阅 AWS MGN 文档中的[通信错误疑难解答](https://docs.aws.amazon.com/mgn/latest/ug/Troubleshooting-Communication-Errors.html)。 | 云管理员、迁移工程师 | 
| 优化复制设置。 | SQL Always On 群集使用从主服务器到辅助服务器的高 I/O 同步复制。若要优化复制并避免延迟，请为每个 SQL Always On 服务器使用[专用的复制服务器](https://docs.aws.amazon.com/mgn/latest/ug/replication-settings-template.html)。<br />**如果数据库大于 5 TB，请考虑选择更大的复制服务器实例，例如 **m5.large**，而不是默认的 t3.small**。 | 云管理员、迁移工程师 | 
| 创建启动模板。 | 更新[启动设置](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html)，并为 SQL Always On 服务器选择子网。 AWS 可用区 为了实现高可用性，SQL Always On 群集服务器分布在不同的服务器上。 | 迁移工程师、迁移主管 | 
| 更新启动设置。 | 根据您的大小和性能要求，在启动设置中更新实例类型和每秒 input/output 操作数 (IOPS)。<br />（可选）在启动设置中选择现有的弹性网络接口。 | 迁移工程师、迁移主管 | 

### 测试割接
<a name="test-cutover"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 验证源服务器。 | 在 AWS MGN 控制台中，验证源服务器状态是否为 “**准备测试**”。 | 云管理员、迁移工程师 | 
| 启动测试实例。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-always-on-group-using-mgn.html) | 云管理员、迁移工程师 | 
| 测试连通性和数据库完整性。 | 对测试实例的连通性和数据库完整性进行测试。然后在 M AWS GN 控制台中将源服务器标记为 “**准备好切换**”。 | 云管理员、迁移工程师 | 

### 预迁移任务
<a name="pre-migration-tasks"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 测试数据库的完整性。 | 这有助于确保在迁移之前，源数据库没有完整性问题。运行 `DBCC CHECKDB` 并指定 `WITH_PHYSICAL_ONLY`。在不使用 `WITH_PHYSICAL_ONLY` 的情况下运行此检查，可能导致源端出现性能问题。为维护数据库完整性，请每周对数据库进行一次全面检查。<br />这些命令通过检测潜在的损坏问题来检查数据库的逻辑和物理完整性。检查时会验证数据库的结构，例如页面、行、索引和系统表。 | 数据工程师、数据库管理员 | 
| 测试与链接服务器的连接。 | 测试所有现有服务器之间的连接，并记录其状态。这有助于确保链接服务器在迁移后仍按预期运行。 | 数据工程师、数据库管理员 | 
| 验证备份。 | 确认源备份的完整性。 | 数据工程师、数据库管理员 | 

### AWS MGN 切换
<a name="aws-mgn-cutover"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 停止 SQL 服务器和集群服务。 | 停止所有 SQL 集群节点上的 SQL Server 和 Microsoft 集群服务。 | 数据库管理员、迁移工程师 | 
| 验证服务器。 | **在 AWS MGN 控制台中，验证源服务器的状态是否为 “**准备切换**”，以及数据复制状态是否为 “正常”。** | 迁移工程师 | 
| 启动割接。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-always-on-group-using-mgn.html)有关更多信息，请参阅 AWS MG [N 文档中的启动直接转换实例](https://docs.aws.amazon.com/mgn/latest/ug/launch-cutover-gs.html)。 | 迁移工程师 | 
| 测试启动的服务器。 | 登录已启动的 Amazon EC2 实例并验证集群的运行状况。确认服务器位于正确的子网中、实例大小和 IOPS 设置正确，且见证服务器可供访问。 | 数据库管理员、迁移工程师 | 

### 数据库割接后任务
<a name="database-post-cutover-tasks"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 更新集群 IP 地址。 | 使用目标子网中保留的两个 IP 地址更新 Windows 集群的集群 IP 地址。有关更多信息，请参阅[更改失效转移集群实例的 IP 地址](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/change-the-ip-address-of-a-failover-cluster-instance?view=sql-server-2016)。 | 数据库管理员、迁移工程师 | 
| 更新 Always On 可用性组侦听器 IPs。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-always-on-group-using-mgn.html) | 数据库管理员、迁移工程师 | 
| 验证连接。 | 使用 SSMS 连接到 Always On 可用性组侦听器，并确认连接成功。 | 数据库管理员、迁移工程师 | 
| 检查 Always On 可用性组的运行状况。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-always-on-group-using-mgn.html) | 数据库管理员、迁移工程师 | 
| 检查错误日志。 | 打开错误日志，并验证所报告的有关 SQL Server 实例的所有错误。确保所有数据库的恢复工作都已完成。 | 数据库管理员、迁移工程师 | 
| 测试链接的服务器。 | 测试与链接服务器的连接。如果出现任何连接问题，请确保可以访问目标服务器和端口。 | 数据库管理员、迁移工程师 | 

### 完成割接
<a name="finalize-the-cutover"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 完成割接。 | 验证目标 SQL Always On 集群后，通过 AWS MGN 控制台[完成](https://docs.aws.amazon.com/mgn/latest/ug/launch-cutover-gs.html#revert-finalize-cutover-gs)切换。这将停止从源服务器复制数据，并丢弃复制服务器中的数据。还会移除复制服务器及其关联资源。 | 云管理员、迁移工程师 | 

## 问题排查
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-troubleshooting"></a>


| 问题 | 解决方案 | 
| --- | --- | 
| AWS MGN 疑难解答 | 有关常见问题和解决方案，请参阅 AWS MGN 文档中的[故障排除](https://docs.aws.amazon.com/mgn/latest/ug/troubleshooting.html)和[常见问题解答](https://docs.aws.amazon.com/mgn/latest/ug/FAQ.html)部分。 | 

## 相关资源
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-resources"></a>

*AWS resources*
+ [选项 1 重新托管-() AWS Application Migration ServiceAWS](https://catalog.us-east-1.prod.workshops.aws/workshops/c6bdf8dc-d2b2-4dbd-b673-90836e954745/en-US/04-application-migration/01-mgn)
+ [什么是 AWS Application Migration Service？](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)

*SQL Server 资源*
+ [什么是 SQL Server Management Studio（SSMS）？](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms)

## 附加信息
<a name="migrate-microsoft-sql-server-always-on-group-using-mgn-additional"></a>

有关将工作负载迁移到的标准安全要求 AWS Cloud，请参阅 AWS 网站上的[安全、身份和合规性最佳实践](https://aws.amazon.com/architecture/security-identity-compliance/)。