你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍如何使用 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 Migrate and Modernize 使用密码验证来发现 AWS 实例。 AWS 实例默认不支持密码验证。 需要先启用密码验证,才能发现实例。
- 对于 Windows 计算机,请允许 WinRM 端口 5985 (HTTP)。 这端口允许远程 WMI 调用。
- 对于 Linux 计算机:
- 登录到每台 Linux 计算机。
- 打开“sshd_config”文件:。
vi /etc/ssh/sshd_config - 在文件中,定位到
PasswordAuthentication行,然后将值改为yes。 - 保存文件并将其关闭。 重启 ssh 服务。
- 如果使用根用户来发现 Linux VM,请确保 VM 上允许根登录。
- 登录到每台 Linux 计算机。
- 打开“sshd_config”文件:。
vi /etc/ssh/sshd_config - 在文件中,定位到
PermitRootLogin行,然后将值改为yes。 - 保存文件并将其关闭。 重启 ssh 服务。
- Azure Migrate and Modernize 使用密码验证来发现 AWS 实例。 AWS 实例默认不支持密码验证。 需要先启用密码验证,才能发现实例。
然后,按照 本教程 设置 Azure Migrate 项目和设备来发现和评估 AWS VM。
尽管建议你尝试进行评估,但执行评估并不是迁移 VM 的必需步骤。
若要规划将 AWS 工作负载迁移到 Azure,请参阅 将计算资源从 Amazon Web Services 迁移到 Azure,其中包括可能适合你的使用场景的 示例迁移方案。
先决条件
- 确保要迁移的 AWS VM 正在运行受支持的操作系统 (OS) 版本。 出于迁移目的,AWS VM 被视为迁移的物理计算机。 请参阅受支持的操作系统和内核版本,了解物理服务器迁移工作流。 可以使用标准命令(如
hostnamectl或uname -a)检查 Linux VM 的 OS 和内核版本。 建议执行测试性迁移(测试性故障转移),验证 VM 是否按预期运行,然后再继续迁移。 - 确保 AWS VM 符合迁移到 Azure 时支持的配置 。
- 验证复制到 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 应具有到复制设备的网络线路。 配置所需的安全组规则来启用此功能。 建议将复制设备部署在与要迁移的源 VM 相同的虚拟私有云 (VPC) 中。 如果复制设备需要位于其他 VPC 中,则必须通过 VPC 对等互连来连接这些 VPC。
源 AWS VM 在端口 HTTPS 443(控制通道业务流程)和 TCP 9443(数据传输)上与复制设备进行入站通信,从而管理复制和传输复制数据。 然后,复制设备会通过端口 HTTPS 443 出站来协调复制数据并将该数据发送到 Azure。 若要配置这些规则,请编辑安全组入站/出站规则,在其中加入相应的端口和源 IP 信息。
将 EC2 实例迁移为物理服务器
完成上述要求后,可以开始将 AWS EC2 实例迁移为物理服务器。 有关详细信息,请参阅 迁移在其他云中运行的物理服务器或服务器。
故障排除和提示
问题:我在已发现的要迁移的服务器列表中看不到 AWS VM。
答案:请检查复制设备是否满足要求。 确保在要迁移的源 VM 上安装移动代理并注册配置服务器。 检查网络设置和防火墙规则,启用复制设备与源 AWS VM 之间的网络路径。
问题:如何知道我的 VM 是否已成功迁移?
答案:迁移后,你可从“虚拟机”页面查看和管理 VM。 连接到已迁移的 VM 进行验证。
问题:我无法从之前创建的服务器评估结果中导入 VM 进行迁移。
答案:目前,我们不支持为此工作流导入评估。 临时解决方法是,导出评估,然后在“启用复制”步骤期间手动选择 VM 建议。
问题:我在尝试发现我的 AWS VM 时收到“未能提取 BIOS GUID”错误。
答案:始终使用根登录进行身份验证,而不是使用任何伪用户。 另外,请查看 AWS VM 支持的操作系统。
问题:我的复制状态没有进展。
答案:请检查复制设备是否满足要求。 确保已在复制设备 TCP 端口 9443 和 HTTPS 443 上启用了所需端口以进行数据传输。 确保没有复制设备的陈旧重复版本连接到同一项目。
问题:我无法使用 Azure Migrate and Modernize 来发现 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 的云采用框架中调查 云迁移过程 。