EC2 使用应用程序迁移服务将本地 Microsoft SQL Server 数据库迁移到亚马逊 - AWS Prescriptive Guidance

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

EC2 使用应用程序迁移服务将本地 Microsoft SQL Server 数据库迁移到亚马逊

Senthil Ramasamy,亚马逊 Web Services

摘要

此模式描述了将 Microsoft SQL Server 数据库从本地数据中心迁移到亚马逊弹性计算云 (Amazon EC2) 实例的步骤。它使用 AWS Application Migration Service (AWS MGN) 通过自动 lift-and-shift迁移来重新托管您的数据库。 AWS MGN 对源数据库服务器执行块级复制。

先决条件和限制

先决条件

  • 活跃的 AWS 账户

  • 本地数据中心的源 Microsoft SQL Server 数据库

限制

  • 您的本地数据中心和之间的网络带宽可能会受到限制 AWS。

  • AWS MGN 仅限于托管在具有专用存储空间的独立服务器上的数据库。它不支持迁移群集数据库系统和变化率超过网络吞吐量的数据库系统。

  • 有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅AWS 服务 按地区划分。有关特定终端节点,请参阅服务终端节点和配额页面,然后选择服务的链接。

产品版本

  • 所有版本的微软 SQL Server 数据库

  • 支持 AWS MG N 的 Windows 和 Linux 操作系统

架构

源技术堆栈

本地 Microsoft SQL Server 数据库

目标技术堆栈

亚马逊 EC2 实例上的微软 SQL Server 数据库

目标架构

将数据从本地企业数据中心复制到 AWS。

此架构使用 AWS MGN 将数据从本地企业数据中心复制到。 AWS该图显示了数据复制过程、API 通信以及测试和转换阶段。

  1. 数据复制:

    • AWS MGN 将数据从本地企业数据中心复制到 AWS 并启动变更的持续复制。

    • 暂存子网中的复制服务器接收和处理数据。

  2. API 通信:

    • 复制服务器通过 TCP 端口 443 连接到 AWS MGN EC2、亚马逊和亚马逊简单存储服务 (Amazon S3) Simple Storage API 终端节点。

    • AWS MGN 负责管理迁移。

    • Amazon EC2 管理实例操作。

  3. 测试和切换:

    • 使用复制的数据在运行子网中启动测试实例。

    • 成功测试后, AWS MGN 会为最终迁移创建直接转换实例。

工具

  • AWS Application Migration Service (AWS MGN) 可帮助您将应用程序重新托管(移动)到, AWS 云 无需更改且停机时间最短。

  • AWS Direct Connect通过标准的以太网光纤电缆将您的内部网络链接到 Direct Connect 位置。通过此连接,您可以直接创建通往公共 AWS 服务的虚拟接口,同时绕过网络路径中的互联网服务提供商。

  • 亚马逊弹性计算云 (Amazon EC2) 在中提供可扩展的计算容量 AWS 云。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。

  • Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。

最佳实践

  • 在虚拟私有云 (VPC) 中为 AWS MGN EC2、Amazon 和 Amazon S3 设置 API 区域终端节点,以禁止公共访问互联网。

  • 设置 AWS MGN 启动设置以启动私有子网中的目标数据库服务器。

  • 在数据库安全组中仅允许必需的端口。

  • 遵循最低权限原则,授予执行任务所需的最低权限。有关更多信息,请参阅 IAM 文档中的授予最低权限安全最佳实践

操作说明

Task描述所需技能

配置 AWS MGN。

AWS Application Migration Service 在中搜索 AWS Management Console,然后启动设置过程。这将创建一个复制模板并将您重定向到 MGN 控制台的 “源服务器” 页面。配置 MGN 服务时,请从生成的列表中选择一个服务角色。

数据库管理员,迁移工程师

添加源服务器。

添加本地源数据库服务器的详细信息,然后添加服务器。

数据库管理员,迁移工程师

在源服务器上安装 AWS MGN 代理。

将 AWS MGN 代理安装程序下载到本地系统,然后将安装程序传输到源数据库服务器。要验证安装程序哈希值,请参阅验证下载的 Windows 2012 版AWS 复制代理安装程序

数据库管理员,迁移工程师
Task描述所需技能

生成客户端 IAM 证书。

在安装 AWS MGN 代理之前,请通过创建具有相应权限的新 IAM 用户来生成 AWS 证书。

有关更多信息,请参阅 AWS 托管策略 AWS Application Migration Service生成所需 AWS 证书

数据库管理员,迁移工程师

在源服务器上安装代理。

在托管 Microsoft SQL Server 数据库的源计算机上安装代理。有关更多信息,请参阅在 Windows 服务器上安装 AWS 复制代理

提供以下 AWS 证书:

  • AWS 区域

  • AWS 访问密钥 ID

  • AWS 秘密访问密钥

您的唯一 AWS 凭证使 AWS MGN 代理能够进行身份验证和执行迁移任务。

应用程序所有者、数据库管理员、迁移工程师

选择要复制的磁盘。

输入您的 AWS 凭据后,安装程序会验证您的服务器是否满足代理安装的最低要求(例如,服务器是否有足够的磁盘空间来安装 AWS MGN 代理)。安装程序会显示卷标和存储详细信息。

要使用 AWS MGN 服务复制数据库,请在源服务器上选择适用的磁盘。输入每个磁盘的路径,以逗号分隔。如果要复制所有磁盘,请将路径留空。确认所选磁盘后,安装继续进行。

数据库管理员,迁移工程师

监控同步进度。

AWS Replication Agent 首先拍摄所选磁盘的快照,然后复制数据,从而启动同步过程。

您可以从 AWS MGN 控制台的源服务器页面监控同步进度。有关更多信息,请参阅监控迁移生命周期中的服务器

数据库管理员,迁移工程师
Task描述所需技能

管理复制进度。

开始初始同步后,您的源服务器将出现在 AWS MGN 控制台中,您可以在其中管理和监控迁移。控制台显示完成复制的估计时间,该时间基于所选磁盘的总大小和可用网络带宽。

数据库管理员,迁移工程师

验证同步。

源服务器上的磁盘完全同步后,确认所有选定的磁盘都列为已完全同步,并且控制台中没有报告任何错误。

然后, AWS MGN 控制台将自动将迁移生命周期状态转换 AWS 为 “准备测试”,这表明中的复制环境已准备好进行性能和功能测试。

应用程序所有者、数据库管理员、迁移工程师
Task描述所需技能

配置启动设置。

在 AWS MGN 控制台中选择源服务器,然后更新目标测试实例的启动设置。在源服务器详细信息页面上,导航到启动设置选项卡以配置测试实例。

选择经济实惠的实例类型和 Amazon Elastic Block Store (Amazon EBS) 卷类型,然后配置安全组和网络要求。有关更多信息,请参阅启动设置

数据库管理员,迁移工程师

启动目标测试实例。

导航到同步源计算机的 AWS MGN 控制台,然后选择测试并切换,然后启动测试实例,启动目标测试实例

这将创建一个启动作业,该任务使用您配置的设置部署测试实例。该实例将在中启动 AWS 云 并复制您的源数据库服务器的环境。从 “启动历史记录” 页面监控启动进度,您可以在其中跟踪实例创建情况并解决任何问题。

数据库管理员,迁移工程师

验证目标测试实例。

验证 Amazon EC2 数据库服务器:

  1. 确保 AWS MGN 控制台显示测试实例已成功运行。

  2. 使用 RDP 客户端登录。

  3. 从 “开始” 菜单中打开 SQL Server 配置管理器

  4. 验证 SQL Server 服务(包括 SQL Server (MSSQLSERVER) 和 SQL Server 代理)的状态,确保它们完好无损并设置为正确的启动类型。

  5. 比较测试实例和源数据库服务器之间的磁盘设置和配置,确认驱动器号、卷、磁盘分配和必要的目录已正确映射。

  6. 在测试的 Amazon EC2 实例上连接到 SQL Server,确认所有源数据库都已迁移并显示在数据库列表中。

进行验证测试以确保数据库按预期运行。

数据库管理员,迁移工程师

重命名服务器。

AWS MGN 迁移涉及本地源服务器的存储级副本。您的 SQL Server EC2 实例在其二进制文件中仅包含原始源服务器的详细信息,因此请更新二进制信息以反映新服务器的名称。

  1. 使用 SQL Server 管理工作室 (SSMS) 连接到你的 SQL Server EC2 实例。

  2. 检查服务器的名称:

    SELECT @@SERVERNAME AS 'Current Server Name';
  3. 重命名 SQL Server 实例,将其NEW_SERVER_NAME替换为服务器的名称:

    EXEC sp_dropserver 'OLD_SERVER_NAME' EXEC sp_addserver 'NEW_SERVER_NAME', 'local';
  4. 验证服务器名称是否正确:

    SELECT @@SERVERNAME AS 'Updated Server Name';
  5. 重新启动 SQL 服务器实例。

数据库管理员,迁移工程师

启动直接转换实例。

在 AWS MGN 控制台的 “源服务器” 页面上,确认服务器的迁移生命周期状态为 “准备切换”。配置直接转换实例的启动设置,确保这些设置反映您的本地环境。

在启动直接转换之前,请关闭您的本地数据库,这样可以确保以下几点:

  • 所有正在进行的交易都已完成。

  • 在转换过程中不会发生新的交易。

  • 源磁盘和目标磁盘之间的数据同步已完成。

在 AWS MGN 控制台中启动转换实例。当直接转换实例处于运行状态时,请登录该实例并执行以下测试:

  1. 确保 SQL Server 正确启动并且数据库可以访问。

  2. 验证您的数据是否完好无损且与源服务器一致。

  3. 运行任何应用程序测试以确认它们按预期运行。

  4. 在 AWS MGN 控制台中,将迁移状态设置为 “直接转换完成”

  5. 开始将流量路由到 EC2 实例。

应用程序所有者、数据库管理员、迁移工程师、迁移主管

故障排除

事务解决方案

初始同步在身份验证步骤失败。

这是网络连接问题。复制服务器无法连接到 AWS MGN。

相关资源

AWS 文档

视频