使用迁移应用程序Amazon SMS - Amazon Server Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用迁移应用程序Amazon SMS

Amazon Server Migration Service支持从本地数据中心到 Amazon EC2 的多服务器应用程序堆栈的自动迁移。如果通过将单个服务器复制为 Amazon 系统映像 (AMI) 来完成服务器迁移,应用程序迁移会将应用程序中的所有服务器复制为 AMI,并生成 Amazon CloudFormation 模板以协调方式启动它们。

应用程序可以进一步细分为允许您按定义顺序启动服务器层的组。下图提供了数据库支持的 Web 应用程序的示例案例:


            使用组分层启动应用程序。

在本示例中,应用程序分为四个组,每一组有三个服务器。Amazon CloudFormation 模板按以下顺序启动服务器:数据库,文件服务器,Web 服务器和应用程序服务器。

将服务器组织到应用程序和启动组后,您可以指定复制频率、提供配置脚本以及配置要在其中启动它们的目标 VPC。当您启动应用程序时,Amazon SMS 会根据生成的模板配置它。

应用程序迁移依赖于发现 安装服务器迁移连接器中描述的本地资源的过程。将服务器目录导入到Amazon SMS使用服务器迁移连接器,您可以在应用程序的 部分Amazon SMS控制台。还可在 Amazon SMS API、Amazon CLI 或 Amazon 开发工具包中使用 Amazon SMS 的资源执行这些任务。

Considerations

  • 将本地服务器复制到 Amazon 最多可以持续 90 天(每个服务器)。使用时间从开始复制服务器时开始,到终止复制作业时结束。90 天之后,系统会自动终止您的复制作业。您可以从 Amazon Web Services Support 请求一个扩展名。

  • 在 AMI 创建过程中,Amazon SMS设置DeleteOnTermination属性设置为 false,覆盖默认值。您可以在终止实例后手动删除根卷,也可以将属性设置为 true,以便 Amazon EC2 在实例终止时删除根卷。有关更多信息,请参阅 。在实例终止时保留 Amazon EBS 卷中的Amazon EC2 用户指南

  • 支持从 Microsoft Azure 环境迁移应用程序,但是 for Azure 服务器迁移连接器目前不能保证应用程序中服务器快照的高频率。

使用应用程序迁移

您可以执行以下任务。

创建应用程序

创建应用程序

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序

  3. 选择 Create new application

  4. 在存储库的应用程序设置页面上,提供以下信息,然后选择下一步

    • 应用程序名称— 为应用程序指定名称。

    • Application description (应用程序描述)— 可以选择指定应用程序的描述。

    • Role name (角色名称)— 选择允许创建自动化角色有Amazon SMS代表您创建服务相关角色或者使用我自己的角色以指定现有的 IAM 角色。有关更多信息,请参阅 的服务相关角色Amazon SMS。此选项在以下情况下不可用:Amazon SMS已代表您创建服务相关角色。

  5. 在存储库的选择服务器页面上,选择要包括在应用程序中的可用服务器。您可以使用搜索栏按特定值筛选表内容。选择 Next:。向组添加服务器

  6. 在存储库的向组添加服务器页面上,您可以创建组、删除组、将所选服务器从应用程序添加到组,以及从组中删除服务器。未分组服务器与默认组相关联。

    完成以下步骤将一个或多个服务器添加到新组:

    1. 选择要添加到新组的服务器。

    2. 选择 Add servers to group (向组添加服务器)

    3. 选择添加到新组,然后为组提供名称。

    4. 选择 Add。服务器列表现在显示您选择的每个服务器的关联组。

  7. 如果删除组,服务器将与默认组相关联。要删除组,请完成以下步骤:

    1. 选择 Delete group (删除组)

    2. 适用于删除的组下,选择组。

    3. 选择 Delete

  8. 在存储库的添加标签页面上,可选择标记您的应用程序。标签是一个键/值对,它会传播到启动应用程序时创建的所有服务器。选择 Next (下一步)

  9. 在存储库的审核页面上,根据需要编辑您的设置。完成后,选择 Create。在状态页面上,您可以直接进行复制设置的配置。

配置复制设置

为应用程序配置复制设置

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序以查看可用的应用程序。

  3. 选择应用程序的名称。

  4. 依次选择 Actions (操作)Configure replication settings (配置复制设置)

  5. Replication settings (复制设置) 页面上,提供以下信息,然后选择 Next (下一步)

    • 复制任务类型— 指定复制期间(每 1-24 小时)或者选择一次性迁移

    • 启动复制— 选择Immediate安排复制运行以立即启动,或者在以后的时间和日期在指定的日期和时间(在未来 30 天内)开始复制。

    • 启用自动删除 AMI— 要启用自动 AMI 删除,请选择并指定要保留的 AMI 的最大数量(从 1-270)。要禁用自动 AMI 删除,请选择

    • 启用 AMI 加密— 要启用 AMI 加密,请选择并指定加密密钥(使用密钥 ID、Amazon 资源名称或别名),或留空以使用默认密钥进行 EBS 加密。要禁用 AMI 加密,请选择

  6. Server-specific settings (特定于服务器的设置) 页面显示应用程序服务器及其组成员资格。您可以编辑单个服务器的以下服务器设置,或者选择编辑多个服务器以跨组更新这些设置。完成后,选择 Next

    • 许可证类型— 选择AutoAmazon,或者BYOL

    • 静止— [仅限 VMware] 在拍摄 VM 的快照之前,暂停数据输入/输出并存储系统内存状态。

  7. 在存储库的审核页面上,验证复制设置,然后选择Save。在状态页面上,您可以直接进行 Configure settings (配置启动设置)。

配置启动设置

必须先设置虚拟私有云、子网和安全组,然后才能配置网络设置,如RunInstancesAmazon EC2 API 操作。

为应用程序配置启动设置

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序以查看可用的应用程序。

  3. 选择要配置的应用程序的名称,然后选择操作配置启动设置

  4. 在存储库的配置启动设置页面上,提供以下信息,然后选择下一步

    • IAM CloudFormation 角色— 选择允许创建自动化角色有Amazon SMS代表您创建服务相关角色或者使用我自己的角色以指定现有的 IAM 角色。有关更多信息,请参阅 的服务相关角色Amazon SMS。此选项在以下情况下不可用:Amazon SMS已代表您创建服务相关角色。

    • 复制后自动启动— 选择此选项可在复制完成后自动启动应用程序。

    • 指定启动顺序— 为您的组配置启动顺序。

  5. 在存储库的配置目标实例详细信息页面上,可以编辑单个服务器的以下服务器设置,或者选择编辑多个服务器以跨组更新这些设置。完成后,选择 Next

    • 逻辑 ID— 指定Amazon CloudFormation资源 ID 或保留默认值。此参数用作 Amazon SMS 为应用程序生成的 CloudFormation 模板的逻辑 ID。有关更多信息,请参阅 。资源中的Amazon CloudFormation用户指南

    • 实例类型— 为服务器选择 EC2 实例类型。此字段为必填。

    • 密钥对— 选择连接服务器所需的 SSH key pair。此字段为必填。如果 IAM 用户没有ec2:DescribeKeyPairs,则该列表是空的。

    • 配置脚本— 位于 Amazon S3 中的一个配置脚本,在启动作为应用程序的一部分启动的 EC2 实例时要运行。存储桶必须具有以下前缀:sms-app-

    • 脚本类型— 选择Shell 脚本或者PowerShell 脚本

  6. 在存储库的配置目标网络和安全页面上,可以编辑单个服务器的以下服务器设置,或者选择编辑多个服务器以跨组更新这些设置:

    • VPC— 应用程序的虚拟私有云。此字段为必填。如果 IAM 用户没有ec2:DescribeVpcs,则该列表是空的。

    • 子网— 应用程序的子网。此字段为必填。如果 IAM 用户没有ec2:DescribeSubnets,则该列表是空的。

    • 安全组— 应用程序的安全组。此字段为必填。如果 IAM 用户没有ec2:DescribeSecurityGroups,则该列表是空的。

    • 公开访问— 指示应用程序是否应该从 Internet 访问。

    选择应用程序验证配置应用程序验证或审核以跳过此过程的最后一步。

  7. (可选)您可以使用在 EC2 实例上运行验证脚本。Amazon Systems Manager。在存储库的应用程序验证页面上,提供以下信息,然后选择实例验证配置实例验证或审核跳到此过程的最后一步:

    • 验证名称— 验证的名称。

    • Validation 脚本— 验证脚本在 Amazon S3 中的位置。存储桶必须具有以下前缀:sms-app-

    • 脚本类型— 选择Shell 脚本或者PowerShell 脚本

    • SSM 托管实例— EC2 实例的 ID。该实例必须由Amazon Systems Manager并具有以下标签:用户应用程序验证 = true。

    • 输出位置— 在 Amazon S3 中,用于验证脚本输出的位置。存储桶必须具有以下前缀:sms-app-

    • 执行命令— 用于运行脚本的命令(例如./script.sh)。

    • 超时以分钟为单位— 运行脚本所需的最长时间 (1-480)。默认值为 15。

  8. (可选)您可以在 EC2 实例首次启动时使用 Amazon EC2 用户数据运行脚本。在存储库的实例验证和应用程序监控页面上,提供以下信息,然后选择下一步

    • Permissions (权限)— 允许Amazon SMS若要从 Amazon S3 获取验证脚本并使用 EC2 用户数据在实例上运行该脚本,则必须创建一个角色,授予Amazon SMS来自服务器迁移服务实例验证策略。选择使用默认角色策略创建新角色有Amazon SMS代表您创建角色(IAM 用户必须具有管理员权限)或使用现有角色(IAM 用户必须具有将角色传递到ec2.amazonaws.com服务)。

    • CloudWatch Application 监控— 选择为此部署设置监控器和自动化洞察以持续分析数据,以便找出应用程序出现问题的迹象。有关更多信息,请参阅 。Amazon CloudWatch Application Insights中的Amazon CloudWatch 用户指南

    • 验证名称— 验证的名称。

    • Validation 脚本— 验证脚本在 Amazon S3 中的位置。存储桶必须具有以下前缀:sms-app-

    • 脚本类型— 选择Shell 脚本或者PowerShell 脚本

  9. 在存储库的审核页面上,验证启动配置设置,然后选择Save

启动复制

开始复制应用程序

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序以查看可用的应用程序。

  3. 选择要复制的应用程序的名称。

  4. 在应用程序详细信息页上,依次选择 Actions (操作)Start replication (开始复制)

  5. Start replication (开始复制) 窗口中,选择 Start (开始)。复制可以在任何位置进行,需要 30 分钟到数天,具体取决于磁盘大小。在应用程序详细信息页面上,您可以在 Replication status (复制状态) 字段中查看复制的状态。如果复制失败,您可以在 Replication status message (复制状态消息) 字段中找到原因。

启动应用程序

启动应用程序

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序。在 Applications (应用程序) 页面上,您可以查看可用的应用程序。

  3. 选择要启动的应用程序的名称。

  4. 在应用程序详细信息页上,依次选择 Actions (操作)Launch application (启动应用程序)。在执行此操作之前,必须完成复制作业。

  5. Launch application (启动应用程序) 窗口中,选择 Launch (启动)。在应用程序详细信息页面上,您可以在 Launch status (启动状态) 字段中查看启动的状态。如果启动失败,您可以在 Launch status message (启动状态消息) 字段中找到原因。

生成 CloudFormation 模板

如果要检查在启动应用程序时自动生成的 Amazon CloudFormation 模板,请使用以下过程。

为应用程序生成一个 Amazon CloudFormation 模板

  1. 打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/

  2. 选择应用程序。在 Applications (应用程序) 页面上,您可以查看可用的应用程序。

  3. 选择要为其创建模板的应用程序的名称。

  4. 在应用程序详细信息页上,依次选择 Actions (操作)Generate template (创建模板)。在执行此操作之前,必须完成复制作业。

  5. Generate template (生成模板) 窗口中,选择 Generate (生成)

从 Migration Hub 导入应用程序

应用程序迁移支持导入和迁移由 Amazon Migration Hub 发现的应用程序。

从 Migration Hub 导入应用程序

  1. 要启用应用程序目录导入,请完成Amazon Server Migration Service说 Migration Hub。

    注意

    采取此操作将导出 SMS 服务器目录并使其在 Migration Hub 上可见。

  2. 在 SMS 控制台中的 Applications (应用程序) 页面上,选择 Import applications (导入应用程序)

  3. Import applications (导入应用程序) 窗口中,您可以选择在 Role name (角色名称) 字段中提供值。如果未指定角色名称,则使用默认角色名称 sms。选择 Import

    注意

    只有当 SMS 服务器目录中存在应用程序并且它们不属于现有 SMS 应用程序时,SMS 才从 Migration Hub 导入应用程序相关的服务器。因此,一些应用程序可能仅部分导入。

  4. 在导入完成后,从 Migration Hub 导入的应用程序显示在应用程序表。导入的应用程序可以迁移,但不能在 SMS 中编辑。不过,这些应用程序可在 Migration Hub 中编辑。在编辑后重新导入。

    注意

    如果某个应用程序由 SMS 主动复制或启动,则无法重新导入该应用程序。如果出现这种冲突,请停止复制或启动,然后重新导入。