产品更新
截至 2022 年 3 月 31 日,Amazon将停止Amazon Server Migration Service(Amazon短信)。展望未来,我们建议AmazonApplication Migration Service
你可以启动新的迁移作业Amazon SMS到 2022 年 1 月 1 日。在 2022 年 3 月 31 日之前完成这些正在进行的迁移项目。有关更多信息,请参阅 。什么时候选择AmazonApplication Migration Service
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移应用程序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 的资源执行这些任务。
注意事项
-
将本地服务器复制到 Amazon 最多可以持续 90 天(每个服务器)。使用时间从开始复制服务器时开始,到终止复制作业时结束。90 天之后,系统会自动终止您的复制作业。您可以从 Amazon Web Services Support 请求一个扩展名。
-
在 AMI 创建过程中,Amazon SMS设置
DeleteOnTermination
属性的根卷为 false,覆盖默认值。您可以在终止实例后手动删除根卷,也可以将属性设置为 true,以便 Amazon EC2 在实例终止时删除根卷。有关更多信息,请参阅 。在实例终止时保留 Amazon EBS 卷中的Amazon EC2 用户指南. -
支持从 Microsoft Azure 环境迁移应用程序,但是 for Azure 目前不能保证应用程序中服务器快照的高频率。
使用应用迁移
您可以执行以下任务。
创建应用程序
创建应用程序
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序。
-
选择 Create new application。
-
在存储库的应用程序设置页面上,提供以下信息,然后选择下一步:
-
应用程序名称— 指定应用程序的名称。
-
Application description (应用程序描述)—(可选)为应用程序指定描述。
-
Role name (角色名称)选择 — 选择允许创建自动化角色您有Amazon SMS或者代表您创建服务相关角色使用我自己的角色以指定现有 IAM 角色。有关更多信息,请参阅的服务相关角色Amazon SMS。在以下情况下,此选项不可用Amazon SMS已代表您创建服务相关角色。
-
-
在存储库的选择服务器在页面上,选择要包括在应用程序中的可用服务器。您可以使用搜索栏根据特定值筛选表内容。选择 Next:。向组添加服务器.
-
在存储库的向组添加服务器在页面上,可以创建组、删除组、将所选服务器从应用程序添加到组,以及从组中删除服务器。未分组服务器与默认组相关。
完成以下步骤将一个或多个服务器添加到新组:
-
选择要添加到新组的服务器。
-
选择 Add servers to group (向组添加服务器)。
-
选择添加到新组然后提供组的名称。
-
选择 Add (添加)。服务器列表现在显示您选择的每个服务器的关联组。
-
-
如果删除组,则服务器将与默认组关联。要删除组,请完成以下步骤:
-
选择 Delete group (删除组)。
-
适用于删除组选择组。
-
选择 Delete (删除)。
-
-
在存储库的添加标签页面中,可选择标记应用程序。Add (标签) 是一个键/值对,它会传播到启动应用程序时创建的所有服务器。选择下一步。
-
在存储库的审核页面上,根据需要编辑设置。完成后,选择 Create。在状态页面上,您可以直接配置复制设置。
配置复制设置
为应用程序配置复制设置
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序以查看可用的应用程序。
-
选择应用程序的名称。
-
依次选择 Actions (操作) 和 Configure replication settings (配置复制设置)。
-
在 Replication settings (复制设置) 页面上,提供以下信息,然后选择 Next (下一步):
-
复制任务类型— 指定复制期间(每 1-24 小时)或者选择迁移一次性.
-
启动复制运行选择 — 选择立即安排复制运行以立即开始或以后的时间和日期在指定的日期和时间(未来 30 天)开始复制。
-
启用自动删除 AMI— 要启用自动删除 AMI,请选择是并指定要保留的 AMI 的最大数量(从 1-270 起)。要禁用自动删除 AMI,请选择否.
-
启用 AMI 加密— 要启用 AMI 加密,请选择是并指定加密密钥(使用其密钥 ID、Amazon 资源名称或别名)或留空以使用默认密钥进行 EBS 加密。要禁用 AMI 加密,请选择否.
-
-
Server-specific settings (特定于服务器的设置) 页面显示应用程序服务器及其组成员资格。您可以为单个服务器编辑以下服务器设置,也可以选择编辑多个服务器以跨组更新这些设置。完成后,选择 Next。
-
许可证类型选择 — 选择汽车、Amazon,或者BYOL.
-
静默— [仅限 VMware] 在拍摄 VM 的快照之前,暂停数据输入/输出并存储系统内存状态。
-
-
在存储库的审核页面上,验证复制设置,然后选择Save(保存). 在状态页面上,您可以直接配置启动设置。
配置启动设置
在配置网络设置之前,必须设置虚拟私有云、子网和安全组,如RunInstancesAmazon EC2 API 操作。
为应用程序配置启动设置
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序以查看可用的应用程序。
-
选择要配置的应用程序的名称,然后选择操作、配置启动设置.
-
在存储库的配置启动设置页面上,提供以下信息,然后选择下一步:
-
IAM CloudFormation 角色选择 — 选择允许创建自动化角色您有Amazon SMS或者代表您创建服务相关角色使用我自己的角色以指定现有 IAM 角色。有关更多信息,请参阅的服务相关角色Amazon SMS。在以下情况下,此选项不可用Amazon SMS已代表您创建服务相关角色。
-
复制后自动启动— 选择此选项可在复制完成后自动启动应用程序。
-
指定启动顺序— 为您的组配置启动顺序。
-
-
在存储库的配置目标实例详情页面上,您可以为单个服务器编辑以下服务器设置,或者选择编辑多个服务器以跨组更新这些设置。完成后,选择 Next。
-
逻辑 ID— 指定Amazon CloudFormation或者保留默认值。此参数用作 Amazon SMS 为应用程序生成的 CloudFormation 模板的逻辑 ID。有关更多信息,请参阅 。资源中的Amazon CloudFormation用户指南.
-
实例类型— 选择服务器的 EC2 实例类型。此字段为必填。
-
密钥对— 选择连接服务器所需的 SSH key pair。此字段为必填。如果 IAM 用户没有权限
ec2:DescribeKeyPairs
,该列表是空的。 -
配置脚本— 位于 Amazon S3 中的配置脚本,在启动作为应用程序的一部分启动的 EC2 实例时用于运行的脚本。存储桶必须具有以下前缀:
sms-app-
. -
脚本类型选择 — 选择Shell 脚本要么PowerShell 脚本.
-
-
在存储库的配置目标网络和安全在页面上,可以编辑以下服务器设置,或者选择编辑多个服务器要跨组更新这些设置:
-
VPC— 应用程序的虚拟私有云。此字段为必填。如果 IAM 用户没有权限
ec2:DescribeVpcs
,该列表是空的。 -
子网— 应用程序的子网。此字段为必填。如果 IAM 用户没有权限
ec2:DescribeSubnets
,该列表是空的。 -
安全组— 应用程序的安全组。此字段为必填。如果 IAM 用户没有权限
ec2:DescribeSecurityGroups
,该列表是空的。 -
公开访问— 指示应用程序是否应该从 Internet 访问。
选择应用程序验证配置应用程序验证或审核以跳过此过程的最后一步。
-
-
(可选)您可以使用在 EC2 实例上运行验证脚本Amazon Systems Manager. 在存储库的应用程序验证页面上,提供以下信息,然后选择实例验证配置实例验证或审核跳到此过程的最后一步:
-
验证名称— 验证的名称。
-
验证脚本— 在 Amazon S3 中验证脚本的位置。存储桶必须具有以下前缀:
sms-app-
. -
脚本类型选择 — 选择Shell 脚本要么PowerShell 脚本.
-
SSM 托管实例— EC2 实例的 ID。该实例必须由Amazon Systems Manager并有以下标签:SMS 应用程序验证的用户 = true。
-
输出位置— Amazon S3 中验证脚本输出的位置。存储桶必须具有以下前缀:
sms-app-
. -
执行命令— 运行脚本的命令(例如,./script.sh)。
-
超时(分钟)— 运行脚本所需的最长时间(从 1-480 起)。默认值为 15。
-
-
(可选)您可以在 EC2 实例首次使用 Amazon EC2 用户数据启动时运行脚本。在存储库的实例验证和应用程序监控页面上,提供以下信息,然后选择下一步:
-
Permissions (权限)允许Amazon SMS要从 Amazon S3 获取验证脚本并使用 EC2 用户数据在实例上运行验证脚本,您必须创建一个授权的角色Amazon SMS来自ServerMigrationServiceRoleForInstanceValidation政策。选择使用默认角色策略创建新角色您有Amazon SMS代表您创建角色(IAM 用户必须具有管理员权限)或使用现有角色(IAM 用户必须具有将角色传递到
ec2.amazonaws.com
服务)。 -
监控 CloudWatch选择 — 选择为此部署设置监控器和自动见解以持续分析数据,以便找出应用程序出现问题的迹象。有关更多信息,请参阅 。Amazon CloudWatch Application Insights中的Amazon CloudWatch 用户指南.
-
验证名称— 验证的名称。
-
验证脚本— 在 Amazon S3 中验证脚本的位置。存储桶必须具有以下前缀:
sms-app-
. -
脚本类型选择 — 选择Shell 脚本要么PowerShell 脚本.
-
-
在存储库的审核页面上,验证启动配置设置,然后选择Save(保存).
开始复制
开始复制应用程序
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序以查看可用的应用程序。
-
选择要复制的应用程序的名称。
-
在应用程序详细信息页上,依次选择 Actions (操作)、Start replication (开始复制)。
-
在 Start replication (开始复制) 窗口中,选择 Start (开始)。复制可以在任何位置进行,需要 30 分钟到数天,具体取决于磁盘大小。在应用程序详细信息页面上,您可以在 Replication status (复制状态) 字段中查看复制的状态。如果复制失败,您可以在 Replication status message (复制状态消息) 字段中找到原因。
启动应用程序
启动应用程序
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序。在 Applications (应用程序) 页面上,您可以查看可用的应用程序。
-
选择要启动的应用程序的名称。
-
在应用程序详细信息页上,依次选择 Actions (操作)、Launch application (启动应用程序)。在执行此操作之前,必须完成复制作业。
-
在 Launch application (启动应用程序) 窗口中,选择 Launch (启动)。在应用程序详细信息页面上,您可以在 Launch status (启动状态) 字段中查看启动的状态。如果启动失败,您可以在 Launch status message (启动状态消息) 字段中找到原因。
生成 CloudFormation 模板
如果要检查在启动应用程序时自动生成的 Amazon CloudFormation 模板,请使用以下过程。
为应用程序生成一个 Amazon CloudFormation 模板
打开Amazon SMS控制台https://console.aws.amazon.com/servermigration/
. -
选择应用程序。在 Applications (应用程序) 页面上,您可以查看可用的应用程序。
-
选择要为其创建模板的应用程序的名称。
-
在应用程序详细信息页上,依次选择 Actions (操作)、Generate template (创建模板)。在执行此操作之前,必须完成复制作业。
-
在 Generate template (生成模板) 窗口中,选择 Generate (生成)。
从 Migration Hub 导入应用程序
应用程序迁移支持导入和迁移由 Amazon Migration Hub 发现的应用程序。
从 Migration Hub 导入应用程序
-
要启用应用程序目录导入,请完成Amazon Server Migration ServiceMigration Hub 用户指南中的说明。
注意 采取此操作将导出 SMS 服务器目录并使其在 Migration Hub 上可见。
-
在 SMS 控制台中的 Applications (应用程序) 页面上,选择 Import applications (导入应用程序)。
-
在 Import applications (导入应用程序) 窗口中,您可以选择在 Role name (角色名称) 字段中提供值。如果未指定角色名称,则使用默认角色名称 sms。选择 Import (导入)。
注意 只有当 SMS 服务器目录中存在应用程序并且它们不属于现有 SMS 应用程序时,SMS 才从 Miguration Migration Hub 导入应用程序相关的服务器。因此,一些应用程序可能仅部分导入。
-
在导入完成后,从 Miguration Hub 导入的应用程序显示在应用程序表。导入的应用程序可以迁移,但不能在 SMS 中编辑。不过,这些应用程序可在 Migration Hub 中进行编辑。在编辑后重新导入。
注意 如果某个应用程序由 SMS 主动复制或启动,则无法重新导入该应用程序。如果出现这种冲突,请停止复制或启动,然后重新导入。