Migration Hub 入 - AWS Application Discovery

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

Migration Hub 入

AWS Migration Hub(Migration Hub)导入允许您将本地环境的详细信息直接导入到 Migration Hub 中,而无需使用Application Discovery Service 无代理收集器(无代理收集器)或AWS应用程序发现代理(Discovery Agent),因此您可以直接从导入的数据执行迁移评估和计划。您还可以将设备作为应用程序来分组,并跟踪其迁移状态。

启动导入请求

  • 下载专用格式的逗号分隔值 (CSV) 导入模板。

  • 用您的现有本地服务器数据填充它。

  • 使用Migration Hub 控制台将其上传到Migration Hub,AWS CLI或者其中一个AWS开发工具包。

您可以提交多个导入请求。各个请求按顺序处理。您可以通过控制台或导入 API,随时检查导入请求的状态。

导入请求完成后,您可以查看各个导入记录的详细信息。直接从 Migration Hub 控制台查看使用率数据、标签和应用程序映射。如果在导入过程中遇到错误,您可以查看成功和失败的记录计数以及每个失败的记录的错误详情。

处理错误:系统提供了一个链接,可用于下载包含错误日志和 CSV 格式的失败记录文件的压缩归档。纠正错误后,使用这些文件重新提交您的导入请求。

限制适用于导入的记录数、导入的服务器数和您可以保留的已删除记录数。有关更多信息,请参阅 AWS Application Discovery Service 配额

支持的导入文件字段

Migration Hub 导入允许您从任何源导入数据。提供的数据必须采用 CSV 文件支持的格式,且数据仅包含支持的字段,同时支持的字段使用支持的范围。

在下表中,导入字段名称旁的星号表示这是一个必填字段。您的导入文件的每个记录都必须至少填充一个或多个这样的必填字段,以便唯一地标识服务器或应用程序。否则,不含任何必填字段的记录将无法导入。

注意

如果您使用的是 VMware。MoRefId 或 VMware.vCenterId,要标识记录,您同一个记录中必须同时包含这两个字段。

导入字段名称 描述 示例
ExternalId* 允许您唯一标识每个记录的自定义标识符。例如,ExternalId可以是您的数据中心内服务器的库存 ID。

Inventory Id 1

Server 2

CMBD Id 3

SMBiosId 系统管理 BIOS (SMBIOS) ID。
IPAddress* 逗号分隔的服务器 IP 地址列表,用引号引起来。

192.0.0.2

"10.12.31.233, 10.12.32.11"

MACAddress* 逗号分隔的服务器 MAC 地址列表,用引号引起来。

00:1B:44:11:3A:B7

"00-15-E9-2B-99-3C, 00-14-22-01-23-45"

HostName* 服务器的主机名。建议对该值使用完全限定的域名 (FQDN)。

ip-1-2-3-4

localhost.domain

Mware。MoRefId* 托管对象的引用 ID。必须同时提供 VMwareeCenterId.
VMware.vCenterId* 虚拟机的唯一标识符。必须与 VMware 一起提供。MoRefId.
CPU。NumberOfProcessors CPU 的数量。

4

CPU。NumberOfCores 物理内核的总数。 8
CPU。NumberOfLogicalCores 可在一台服务器的所有 CPU 上并发运行的线程总数。有的 CPU 支持多个线程在单个 CPU 内核上并发运行。在这种情况下,此数量将大于物理(或虚拟)内核的数量。

16

OS.Name 操作系统的名称。

Linux

Windows.Hat

OS.Version 操作系统的版本。

16.04.3

NT 6.2.8

VMware.VMName 虚拟机的名称。

Corp1

RAM。TotalSizeInMB 服务器上可用 RAM 的总量,以 MB 为单位。

64

128

RAM。UsedSizeInmb.avg 服务器上的平均 RAM 用量,以 MB 为单位。

64

128

RAM。UsedSizeInmb.max 服务器上可用的最大 RAM 用量,以 MB 为单位。

64

128

CPU。UsagePctAVG 发现工具收集数据时的平均 CPU 使用率。

45

23.9

CPU。UsagePct.Max 发现工具收集数据时的最大 CPU 使用率。

55.34

24

DiskReadsPerSecondInkb.avg 每秒平均磁盘读取数 (KB)。

1159

84506

DiskWritesPerSecondInkb.avg 每秒平均磁盘写入数 (KB)。

199

6197

DiskReadsPerSecondInkb.max 每秒最大磁盘读取数 (KB)。

37892

869962

DiskWritesPerSecondInkb.max 每秒最大磁盘写入数 (KB)。

18436

1808

DiskReadsOpsPerSecondAVG 每秒平均磁盘读取操作数。

45

28

DiskWritesOpsPerSecondAVG 每秒平均磁盘写入操作数。

8

3

DiskReadsOpsPerSecond.Max 每秒最大磁盘读取操作数。

1083

176

DiskWritesOpsPerSecond.Max 每秒最大磁盘写入操作数。

535

71

NetworkReadsPerSecondInkb.avg 每秒平均网络读取操作数 (KB)。

45

28

NetworkWritesPerSecondInkb.avg 每秒平均网络写入操作数 (KB)。

8

3

NetworkReadsPerSecondInkb.max 每秒最大网络读取操作数 (KB)。

1083

176

NetworkWritesPerSecondInkb.max 每秒最大网络写入操作数 (KB)。

535

71

应用程序 逗号分隔的包括此服务器的应用程序列表,用引号引起来。该值可以包括现有应用程序和/或导入时创建的新应用程序。

Application1

"Application2, Application3"

标签

逗号分隔的格式为 name:value 的标签列表。

重要

请勿将敏感信息(如个人数据)存储在标签中。

"zone:1, critical:yes"

"zone:3, critical:no, zone:1"

即便并非导入模板中定义的所有字段都填充了数据,您也可以导入数据,只要每个记录至少填充了一个必填字段即可。通过使用外部或内部匹配键来跨多个导入请求管理重复项。如果您填充自己的匹配键 External ID,则此字段用于唯一地标识和导入记录。如果未指定匹配键,则导入将使用内部生成的匹配键,该键由导入模板的某些列派生而来。有关此匹配的更多信息,请参阅发现的服务器和应用程序的匹配逻辑

注意

Migration Hub 导入不支持导入模板所定义的字段之外的任何字段。提供的任何自定义字段将被忽略,不会导入。

设置您的导入权限

要导入数据,请确保您的 IAM 用户具有必要的 Amazon S3 权限,然后才能上传数据 (s3:PutObject) 将您的导入文件导入 Amazon S3,然后读取对象 (s3:GetObject)。您还必须建立编程访问(AWS CLI) 或控制台访问,方法是通过创建 IAM 策略并将其附加到在执行导入的 IAM 用户AWSaccount.

Console Permissions

使用以下过程,为将在中使用发出导入请求的 IAM 用户编辑权限策略AWS帐户使用控制台。

编辑用户的已附加托管策略
  1. 登录 AWS Management Console,单击 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中,选择 Users(用户)。

  3. 请选择要更改其权限策略的用户的名称。

  4. 选择权限选项卡,选择添加权限

  5. 选择直接附加现有策略,然后选择创建策略

    1. 在打开的创建策略页面上,选择 JSON,然后粘贴以下策略。记住将您的存储桶名称替换成 IAM 用户将导入文件上传到其中的存储桶的实际名称。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::importBucket"] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": ["arn:aws:s3:::importBucket/*"] } ] }
    2. 选择Review policy(查看策略)

    3. 为您的策略提供一个新名称和描述(可选),然后检查策略摘要。

    4. 选择 Create policy(创建策略)

  6. 返回到授予权限IAM 控制台页面,适用于将在您的AWSaccount.

  7. 刷新策略表,搜索您刚才创建的策略的名称。

  8. 选择 Next:。审核

  9. 选择 Add permissions(添加权限)。

现在,您已将策略附加到您的 IAM 用户,接下来就可以开始导入过程了。

AWS CLI Permissions

使用以下过程创建必要的托管策略,以便向 IAM 用户授予使用提交导入数据请求的权限AWS CLI.

要创建并附加托管策略
  1. 使用aws iam create-policy AWS CLI命令,创建具有以下权限的 IAM 策略。记住将您的存储桶名称替换成 IAM 用户将导入文件上传到其中的存储桶的实际名称。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::importBucket"] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": ["arn:aws:s3:::importBucket/*"] } ] }

    有关使用此命令的更多信息,请参阅create-policy中的AWS CLI命令参考.

  2. 使用aws iam create-policy AWS CLI命令,创建包含下列权限的额外 IAM 策略。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "discovery:ListConfigurations", "discovery:CreateApplication", "discovery:UpdateApplication", "discovery:AssociateConfigurationItemsToApplication", "discovery:DisassociateConfigurationItemsFromApplication", "discovery:GetDiscoverySummary", "discovery:StartImportTask", "discovery:DescribeImportTasks", "discovery:BatchDeleteImportData" ], "Resource": "*" } ] }
  3. 使用aws iam attach-user-policy AWS CLI命令,将您在前两个步骤中创建的策略附加到将在执行导入请求的 IAM 用户AWS账户使用AWS CLI. 有关使用此命令的更多信息,请参阅attach-user-policy中的AWS CLI命令参考.

现在,您已将策略附加到您的 IAM 用户,接下来就可以开始导入过程了。

请记住,当 IAM 用户将对象上传到您指定的 Amazon S3 存储桶时,他们必须保留对象的默认权限设置,以便可以读取对象。

将您的导入文件上载到 Amazon S3

接下来,您必须将 CSV 格式的导入文件上传到 Amazon S3,然后才能将其导入。在开始之前,您应该具有一个 Amazon S3 存储桶,用来承载提前创建和/或选择的导入文件。

Console S3 Upload
将导入文件上载到 Amazon S3
  1. 登录到AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Bucket name 列表中,选择要将对象上传到的存储桶的名称。

  3. 请选择 Upload(上传)。

  4. Upload 对话框中,选择 Add files 以选择要上传的文件。

  5. 选择要上传的文件,然后选择打开

  6. 请选择 Upload(上传)。

  7. 上传完文件后,从您的存储桶控制面板选择您的数据文件对象的名称。

  8. 从对象详细信息页面的 Overview (概述) 选项卡上,复制 Object URL (对象 URL)。在创建导入请求时,需要这个 URL。

  9. 转至导入Migration Hub 控制台中的页面,如中所述导入数据. 然后,将对象 URL 粘贴到Amazon S3 对象 URL字段中返回的子位置类型。

AWS CLI S3 Upload
将导入文件上载到 Amazon S3
  1. 打开终端窗口并导航到保存导入文件的目录。

  2. 输入以下命令:

    aws s3 cp ImportFile.csv s3://BucketName/ImportFile.csv
  3. 这将返回以下结果:

    upload: .\ImportFile.csv to s3://BucketName/ImportFile.csv
  4. 复制返回的完整 Amazon S3 对象路径。在您创建导入请求时需要此功能。

导入数据

从 Migration Hub 控制台下载导入模板并用您的现有本地服务器数据填充该模板后,您就可以开始将数据导入到 Migration Hub 中。以下说明描述了两种方法可达到此目的:使用控制台或使用进行 API 调用AWS CLI.

Console Import

在上开始数据导入工具Migration Hub 控制台的页面。

启动数据导入
  1. 在导航窗格中的 Discover (发现) 下,选择 Tools (工具)

  2. 如果您还没有填写导入模板,可以通过选择 Import (导入) 框中的 import template (导入模板) 下载该模板。打开下载的模板,用您的现有本地服务器数据填充它。您还可以从位于的 Amazon S3 存储桶中下载导入模板https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv

  3. 打开导入页面上,选择导入中的导入

  4. UNDER导入名称,为作指定一个名称。

  5. 填写Amazon S3 对象 URL字段中返回的子位置类型。要执行此步骤,您需要将导入数据文件上传到 Amazon S3。有关更多信息,请参阅 将您的导入文件上载到 Amazon S3

  6. 选择右下方的 Import (导入)。这将打开 Import (导入) 页面,在该页面中,您可以查看您的导入及其在表中列出的状态。

按照上述过程启动您的数据导入后,Imports (导入) 页面将显示每个导入请求的详细信息,包括进度状态、完成时间、成功或失败记录的数量以及下载这些记录的功能。从该屏幕中,您还可以导航至 Servers (服务器) 页面,在 Discover (发现) 下查看实际导入的数据。

Servers (服务器) 页面上,您可以看到所有被发现的服务器(设备)的列表以及导入名称。当你从导入(导入历史记录)页面,方法是选择名称列中,您会进入服务器根据所选导入的数据集应用筛选器的页面。然后,您只能看到属于该特定导入的数据。

归档为 .zip 格式,其中包含两个文件:errors-filefailed-entries-file。errors 文件包含与来自导入失败的数据文件的每个失败行关联的错误消息列表及关联列名称。您可以使用该文件快速确定问题所在位置。失败的条目文件包含失败的各行和所有提供的列。您可以在该文件中执行 errors 文件中指出的更改,然后再次导入更正了信息的文件。

AWS CLI Import

要从 AWS CLI 启动数据导入过程,必须首先在您的环境中安装 AWS CLI。有关更多信息,请参阅 。安装AWSCommand Line Interface中的AWS Command Line Interface用户指南.

注意

如果您还没有填写导入模板,可以从位于以下网址的 Amazon S3 存储桶中下载导入模板:https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv

启动数据导入
  1. 打开一个终端窗口,键入以下命令:

    aws discovery start-import-task --import-url s3://BucketName/ImportFile.csv --name ImportName
  2. 这将创建您的导入任务,并返回以下状态信息:

    { "task": { "status": "IMPORT_IN_PROGRESS", "applicationImportSuccess": 0, "serverImportFailure": 0, "serverImportSuccess": 0, "name": "ImportName", "importRequestTime": 1547682819.801, "applicationImportFailure": 0, "clientRequestToken": "EXAMPLE1-abcd-1234-abcd-EXAMPLE1234", "importUrl": "s3://BucketName/ImportFile.csv", "importTaskId": "import-task-EXAMPLE1229949eabfEXAMPLE03862c0" } }

跟踪您的Migration Hub 导入请求

您可以通过控制台跟踪 Migration Hub 导入请求的状态,AWS CLI,或者其中一个AWS开发工具包。

Console Tracking

导入仪表Migration Hub,您将找到以下元素。

  • 名称— 导入请求的名称。

  • 导入编号— 导入请求的唯一。

  • 导入时间— 创建导入请求的日期和时间。

  • 导入状态— 导入请求的状态。它可以是以下值之一:

    • Importing— 当前正在导入此数据文件。

    • 导入— 整个数据文件已成功导入。

    • 导入时出错— 数据文件中的一个或多个记录无法导入。要解决失败的记录问题,请针对您的导入任务选择 Download failed records (下载失败的记录),纠正失败条目 csv 文件中的错误,然后再次导入。

    • 导入失败— 数据文件中的所有记录均无法导入。要解决失败的记录问题,请针对您的导入任务选择 Download failed records (下载失败的记录),纠正失败条目 csv 文件中的错误,然后再次导入。

  • 导入的记录— 特定数据文件中已成功导入的记录数。

  • 记录失败— 特定数据文件中导入的记录数。

CLI Tracking

您可以通过 aws discovery describe-import-tasks AWS CLI 命令来跟踪导入任务的状态。

  1. 打开一个终端窗口,键入以下命令:

    aws discovery describe-import-tasks
  2. 这将以 JSON 格式返回您的所有导入任务的列表,并列出导入状态和其他相关信息。(可选)您可以筛选结果以返回导入任务的子集。

在跟踪导入任务时,您可能会发现返回的 serverImportFailure 值大于零。如果发生这种情况,则说明您的导入文件中包含一个或多个无法导入的条目。要解决这一问题,可下载您的失败记录归档,检查其中的文件,然后用修改后的 failed-entries.csv 文件再次请求导入。

创建导入任务后,您可以执行其他操作来帮助管理和跟踪您的数据迁移。例如,您可以针对特定请求下载失败记录归档。有关使用失败的记录归档来解决导入问题的信息,请参阅排除导入失败记录的问题