本教程介绍如何使用 Azure Migrate 发现、评估和迁移 Amazon Web Services (AWS) EC2 实例到Azure VM。
注意
将 AWS VM 迁移到 Azure 的方式与迁移物理服务器相同。
本教程介绍如何执行下列操作:
- 验证迁移的先决条件。
- 准备Azure资源,并为Azure帐户设置权限以使用Azure Migrate。
- 为发现、评估和迁移准备 AWS 弹性计算云(EC2)实例。
- 将 EC2 实例作为物理服务器迁移到 Azure。
如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
发现和评估
建议你先执行 VM 发现和迁移评估,然后再迁移到 Azure。 该评估可帮助你适当调整要迁移到 Azure 的 AWS VM,并预估 Azure 可能的运行成本。
若要设置评测,请执行以下操作:
按照教程设置 Azure 并准备 AWS VM 进行评估。 请注意:
- Azure 迁移和现代化使用密码验证来发现 AWS 实例。 AWS 实例默认不支持密码验证。 需要先启用密码验证,才能发现实例。
- 对于 Windows 计算机,请允许 WinRM 端口 5985 (HTTP)。 这端口允许远程 WMI 调用。
- 对于 Linux 计算机:
- 登录到每台 Linux 计算机。
- 打开 sshd_config 文件:
vi /etc/ssh/sshd_config。 - 在文件中,定位到
PasswordAuthentication行,然后将值改为yes。 - 保存文件并将其关闭。 重启 ssh 服务。
- 如果使用根用户来识别 Linux 虚拟机,请确保虚拟机上允许根用户登录。
- 登录到每台 Linux 计算机。
- 打开 sshd_config 文件:
vi /etc/ssh/sshd_config。 - 在文件中,定位到
PermitRootLogin行,然后将值改为yes。 - 保存文件并将其关闭。 重启 ssh 服务。
- Azure 迁移和现代化使用密码验证来发现 AWS 实例。 AWS 实例默认不支持密码验证。 需要先启用密码验证,才能发现实例。
然后,按照此教程设置 Azure Migrate 项目和设备,以发现和评估 AWS VM。
尽管建议你尝试进行评估,但执行评估并不是迁移 VM 的必需步骤。
先决条件
- 确保要迁移的 AWS VM 正在运行受支持的操作系统 (OS) 版本。 出于迁移目的,AWS 虚拟机被视为物理计算机。 请参阅受支持的操作系统和内核版本,了解物理服务器迁移工作流。 可以使用标准命令(如
hostnamectl或uname -a)检查 Linux VM 的 OS 和内核版本。 建议您在进行迁移之前,执行测试迁移(测试故障转移)以验证 VM 是否按预期运行,然后再继续迁移。 - 要迁移到 Azure,请确保 AWS VM 符合支持的配置。
- 验证复制到 Azure 的 AWS VM 是否符合 Azure VM 要求。
- 将 VM 迁移到 Azure 之前,需要在 VM 上进行一些更改:
准备 Azure 资源以进行迁移
- 验证Azure帐户的权限:Azure帐户需要创建 VM 并写入Azure托管磁盘的权限。
- 有关创建项目并运行发现、评估和迁移所需的 Azure Migrate 内置角色和权限详细信息,请参阅 准备适用于 Azure Migrate 的 Azure 帐户。
- 分配在 Microsoft Entra ID 中注册复制设备的权限。 有关详细信息,请参阅 所需的权限。
- 创建Azure网络:设置Azure虚拟网络。 复制到 Azure 时,会创建 Azure VM 并将其加入到你在设置迁移时指定的 Azure 虚拟网络。
此外,
准备 AWS 实例以便迁移
若要准备好进行 AWS 到 Azure 的迁移,需要准备和部署一个用于迁移的复制设备。 物理服务器迁移(包括 AWS、GCP 或其他云)需要单独的复制设备来执行基于代理的迁移。 无法使用为发现创建的 Azure Migrate 工具来进行物理服务器迁移。
为复制装置准备机器
若准备进行设备部署,请执行以下操作:
设置单独的 EC2 VM 以托管复制设备。 此实例必须运行 Windows Server 2022。 查看设备的硬件、软件和网络要求。
该设备不应安装在要复制的源 VM 上,也不应安装在以前可能已安装的“Azure Migrate: 发现和评估”设备上。 它应部署在其他 VM 上。
要迁移的源 AWS 虚拟机应具备到复制设备的网络视距。 配置所需的安全组规则来启用此功能。 建议将复制设备部署在与要迁移的源 VM 相同的虚拟私有云 (VPC) 中。 如果复制工具需要位于其他 VPC 中,则必须通过 VPC 对等连接来连接这些 VPC。
源 AWS VM 在端口 HTTPS 443(控制通道编排)和 TCP 9443(数据传输)上与复制设备进行入站通信,以便管理复制和传输复制数据。 然后,复制设备会通过端口 HTTPS 443 出站来协调复制数据并将该数据发送到 Azure。 若要配置这些规则,请编辑安全组入站/出站规则,在其中加入相应的端口和源 IP 信息。
查看复制设备访问公共和由世纪互联运营的 Azure云所需的 Azure URL。
将 EC2 实例迁移为物理服务器
完成上述要求后,可以开始将 AWS EC2 实例迁移为物理服务器。 有关详细信息,请参阅 迁移在其他云中运行的物理服务器或服务器。
故障排除和提示
问题:我在已发现的要迁移的服务器列表中看不到 AWS VM。
答: 请检查复制设备是否满足要求。 确保在要迁移的源 VM 上安装移动代理并注册配置服务器。 检查网络设置和防火墙规则,启用复制设备与源 AWS VM 之间的网络路径。
问题:如何知道我的 VM 是否已成功迁移?
答案:迁移后,你可从“虚拟机”页面查看和管理 VM。 连接到已迁移的 VM 进行验证。
问题:我无法从之前创建的服务器评估结果中导入 VM 进行迁移。
答案:目前,我们不支持为此工作流导入评估。 临时解决方法是,导出评估,然后在“启用复制”步骤期间手动选择 VM 建议。
问题:我在尝试发现我的 AWS VM 时收到“未能提取 BIOS GUID”错误。
答: 始终使用根登录进行身份验证,而不是使用任何伪用户。 另外,请查看 AWS VM 支持的操作系统。
问题:我的复制状态没有进展。
答: 请检查复制设备是否满足要求。 确保已在复制设备 TCP 端口 9443 和 HTTPS 443 上启用了所需端口以进行数据传输。 确保没有过期的冗余复制系统版本连接到同一项目中。
问题:我无法使用 Azure 迁移和现代化来发现 AWS 实例,原因是远程 Windows 管理服务出现 HTTP 状态代码 504。
答案:请确保满足 Azure Migrate 设备要求和 URL 访问需求。 确保没有代理设置阻止设备注册。
问题:在将 AWS VM 迁移到 Azure 之前是否需要进行任何更改?
答案:在将 EC2 VM 迁移到 Azure 之前,可能需要进行以下更改:
- 如果使用 cloud-init 进行 VM 预配,可以先在 VM 上禁用 cloud-init,再将其复制到 Azure。 由 cloud-init 在 VM 上执行的预配步骤可能特定于 AWS,将在迁移到 Azure 后失效。
- 如果 VM 是半虚拟化 (PV) VM 而不是硬件 VM,则可能无法按原样在 Azure 上运行它。 PV VM 在 AWS 中使用自定义启动序列。 在迁移到 Azure 之前,可以通过卸载 PV 驱动程序来克服此挑战。
- 强烈建议在最终迁移之前进行测试迁移。
问题:是否可以迁移运行 Amazon Linux 操作系统的 AWS VM?
答案:由于只有 AWS 支持 Amazon Linux OS,因此无法按原样迁移运行 Amazon Linux 的 VM。
若要迁移在 Amazon Linux 上运行的工作负荷,可以在 Azure 中启动 RHEL VM。 然后,你可以使用相关的工作负荷迁移方法迁移在 AWS Linux 计算机上运行的工作负荷。 例如,取决于工作负荷,可能会有特定工具来帮助迁移。 对于数据库,可以使用这些工具;对于 Web 服务器,则可以使用部署工具。
后续步骤
在 Azure 云采用框架中调查云迁移旅程。