AWS Server Migration Service
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Azure 上安装 服务器迁移连接器

本主题介绍设置 AWS SMS 以将虚拟机从 Azure 迁移到 Amazon EC2 的步骤。此信息只适用于由 Azure 托管的虚拟机。有关从其他环境中迁移虚拟机的信息,请参阅在 VMware 上安装 服务器迁移连接器在 Hyper-V 上安装 服务器迁移连接器

迁移方案的注意事项

  • 单个 服务器迁移连接器 设备只能迁移一个订阅和一个 Azure 区域中的虚拟机。

  • 在部署 服务器迁移连接器 设备后,您无法更改其订阅或区域,除非您在新订阅/区域中部署另一个连接器。

  • AWS SMS 支持部署任意数量的 服务器迁移连接器 设备虚拟机,以支持从多个 Azure 订阅和区域中并行地进行迁移。

以下过程假定您已创建一个正确配置的 IAM 用户,如配置 AWS SMS 权限和角色中所述。

步骤 1:下载连接器安装脚本

AWS SMS 提供一个可下载的 Powershell 脚本以在 Azure 环境中部署连接器。该脚本由 AWS 加密签名。请完成该过程以运行该 Powershell 脚本,并在 Azure 环境中自动安装连接器。该脚本需要使用 PowerShell 5.1 或更高版本。

注意

AWS 建议使用脚本化安装,但也可以手动安装连接器。有关更多信息,请参阅 (替代过程)手动部署 服务器迁移连接器

下载脚本和哈希文件

  1. 从以下 URL 中下载 Powershell 脚本和哈希文件:

  2. 在下载后,将文件传输到您计划运行该脚本的计算机上。

步骤 2:验证脚本文件的完整性和加密签名

在运行脚本之前,我们建议您验证其完整性和签名,从而确保在传输到您的计算机时没有对其进行更改。这些过程假定您已下载脚本和哈希文件,在打算运行脚本的计算机的桌面上安装了脚本和哈希文件,并且您以管理员身份进行登录。您可能需要修改过程来匹配您的设置。

使用加密哈希验证脚本完整性 (PowerShell)

  1. 使用下载的一个或两个哈希文件验证脚本文件的完整性。

    1. 要使用 MD5 哈希进行验证,请在 PowerShell 窗口中运行以下命令:

      PS C:\Users\Administrator> Get-FileHash aws-sms-azure-setup.ps1 -Algorithm MD5

      这应该返回类似于以下内容的信息:

      Algorithm Hash --------- ---- MD5 1AABAC6D068EEF6EXAMPLEDF50A05CC8
    2. 要使用 SHA256 哈希进行验证,请在 PowerShell 窗口中运行以下命令:

      PS C:\Users\Administrator> Get-FileHash aws-sms-azure-setup.ps1 -Algorithm SHA256

      这应该返回类似于以下内容的信息:

      Algorithm Hash --------- ---- SHA256 6B86B273FF34FCE19D6B804EFF5A3F574EXAMPLE22F1D49C01E52DDB7875B4B
  2. 将返回的哈希值与下载的文件 aws-sms-azure-setup.ps1.md5aws-sms-azure-setup.ps1.sha256 中提供的值进行比较。

接下来,使用 PowerShell 或 Windows 用户界面检查脚本文件是否包含来自 AWS 的有效签名。

检查脚本文件是否包含有效的加密签名 (PowerShell)

  • 在 PowerShell 窗口中,运行以下命令:

    PS C:\Users\Administrator> Get-AuthenticodeSignature aws-sms-azure-setup.ps1 | Select *

    正确签名的脚本文件应返回类似以下内容的信息:

    SignerCertificate : [Subject] CN="Amazon Web Services, Inc." ... [Issuer] CN=DigiCert EV Code Signing CA (SHA2), OU=www.digicert.com, O=DigiCert Inc, C=US ... TimeStamperCertificate : Status : Valid StatusMessage : Signature verified. Path : C:\Users\Administrator\Desktop\aws-sms-azure-setup.ps1 ...

检查脚本文件是否包含有效的加密签名 (Windows GUI)

  1. 在 Windows 资源管理器中,在脚本文件上打开上下文 (右键单击) 菜单,然后依次选择 PropertiesDigital SignaturesAmazon Web ServicesDetails

  2. 确认显示的信息包含“This digital signature is OK”并且“Amazon Web Services, Inc.”是签名者。

步骤 3:运行脚本

从安装了 PowerShell 5.1 或更高版本的任何计算机运行此脚本。

注意

如果您的 PowerShell 执行策略设置为验证签名的脚本,则系统将会在您运行连接器配置脚本时提示您输入授权。验证该脚本是由“Amazon Web Services, Inc.”发布的,然后选择“R”运行一次。您可以使用 Get-ExecutionPolicy 查看此设置并使用 Set-ExecutionPolicy 修改它。

PS C:\Users\Administrator> .\aws-sms-azure-setup.ps1 -StorageAccountName name -ExistingVNetName name -SubscriptionId id -SubnetName name
StorageAccountName

要部署连接器的存储账户的名称。

ExistingVNetName

要在其中部署连接器的虚拟网络的名称。

SubscriptionId

(可选)要使用的订阅的 ID。如果您未指定此参数,则使用账户的默认订阅。

SubnetName

(可选)虚拟网络中的子网的名称。如果您未指定此参数,则使用名为“default”的子网。

在脚本提示输入 Azure 登录名时,请使用具有部署该连接器的订阅的管理员权限的登录名。

在脚本完成时,将在您的账户中部署连接器。该脚本会输出连接器的私有 IP 地址以及连接器虚拟机的系统已分配身份的对象 ID。您需要这两项才能完成下一个步骤。

步骤 4:配置连接器

从在其中部署连接器的同一虚拟网络上的另一个虚拟机中,使用以下 URL 浏览到连接器的 Web 界面,其中包括您在上一步中获得的连接器的私有 IP 地址:

https://ip-address-of-connector

配置连接器

  1. 在连接器登录页面上,选择 Get started now (立即开始)

  2. 阅读许可协议,选中复选框,然后选择 Next

  3. 为连接器创建密码。密码必须符合显示的标准。选择 Next

  4. Network Info (网络信息) 页面上,您可以找到有关执行网络相关任务(例如,设置连接器的 AWS 代理)的说明。选择 Next

  5. Log Uploads (日志上传) 页面上,选择 Upload logs automatically (自动上传日志),然后选择 Next (下一步)

  6. Server Migration Service 页面上,提供以下信息:

    • 对于 AWS Region,从列表中选择您的区域。

    • 对于 AWS Credentials (AWS 凭证),输入您在配置 AWS SMS 权限和角色中创建的 IAM 凭证。选择 Next

  7. Azure Account Verification (Azure 账户验证) 页面上,验证您的 Azure 订阅 ID 和位置是否正确。此连接器可根据此订阅和位置迁移虚拟机。提供连接器虚拟机的系统分配身份的对象 ID,它是作为部署脚本的输出提供的。

  8. 如果已成功设置连机器,则将显示 Congratulations (恭喜) 页面。要查看连机器的运行状况,请选择 Go to connector dashboard (转到连接器控制面板)

  9. 要验证是否列出了您注册的连接器,请在 Systems Manager 控制台上打开 Connectors (连接器) 页面。

(替代过程)手动部署 服务器迁移连接器

完成此过程可在 Azure 环境中手动安装连接器。

手动安装连接器

  1. 以具有部署该连接器的订阅的管理员权限的用户身份登录到 Azure 门户。

  2. 确保您已准备好提供存储账户、其资源组、虚拟网络和 Azure 区域,如中Azure 连接器的要求所述。

  3. 从下表中的 URL 下载连接器 VHD 和关联的文件。

  4. 使用与步骤 2:验证脚本文件的完整性和加密签名中描述的过程类似的过程,验证连接器 VHD 的加密完整性。

  5. 将连接器 VHD 和关联的文件上传到您的存储账户中。

  6. 使用以下参数值创建新的托管磁盘:

    • Resource Group (资源组):选择您的资源组

    • Name (名称):任何名称 - 例如,sms-connector-disk-westus

    • Region (区域):选择您的 Azure 区域

    • Availability Zone (可用区):无

    • Source Type (源类型):存储 Blob(选择您在步骤 3.c 中上传的 VHD Blob。)

    • OSType:Linux

    • Size (大小):60 GB/标准 HDD

  7. 选择 Create VM (创建虚拟机),以从创建的托管磁盘中创建新的虚拟机。分配以下参数值。

    Basics (基本信息) 选项卡下面:

    • Resource Group (资源组):输入您的资源组

    • Virtual Machine Name (虚拟机名称):任何名称,例如 sms-connector-vm-westus

    • Region (区域):选择您的 Azure 区域

    • Size (大小):F4s

    • Public Inbound Ports (公共入站端口):无

    Disks (磁盘) 选项卡下面:

    • OS Disk Type (OS 磁盘类型):标准 HDD

    Networking (联网) 选项卡下:

    • Virtual Network (虚拟网络):输入您的虚拟网络名称

    • Subnet (子网):保留为默认值,或选择特定的子网

    • Public IP (公有 IP):保留为“新”

    • NIC Network Security Group (NIC 网络安全组):基本

    • Public Inbound Ports (公共入站端口):无

    • 接受其余字段的默认值。

    Management (管理) 选项卡下:

    • Boot Diagnostics (启动诊断):开启

    • OS Guest Diagnostics (OS 访客诊断):关闭

    • Diagnostics Storage account (诊断存储账户):存储账户

    • System Assigned Managed Identity (系统分配的托管身份):开启

    • Enable auto-shutdown (启用自动关闭):关闭

  8. 审核和创建虚拟机。这将是您的连接器虚拟机。

  9. 下载两个角色文档:

  10. (重要提示)自定义角色文档。

    编辑 SMSConnectorRole.json。将 name 字段更改为 sms-connector-role-subscription_id。然后更改 AssignableScopes 字段以与您的订阅 ID 匹配。

    编辑 SMSConnectorRoleSA.json。将 name 字段更改为 sms-connector-role-storage_account。例如,如果您的账户为 testStorage,则名称字段必须为 sms-connector-role-testStorage。然后,更改 AssignableScopes 字段以与您的订阅、资源组和存储账户值匹配。

  11. 创建角色定义。目前,无法从 Azure 门户中创建角色定义。对于该步骤,您必须使用 Az CLI 或 Az PowerShell。利用 New-AzRoleDefinition (Az PowerShell) 或 az role definition create (Az CLI) 命令,使用上一步中创建的 JSON 文件在您的订阅中创建这些自定义角色。

  12. 将角色分配给连接器虚拟机。在 Azure 门户中,选择 Storage Account (存储账户)Access Control (访问控制)Roles (角色)Add (添加)Add Role Assignment (添加角色分配)。选择角色 sms-connector-role,分配对虚拟机 的访问权限,并从列表中选择连接器虚拟机的系统已分配身份。对角色 sms-connector-role-storage_account 重复此过程。

  13. 重新启动连接器虚拟机以激活角色分配。

  14. 继续浏览步骤 4:配置连接器