Migration Hub Import
AWS Migration Hub (Migration Hub) import allows you to import details of your on-premises environment directly into Migration Hub without using the Application Discovery Service Agentless Collector (Agentless Collector) or AWS Application Discovery Agent (Discovery Agent), so you can perform migration assessment and planning directly from your imported data. You also can group your devices as applications and track their migration status.
To initiate an import request
-
Download the specially-formatted, comma separated value (CSV) import template.
-
Populate it with your existing on-premises server data.
-
Upload it to Migration Hub using the Migration Hub console, AWS CLI or one of the AWS SDKs.
You can submit multiple import requests. Each request is processed sequentially. You can check the status of your import requests at any time, through the console or import APIs.
After an import request is complete, you can view the details of individual imported records. View utilization data, tags, and application mappings directly from within the Migration Hub console. If errors were encountered during the import, you can review the count of successful and failed records, and you can see the error details for each failed record.
Handling errors: A link is provided to download the error log and failed records files as CSV files in a compressed archive. Use these files to resubmit your import request after correcting the errors.
Limits apply to the number of imported records, imported servers, and deleted records you can keep. For more information, see AWS Application Discovery Service Quotas.
Supported Import File Fields
Migration Hub import allows you to import data from any source. The data provided must be in the supported format for a CSV file, and the data must contain only the supported fields with the supported ranges for those fields.
An asterisk next to an import field name in the following table denotes that it is a required field. Each record of your import file must have at least one or more of those required fields populated to uniquely identify a server or application. Otherwise, a record without any of the required fields will fail to be imported.
If you're using either VMware.MoRefId or VMWare.VCenterId, to identify a record, you must have both fields in the same record.
Import Field Name | Description | Examples |
---|---|---|
ExternalId* | A custom identifier that allows you to mark each record as unique. For example, ExternalId can be the inventory ID for the server in your data center. | Inventory Id 1 Server 2 CMBD Id 3 |
SMBiosId | System management BIOS (SMBIOS) ID. | |
IPAddress* | A comma-delimited list of IP addresses of the server, in quotes. | 192.0.0.2 "10.12.31.233, 10.12.32.11" |
MACAddress* | A comma-delimited list of MAC address of the server, in quotes. | 00:1B:44:11:3A:B7 "00-15-E9-2B-99-3C, 00-14-22-01-23-45" |
HostName* | The host name of the server. We recommend using the fully qualified domain name (FQDN) for this value. | ip-1-2-3-4 localhost.domain |
VMware.MoRefId* | The managed object reference ID. Must be provided with a VMware.VCenterId. | |
VMware.VCenterId* | Virtual machine unique identifier. Must be provided with a VMware.MoRefId. | |
CPU.NumberOfProcessors | The number of CPUs. | 4 |
CPU.NumberOfCores | The total number of physical cores. | 8 |
CPU.NumberOfLogicalCores | The total number of threads that can run concurrently on all CPUs in a server. Some CPUs support multiple threads to run concurrently on a single CPU core. In those cases, this number will be larger than the number of physical (or virtual) cores. | 16 |
OS.Name | The name of the operating system. | Linux Windows.Hat |
OS.Version | The version of the operating system. | 16.04.3 NT 6.2.8 |
VMware.VMName | The name of the virtual machine. | Corp1 |
RAM.TotalSizeInMB | The total RAM available on the server, in MB. | 64 128 |
RAM.UsedSizeInMB.Avg | The average amount of used RAM on the server, in MB. | 64 128 |
RAM.UsedSizeInMB.Max | The maximum amount of used RAM available on the server, in MB. | 64 128 |
CPU.UsagePct.Avg | The average CPU utilization when the discovery tool was collecting data. | 45 23.9 |
CPU.UsagePct.Max | The maximum CPU utilization when the discovery tool was collecting data. | 55.34 24 |
DiskReadsPerSecondInKB.Avg | The average number of disk reads per second, in KB. | 1159 84506 |
DiskWritesPerSecondInKB.Avg | The average number of disk writes per second, in KB. | 199 6197 |
DiskReadsPerSecondInKB.Max | The maximum number of disk reads per second, in KB. | 37892 869962 |
DiskWritesPerSecondInKB.Max | The maximum number of disk writes per second, in KB. | 18436 1808 |
DiskReadsOpsPerSecond.Avg | The average number of disk read operations per second. | 45 28 |
DiskWritesOpsPerSecond.Avg | The average number of disk write operations per second. | 8 3 |
DiskReadsOpsPerSecond.Max | The maximum number of disk read operations per second. | 1083 176 |
DiskWritesOpsPerSecond.Max | The maximum number of disk write operations per second. | 535 71 |
NetworkReadsPerSecondInKB.Avg | The average number of network read operations per second, in KB. | 45 28 |
NetworkWritesPerSecondInKB.Avg | The average number of network write operations per second, in KB. | 8 3 |
NetworkReadsPerSecondInKB.Max | The maximum number of network read operations per second, in KB. | 1083 176 |
NetworkWritesPerSecondInKB.Max | The maximum number of network write operations per second, in KB. | 535 71 |
Applications | A comma-delimited list of applications that include this server, in quotes. This value can include existing applications and/or new applications that are created upon import. | Application1 "Application2, Application3" |
Tags | A comma-delimited list of tags formatted as name:value. Do not store sensitive information (like personal data) in tags. |
"zone:1, critical:yes" "zone:3, critical:no, zone:1" |
You can import data even if you don’t have data populated for all the fields defined
in the import template, so long as each record has at least one of the required fields
within it. Duplicates are managed across multiple import requests by using either an
external or internal matching key. If you populate your own matching key, External
ID
, this field is used to uniquely identify and import the records. If no
matching key is specified, import uses an internally generated matching key that is
derived from some of the columns in the import template. For more information on this
matching, see Matching logic for discovered servers and
applications.
Migration Hub import does not support any fields outside of those defined in the import template. Any custom fields supplied will be ignored and will not be imported.
Setting Up Your Import Permissions
Before you can import your data, ensure that your IAM user has the necessary Amazon S3
permissions to upload (s3:PutObject
) your import file to Amazon S3, and to read
the object (s3:GetObject
). You also must establish programmatic access (for
the AWS CLI) or console access, by creating an IAM policy and attaching it to the IAM
user that performs imports in your AWS account.
Remember that when the IAM user uploads objects to the Amazon S3 bucket that you specified, they must leave the default permissions for the objects set so that the user can read the object.
Uploading Your Import File to Amazon S3
Next, you must upload your CSV formatted import file into Amazon S3 so it can be imported. Before you begin, you should have an Amazon S3 bucket that will house your import file created and/or chosen ahead of time.
Importing Data
After you download the import template from the Migration Hub console and populate it with your existing on-premises server data, you're ready to start importing the data into Migration Hub. The following instructions describe two ways to do this, either by using the console or by making API calls through the AWS CLI.
Tracking Your Migration Hub Import Requests
You can track the status of your Migration Hub import requests using the console, AWS CLI, or one of the AWS SDKs.
After creating your import task, you can perform additional actions to help manage and track your data migration. For example, you can download an archive of failed records for a specific request. For information on using the failed records archive to resolve import issues, see Troubleshooting failed import records.