Appdiscovery Ug
Appdiscovery Ug
Discovery Service
User Guide
AWS Application Discovery Service User Guide
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
AWS Application Discovery Service User Guide
Table of Contents
What Is AWS Application Discovery Service? .......................................................................................... 1
More About VMware Discovery .................................................................................................... 1
Compare Connectors and Agents ................................................................................................. 2
Assumptions .............................................................................................................................. 2
Setting Up ........................................................................................................................................ 4
Step 1: Sign Up for AWS ............................................................................................................. 4
Step 2: Create IAM Users ............................................................................................................ 4
Creating an IAM Administrative User .................................................................................... 5
Creating an IAM Non-Administrative User .............................................................................. 5
Discovery Agent ................................................................................................................................. 6
Data Collected by the Discovery Agent ......................................................................................... 6
Installation Prerequisites ............................................................................................................. 8
Agent Installation on Linux ......................................................................................................... 9
Requirements on Older Linux Platforms .............................................................................. 11
Manage the Discovery Agent Process on Linux ..................................................................... 12
Uninstall an agent ............................................................................................................ 13
Agent Troubleshooting on Linux ......................................................................................... 13
Agent Installation on Windows .................................................................................................. 14
Package Signing on Windows 2003 .................................................................................... 16
Manage the Discovery Agent Process on Windows ................................................................ 16
Troubleshooting on Windows ............................................................................................. 16
Agent Data Collection ............................................................................................................... 17
Discovery Connector ......................................................................................................................... 19
Data Collected by Discovery Connector ....................................................................................... 19
Download the Discovery Connector ............................................................................................ 22
Deploy the Discovery Connector ................................................................................................. 22
Configure the Discovery Connector ............................................................................................. 23
Configure a static IP address for the connector .................................................................... 24
Control Data Collection ..................................................................................................... 25
Disabling auto-upgrades on AWS Discovery Connector .......................................................... 26
Connector Data Collection ......................................................................................................... 26
Troubleshooting the Discovery Connector .................................................................................... 27
Fixing Discovery Connector cannot reach AWS during setup ................................................... 27
Fixing unhealthy connectors .............................................................................................. 28
Standalone ESX host support ............................................................................................. 29
Getting additional support for connector issues ................................................................... 29
Import ............................................................................................................................................ 30
Supported Import File Fields ..................................................................................................... 30
Setting Up Your Import Permissions ........................................................................................... 33
Uploading Your Import File to Amazon S3 ................................................................................... 35
Importing Data ........................................................................................................................ 36
Tracking Your Migration Hub Import Requests ............................................................................. 37
View, Export & Explore Data .............................................................................................................. 39
View Collected Data ................................................................................................................. 39
Matching Logic ................................................................................................................ 39
Export Collected Data ............................................................................................................... 40
Data Exploration in Athena ........................................................................................................ 42
Enabling Data Exploration in Amazon Athena ...................................................................... 42
Working with Data Exploration in Amazon Athena ................................................................ 43
Console Walkthroughs ...................................................................................................................... 50
Main Dashboard ....................................................................................................................... 50
Main Dashboard ............................................................................................................... 50
Navigating from the Dashboard and the Navigation Pane ...................................................... 51
Data Collection Tools ................................................................................................................ 52
iii
AWS Application Discovery Service User Guide
iv
AWS Application Discovery Service User Guide
More About VMware Discovery
All discovered data is stored in your AWS Migration Hub home region. Therefore, you must set your
home region in the Migration Hub console or with CLI commands before performing any discovery and
migration activities. Your data can be exported for analysis in Microsoft Excel or AWS analysis tools such
as Amazon Athena and Amazon QuickSight.
Using Application Discovery Service APIs, you can export the system performance and utilization data
for your discovered servers. Input this data into your cost model to compute the cost of running those
servers in AWS. Additionally, you can export data about the network connections that exist between
servers. This information helps you determine the network dependencies between servers and group
them into applications for migration planning.
Note
Your home region must be set in AWS Migration Hub before you begin the process of discovery,
because your data will be stored in your home region. For more information about working with
a home region, see Home regions.
Application Discovery Service offers two ways of performing discovery and collecting data about your
on-premises servers:
• Agentless discovery can be performed by deploying the AWS Agentless Discovery Connector (OVA
file) through your VMware vCenter. After the Discovery Connector is configured, it identifies virtual
machines (VMs) and hosts associated with vCenter. The Discovery Connector collects the following
static configuration data: Server hostnames, IP addresses, MAC addresses, disk resource allocations.
Additionally, it collects the utilization data for each VM and computes average and peak utilization for
metrics such as CPU, RAM, and Disk I/O.
• Agent-based discovery can be performed by deploying the AWS Application Discovery Agent on each
of your VMs and physical servers. The agent installer is available for Windows and Linux operating
systems. It collects static configuration data, detailed time-series system-performance information,
inbound and outbound network connections, and processes that are running.
Application Discovery Service integrates with application discovery solutions from AWS Partner Network
(APN) partners. These third-party solutions can help you import details about your on-premises
environment directly into Migration Hub, without using any discovery connector or discovery agent.
Third-party application discovery tools can query AWS Application Discovery Service, and they can write
to the Application Discovery Service database using the public API. In this way, you can import data into
Migration Hub and view it, so that you can associate applications with servers and track migrations.
1
AWS Application Discovery Service User Guide
Compare Connectors and Agents
Instead, you load this on-premises appliance into vCenter and allow it to discover all of its hosts and
VMs.
The Discovery Connector captures system performance information and resource utilization for each
VM running in the vCenter, regardless of what operating system is in use. However, it cannot “look
inside” each of the VMs, and as such, cannot figure out what processes are running on each VM nor what
network connections exist. Therefore, if you need this level of detail and want to take a closer look at
some of your existing VMs in order to assist in planning your migration, you can install the Discovery
Agent on an as-needed basis.
Also, for VMs hosted on VMware, you can use both the Discovery Connector and Discovery Agent to
perform discovery simultaneously. For details regarding the exact types of data each discovery tool will
collect, see Data Collected by the Discovery Connector (p. 19) and Data Collected by the Discovery
Agent (p. 6).
Deployment
Per server
Per vCenter
Collected data
Static configuration data
VM utilization metrics
Time series performance
information
Network inbound/outbound
connections
Running processes
Assumptions
To use Application Discovery Service, the following is assumed:
• You have signed up for AWS. For more information, see Setting Up AWS Application Discovery
Service (p. 4).
• You have selected a Migration Hub home region. For more information, see the documentation
regarding home regions.
2
AWS Application Discovery Service User Guide
Assumptions
• The Migration Hub home region is the only region where Application Discovery Service stores your
discovery and planning data.
• Discovery agents, connectors, and imports can be used in your selected Migration Hub home region
only.
• For a list of AWS Regions where you can use Application Discovery Service, see the Amazon Web
Services General Reference.
3
AWS Application Discovery Service User Guide
Step 1: Sign Up for AWS
When you sign up for Amazon Web Services (AWS), your AWS account is automatically signed up for all
AWS services, including AWS Application Discovery Service. You are charged only for the services that
you use.
1. Open https://portal.aws.amazon.com/billing/signup.
2. Follow the online instructions.
Part of the sign-up procedure involves receiving a phone call and entering a verification code on the
phone keypad.
Note your AWS account number, because you'll need it for the next task.
We strongly recommend that you not use the root user for everyday tasks, even the administrative ones.
Instead, follow the security best practice Create Individual IAM Users and create an AWS Identity and
Access Management (IAM) administrator user. Then securely lock away the root user credentials and use
them to perform only a few account and service management tasks.
In addition to creating an administrative user you'll also need to create non-administrative IAM users.
The following topics explain how to create both types of IAM users.
Topics
• Creating an IAM Administrative User (p. 5)
• Creating an IAM Non-Administrative User (p. 5)
4
AWS Application Discovery Service User Guide
Creating an IAM Administrative User
• Create an administrator user in your AWS account. For instructions, see Creating Your First IAM User
and Administrators Group in the IAM User Guide.
Use IAM managed policies to define the level of access to Application Discovery Service by non-
administrative IAM users. For information about Application Discovery Service managed policies, see
AWS Managed (Predefined) Policies for Application Discovery Service (p. 75).
• Create an administrator user in your AWS account. For instructions, see Creating Your First IAM
Delegated User and Group in the IAM User Guide.
5
AWS Application Discovery Service User Guide
Data Collected by the Discovery Agent
The Discovery Agent runs in your local environment and requires root privileges. When you start the
Discovery Agent, it connects securely with your home region and registers with Application Discovery
Service.
How it works
After registration, the agent starts collecting data for the host or VM where it resides. The agent pings
the Application Discovery Service at 15-minute intervals for configuration information.
The collected data includes system specifications, times series utilization or performance data, network
connections, and process data. You can use this information to map your IT assets and their network
dependencies. All of these data points can help you determine the cost of running these servers in AWS
and also plan for migration.
Data is transmitted securely by the Discovery Agents to Application Discovery Service using Transport
Layer Security (TLS) encryption. Agents are configured to upgrade automatically when new versions
become available. You can change this configuration setting if desired.
Tip
Before downloading and beginning Discovery Agent installation, be sure to read through all of
the required prerequisites in Installation Prerequisites for Discovery Agent (p. 8)
Topics
• Data Collected by the Discovery Agent (p. 6)
• Installation Prerequisites for Discovery Agent (p. 8)
• Agent Installation on Linux (p. 9)
• Agent Installation on Windows (p. 14)
• Agent Data Collection (p. 17)
6
AWS Application Discovery Service User Guide
Data Collected by the Discovery Agent
freeRAM (MB) Free RAM and cached RAM that can be made
immediately available to applications, measured
in MB
*
gateway Node address of network
7
AWS Application Discovery Service User Guide
Installation Prerequisites
• You must set an AWS Migration Hub home region before you begin installing Discovery Agent.
• If you have a 1.x version of the agent installed, it must be removed before installing the latest version.
• If the host that the agent is being installed on runs Linux, then verify that the host at least supports
the Intel i686 CPU architecture (also known as the P6 micro architecture).
• Verify that your operating system (OS) environment is supported:
Linux
8
AWS Application Discovery Service User Guide
Agent Installation on Linux
Note
The Discovery Agent has a 32-bit agent executable, which works on 32-bit and 64-bit operating
systems. The number of installation packages needed for deployment is reduced by having a
single executable. This executable agent works for Linux and for Windows OS. It is addressed in
their respective installation sections that follow.
1. Log in to your Linux-based server or VM and create a new directory to contain your agent
components.
2. Switch to the new directory and download the installation script from either the command line or
the console.
9
AWS Application Discovery Service User Guide
Agent Installation on Linux
The agent public key (discovery.gpg) fingerprint is 7638 F24C 6717 F97C 4F1B 3BC0 5133
255E 4DF4 2DA2.
4. Extract from the tarball as shown following.
To... Do this...
Install Discovery Agent To install the agent, run the agent install
command as shown in the following example. In
the example, replace your-home-region with
the name of your home region, aws-access-
key-id with your access key id, and aws-
secret-access-key with your secret access
key.
(Optional) Install Discovery Agent and configure To configure a non-transparent proxy, add
a non-transparent proxy the following parameters to the agent install
command:
10
AWS Application Discovery Service User Guide
Requirements on Older Linux Platforms
To... Do this...
• -g The proxy scheme.
• -i The proxy username.
Topics
• Requirements on Older Linux Platforms (p. 11)
• Manage the Discovery Agent Process on Linux (p. 12)
• Uninstall Discovery Agent on Linux (p. 13)
• Agent Troubleshooting on Linux (p. 13)
Curl
The Application Discovery agent requires curl for secure communications with the AWS server.
Some old versions of curl are not able to communicate securely with a modern web service.
To use the version of curl included with the Application Discovery agent for all operations, run the
installation script with the -c true parameter.
Certificate Authority Bundle
Older Linux systems might have an out-of-date Certificate Authority (CA) bundle, which is critical to
secure internet communication.
To use the CA bundle included with the Application Discovery agent for all operations, run the
installation script with the -b true parameter.
11
AWS Application Discovery Service User Guide
Manage the Discovery Agent Process on Linux
These installation script options can be used together. In the following example command, both of the
script parameters are passed to the installation script:
systemd
Task Command
Upstart
Task Command
System V init
Task Command
12
AWS Application Discovery Service User Guide
Uninstall an agent
Task Command
• Log files
Log files for Discovery Agent are located in the following directory.
/var/log/aws/discovery/
Log files are named to indicate whether they are generated by the main daemon, the automatic
upgrader, or the installer.
• Configuration files
13
AWS Application Discovery Service User Guide
Agent Installation on Windows
Configuration files for Discovery Agent version 2.0.1617.0 or newer are located in the following
directory.
/etc/opt/aws/discovery/
Configuration files for versions of Discovery Agent before 2.0.1617.0 are located in the following
directory.
/var/opt/aws/discovery/
• For instructions on how to remove older versions of the Discovery Agent, see Installation Prerequisites
for Discovery Agent (p. 8).
1. Download the Windows agent installer but do not double-click to run the installer within Windows.
Important
Do not double-click to run the installer within Windows as it will fail to install. Agent
installation only works from the command prompt. (If you already double-clicked on the
installer, you must go to Add/Remove Programs and uninstall the agent before continuing
on with the remaining installation steps.)
2. Open a command prompt as an administrator and navigate to the location where you saved the
installation package.
3. To install the agent, choose one of the following installation methods.
To... Do this...
Install Discovery Agent To install the agent, run the agent install
command as shown in the following example. In
the example, replace your-home-region with
the name of your home region, aws-access-
key-id with your access key id, and aws-
secret-access-key with your secret access
key.
.\AWSDiscoveryAgentInstaller.exe
REGION="your-home-region" KEY_ID="aws-
14
AWS Application Discovery Service User Guide
Agent Installation on Windows
To... Do this...
access-key-id" KEY_SECRET="aws-secret-
access-key" /quiet
(Optional) Install Discovery Agent and configure To configure a non-transparent proxy, add the
a non-transparent proxy following public properties to the agent install
command:
.\AWSDiscoveryAgentInstaller.exe
REGION="your-home-region"
KEY_ID="aws-access-key-id"
KEY_SECRET="aws-secret-access-key"
PROXY_HOST="myproxy.mycompany.com"
PROXY_SCHEME="https" PROXY_PORT="proxy-
port-number" PROXY_USER="myusername"
PROXY_PASSWORD="mypassword" /quiet
4. If outbound connections from your network are restricted, you'll need to update your firewall
settings. Agents require access to arsenal over TCP port 443. They don't require any inbound ports
to be open.
15
AWS Application Discovery Service User Guide
Package Signing on Windows 2003
• Installation logging
In some cases, the agent install command described in the procedure to install the AWS Application
Discovery Agent appears to fail. For example, a failure can appear with the Windows Services Manager
showing that the discovery services are not being created. In this case, add /log install.log to the
command to generate a verbose installation log.
16
AWS Application Discovery Service User Guide
Agent Data Collection
• Operational logging
On Windows Server 2008 and later, agent log files can be found under the following directory.
C:\ProgramData\AWS\AWS Discovery\Logs
On Windows Server 2003, agent log files can be found under the following directory.
Logs files are named to indicate whether generated by the main service, automatic upgrades, or the
installer.
• Configuration file
On Windows Server 2008 and later, the agent configuration file can be found at the following location.
C:\ProgramData\AWS\AWS Discovery\config
On Windows Server 2003, the agent configuration file can be found at the following location.
• For instructions on how to remove older versions of the Discovery Agent, see Installation Prerequisites
for Discovery Agent (p. 8).
The following procedure shows how to start or stop the Discovery Agent data collection process, on
the Data Collectors page of the Migration Hub console.
To start or stop the Discovery Agent data collection process from the AWS CLI, you must first install
the AWS CLI in your environment, and then you must set the CLI to use your selected Migration Hub
home region.
17
AWS Application Discovery Service User Guide
Agent Data Collection
1. If you have not already done so, install the AWS CLI appropriate to your OS type (Windows or
Mac/Linux). See the AWS Command Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (MAC/Linux).
18
AWS Application Discovery Service User Guide
Data Collected by Discovery Connector
Before you deploy the Discovery Connector, you must choose a Migration Hub home Region. You must
register your connector in your home region. After you deploy and configure the Discovery Connector,
it registers with the Application Discovery Service endpoint, and pings the service at regular intervals,
approximately every 60 minutes, for configuration information.
How it works
After registration, the connector connects to VMware vCenter Server, where it collects data about
all the VMs and hosts managed by this specific vCenter. The collected data is sent to the Application
Discovery Service using Secure Sockets Layer (SSL) encryption. The connector is configured to upgrade
automatically when new versions of the connector become available. You can change this configuration
setting at any time.
Topics
• Data Collected by the Discovery Connector (p. 19)
• Download the Discovery Connector (p. 22)
• Deploy the Discovery Connector (p. 22)
• Configure the AWS Discovery Connector (p. 23)
• Discovery Connector Data Collection (p. 26)
• Troubleshooting the Discovery Connector (p. 27)
Following, you can find an inventory of the information collected by the Discovery Connector.
19
AWS Application Discovery Service User Guide
Data Collected by Discovery Connector
id ID of server
*
lastModifiedTimeStamp Latest date and time of data collection before
data export
20
AWS Application Discovery Service User Guide
Data Collected by Discovery Connector
21
AWS Application Discovery Service User Guide
Download the Discovery Connector
To set up agentless discovery, you must download and deploy the Discovery Connector, which is a
virtual appliance, on a VMware vCenter Server host in your on-premises environment. The Discovery
Connector is an Open Virtualization Archive (OVA) file that you must install in your on-premises VMware
environment.
Reminder
Discovery Connector supports VMware vCenter versions V5.5, V6, V6.5, and V6.7.
Beginning with this section and those that follow on this page, you will be instructed how to download,
deploy, configure, and start collecting data using the Discovery Connector.
To download the Discovery Connector OVA file and verify its checksum.
1. Sign in to vCenter as a VMware administrator and switch to the directory where you want to
download the Discovery Connector OVA file.
2. Download the Discovery Connector OVA.
3. Depending on which hashing algorithm you use in your system environment, download either
the MD5 or SHA256 to get the file containing the checksum value. Use this value to verify the
AWSDiscoveryConnector.ova file downloaded in the preceding step.
4. Depending on your variation of Linux, run the version appropriate MD5 command or SHA256
command to verify that the cryptographic signature of the AWSDiscoveryConnector.ova file
matches the value in the respective MD5/SHA256 file that you downloaded.
$ md5sum AWSDiscoveryConnector.ova
$ sha256sum AWSDiscoveryConnector.ova
22
AWS Application Discovery Service User Guide
Configure the Discovery Connector
In the previous section you downloaded the AWS Agentless Discovery Connector in the Open
Virtualization Archive (OVA) file. This section lists the specifications for the Discovery Connector that you
downloaded and shows you how to deploy it in your VMware environment.
When the you deploy the OVA as virtual machine in vCenter, the vCenter client gives you the following
two options to provision:
• Thin Provisioned –approximately 7.8 GB
• Thick Provisioned –approximately 299.0 GB (recommended option)
The following procedure steps you through deploying the Discovery Connector OVA file in your VMware
environment.
1. In a web browser, type the following URL in the address bar: https://<ip_address>/, where
ip_address is the IP address of the connector console that you saved earlier.
2. Choose Get started now and then follow the directions to complete the following setup pages:
License Agreement, Create a Password, and Network Info.
3. On the Log Uploads and Upgrades page, we recommend that you select Upload logs
automatically. When your logs are made available through automatic uploads, AWS can better help
you troubleshoot connector issues.
23
AWS Application Discovery Service User Guide
Configure a static IP address for the connector
The AWS Agentless Discovery Connector auto-upgrade feature is enabled by default. Running the
latest version of the connector ensures that the latest security patches are installed. You can disable
auto-upgrades at any time, see Disabling auto-upgrades on AWS Discovery Connector (p. 26).
4. On the Discovery Connector Set Up page, perform the following:
i. For vCenter Host, enter the hostname or IP address of your VMware vCenter Server host.
ii. For vCenter Username, enter the name of a local or domain user that the connector
uses to communicate with vCenter. For domain users, use the form domain\username or
username@domain.
iii. For vCenter Password, enter the local or domain user password.
iv. Choose Ignore security certificate to bypass SSL certificate validation with vCenter.
b. Under Configure AWS credentials, enter the credentials for the IAM user who is assigned
the AWSAgentlessDiscoveryService IAM managed policy. For more information
about managed policies, see AWS Managed (Predefined) Policies for Application Discovery
Service (p. 75).
Then choose Next to go back to the AWS Agentless Discovery Connector console.
Topics
• Configure a static IP address for the connector (p. 24)
• Control the scope of data collection (p. 25)
• Disabling auto-upgrades on AWS Discovery Connector (p. 26)
1. Open the connector's virtual machine console and log in as ec2-user with the password ec2pass.
Supply a new password if prompted.
2. Run the command sudo setup.rb and enter the password for ec2-user when prompted to display
the configuration menu.
3. Enter 2 to select Reconfigure network settings. This displays current network information and a
submenu for making changes to the network settings.
4. In the submenu generated from the previous step, enter 2 to select Set up a static IP. This will
display a form to supply network settings:
• For each field, provide an appropriate value and press Enter. You should see output similar to
the following where nnn.nnn.nnn.nnn is populated with the address numbers you entered for
each field:
24
AWS Application Discovery Service User Guide
Control Data Collection
The following procedures describe configuration scenarios ordered from least granular to most granular.
To discover data about all ESX hosts and VMs under the current vCenter
1. In your VMware vSphere client, choose vCenter and then choose either Hosts and Clusters or VMs
and Templates.
2. Choose Manage, Permissions.
3. Select the vCenter user, open the context (right-click) menu, and choose Change Role.
4. In the Assigned Role pane, choose Read-only.
5. Choose Propagate to children, OK.
To discover data about a specific ESX host and all of its child objects
1. In your VMware vSphere client, choose vCenter and then choose either Hosts and Clusters or VMs
and Templates.
2. Choose Related Objects, Hosts.
3. Open the context (right-click) menu for the host name and choose All vCenter Actions, Add
Permission.
4. Under Add Permission, add the vCenter user to the host. For Assigned Role, choose Read-only.
5. Choose Propagate to children, OK.
1. In your VMware vSphere client, choose vCenter and then choose either Hosts and Clusters or VMs
and Templates.
2. Choose Related Objects.
3. Choose Hosts (showing a list of ESX hosts known to vCenter) or Virtual Machines (showing a list of
VMs across all ESX hosts).
4. Open the context (right-click) menu for the host or VM name and choose All vCenter Actions, Add
Permission.
25
AWS Application Discovery Service User Guide
Disabling auto-upgrades on AWS Discovery Connector
5. Under Add Permission, add the vCenter user to the host or VM. For Assigned Role, choose Read-
only, .
6. Choose OK.
Note
If you chose Propagate to children, you can still remove the read-only permission from ESX
hosts and VMs on a case-by-case basis. This option has no effect on inherited permissions
applying to other ESX hosts and VMs.
To disable auto-upgrades
1. In a web browser, type the following URL in the address bar: https://<ip_address>/, where
ip_address is the IP address of the AWS Discovery Connector.
2. In the Discovery Connector console, under Actions, choose Disable Auto-Upgrade.
Warning
Disabling auto-upgrades will prevent the latest security patches from being installed.
The following procedure shows how to start or stop the Discovery Connector data collection process,
on the Data Collectors page of the Migration Hub console.
Note
If you don’t see inventory information after starting data collection with the connector,
confirm that you have registered the connector with your vCenter Server.
Using the AWS CLI
To start the Discovery Connector data collection process from the AWS CLI, the AWS CLI must first
be installed in your environment, and then you must set the CLI to use your selected Migration Hub
home region.
26
AWS Application Discovery Service User Guide
Troubleshooting the Discovery Connector
1. Install the AWS CLI for your operating system (Linux, macOS, or Windows). See the AWS
Command Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (Linux or macOS).
Note
If you don’t see inventory information after starting data collection with the connector,
confirm that you have registered the connector with your vCenter Server.
This error occurs because of a failed attempt by the Discovery Connector to establish an HTTPS
connection to ec2.amazonaws.com during the setup process. The Discovery Connector configuration
fails if a connection can't be established.
1. Check if your firewall is blocking egress traffic to ec2.amazonaws.com. If it is, unblock it. After you
update the firewall, reconfigure the Discovery Connector.
2. If updating the firewall does not resolve the connection issue, check to make sure that the
connector virtual machine has outbound network connectivity. If the virtual machine has outbound
27
AWS Application Discovery Service User Guide
Fixing unhealthy connectors
telnet ec2.amazonaws.com 80
3. If outbound connectivity from the virtual machine is enabled, you must contact AWS Support for
further troubleshooting.
1. Open the Migration Hub console in a web browser, and choose Data Collectors from the left hand
navigation.
2. From the Connectors tab, make a note of the IP address for each connector that has a health status
of Unhealthy.
3. Open a browser on any computer that can connect to the connector virtual machine, and
enter the URL of the connector console, https://ip_address_of_connector, where
ip_address_of_connector is the IP address of an unhealthy connector.
4. Enter the connector management console password, which was set up when the connector was
configured.
Once you've accessed the connector console, you can take actions to resolve an unhealthy status.
Here you can choose View Info for vCenter connectivity, and you'll get a dialog box with a diagnostic
message. The View Info link is only available on connectors that are version 1.0.3.12 or later.
After correcting the health issues, the connector will re-establish connectivity with vCenter server, and
the connector's status will change to the HEALTHY state. If the issues persist, contact AWS Support.
The most common causes for unhealthy connectors are IP address issues and credentials issues. The
following sections can help you resolve these issues and return a connector to a healthy state.
Topics
• IP address issues (p. 28)
• Credentials issues (p. 29)
IP address issues
A connector can go into an unhealthy state if the vCenter endpoint provided during connector setup
is malformed, invalid, or if the vCenter server is currently down and not reachable. In this case, when
you choose View Info for vCenter connectivity you'll get a dialog box with the message "Confirm the
operational status of your vCenter server, or choose Edit Settings to update the vCenter endpoint."
28
AWS Application Discovery Service User Guide
Standalone ESX host support
4. Using a separate command line tool like ping or traceroute, validate that the associated vCenter
server is active and the IP is reachable from the connector VM.
• If the IP address is incorrect and the vCenter service is active, then update the IP address in the
connector console, and choose Next.
• If the IP address is correct but the vCenter server is inactive, activate it.
• If the IP address is correct and the vCenter server is active, check if it is blocking ingress network
connections due to firewall issues. If yes, update your firewall settings to allow incoming
connections from the connector VM.
Credentials issues
Connectors can go into an unhealthy state if the vCenter user credentials provided during connector
setup, are invalid, or do not have vCenter read and view account privileges. In this case, when you choose
View Info for vCenter connectivity you'll get a dialog box with the message "Choose Edit Settings to
update your vCenter username and password for your account with read and view privileges."
The following procedure can help you resolve credentials issues. As a prerequisite, ensure that you have
created a vCenter user that has read and view account permissions on vCenter server.
• Log back in to the AWS Agentless Discovery Connector console (as you did during
configuration (p. 23)) and choose Download log bundle.
• Once the log bundle has finished downloading, send it as instructed by AWS Support.
29
AWS Application Discovery Service User Guide
Supported Import File Fields
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 (p. 91).
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.
Note
If you're using either VMware.MoRefId or VMWare.VCenterId, to identify a record, you must have
both fields in the same record.
30
AWS Application Discovery Service User Guide
Supported Import File Fields
31
AWS Application Discovery Service User Guide
Supported Import File Fields
32
AWS Application Discovery Service User Guide
Setting Up Your Import Permissions
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 (p. 39).
Note
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.
Console Permissions
Use the following procedure to edit the permissions policy for the IAM user that will make import
requests in your AWS account using the console.
1. Sign in to the AWS Management Console and open the IAM console at https://
console.aws.amazon.com/iam/.
2. In the navigation pane, choose Users.
3. Choose the name of the user whose permissions policy you want to change.
4. Choose the Permissions tab and choose Add permissions.
5. Choose Attach existing policies directly, and then choose Create policy.
a. In the Create policy page that opens, choose JSON, and paste in the following policy.
Remember to replace the name of your bucket with the actual name of the bucket that the
IAM user will upload the import files into.
33
AWS Application Discovery Service User Guide
Setting Up Your Import Permissions
"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/*"]
}
]
}
Use the following procedure to edit the permissions policy for the IAM user that will make import
requests in your AWS account using the AWS CLI.
1. Use the aws iam create-policy AWS CLI command to create an IAM policy with the
following permissions. Remember to replace the name of your bucket with the actual name of
the bucket that the IAM user will upload the import files into.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::importBucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
34
AWS Application Discovery Service User Guide
Uploading Your Import File to Amazon S3
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::importBucket/*"]
}
]
}
For more information on using this command, see create-policy in the AWS CLI Command
Reference.
2. Use the aws iam attach-user-policy AWS CLI command to attach the policy you created
in the last step to the IAM user that will be performing import requests in your AWS account
using the AWS CLI. For more information on using this command, see attach-user-policy in the
AWS CLI Command Reference.
Now that you've added the policy to your IAM user, you're ready to start the import process. Remember
that when your user uploads object to the Amazon S3 bucket that you specified, that they leave the
default permissions for the objects set so that the user can read the object.
Console S3 Upload
1. Sign in to the AWS Management Console and open the Amazon S3 console at https://
console.aws.amazon.com/s3/.
2. In the Bucket name list, choose the name of the bucket that you want to upload your object to.
3. Choose Upload.
4. In the Upload dialog box, choose Add files to choose the file to upload.
5. Choose a file to upload, and then choose Open.
6. Choose Upload.
7. Once your file has been uploaded, choose the name of your data file object from your bucket
dashboard.
8. From the Overview tab of the object details page, copy the Object URL. You'll need this when
you create your import request.
9. Return to the and paste it in the Data file link on S3 field on the Start new import page.
1. Open a terminal window, and navigate to the directory that you've saved your import file to.
2. Type the following command:
35
AWS Application Discovery Service User Guide
Importing Data
4. Copy the full Amazon S3 object path that was returned. You'll need this when you create your
import request.
Importing Data
After you have downloaded the import template from the Migration Hub console and have populated
it with your existing on-premises server data, you are ready to start importing the data into Migration
Hub. There are two ways to do this: Through the console or by making API calls through the AWS CLI.
Instructions are provided below for both ways.
Console Import
Start data import on the Tools page of the Migration Hub console.
After following the preceding procedure to start your data import, the Imports page will show
details of each import request including its progress status, completion time, and the number of
successful or failed records with the ability to download those records. From this screen, you can also
navigate to the Servers page under Discover to see the actual imported data.
On the Servers page, you can see a list of all the servers (devices) that are discovered along with the
import name. When you navigate from the Imports (import history) page by selecting the name of
the import listed in the Name column , you are taken to the Servers page where a filter is applied
based on the selected import's data set and only see data belonging to that particular import.
The archive is in a .zip format, and contains two files; errors-file and failed-entries-file.
The errors file contains a list of error messages associated with each failed line and associated
column name from your data file that failed the import. You can use this file to quickly identify
where problems occurred. The failed entries file includes each line and all the provided columns that
failed. You can make the changes called out in the errors file in this file and attempt to import the
file again with the corrected information.
AWS CLI Import
To start the data import process from the AWS CLI, the AWS CLI must first be installed in your
environment. For more information, see Installing the AWS Command Line Interface in the AWS
Command Line Interface User Guide.
36
AWS Application Discovery Service User Guide
Tracking Your Migration Hub Import Requests
Note
If you don't already have an import template filled out, you can download the import
template from our Amazon S3 bucket here: https://s3.us-west-2.amazonaws.com/
templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv
2. This will create your import task, and return the following status information:
{
"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"
}
}
Console Tracking
From the Imports dashboard in the Migration Hub console, you'll find the following elements.
37
AWS Application Discovery Service User Guide
Tracking Your Migration Hub Import Requests
CLI Tracking
You can track the status of your import tasks with the aws discovery describe-import-tasks
AWS CLI command.
2. This will return a list of all your import tasks in JSON format, complete with status and other
relevant information. Optionally, you can filter results to return a subset of your import tasks.
When tracking your import tasks, you may find that the serverImportFailure value returned
is greater than zero. When this happens, your import file had one or more entries that couldn't
be imported. This can be resolved by downloading your failed records archive, reviewing the files
within, and doing another import request with the modified failed-entries.csv file.
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 (p. 95).
38
AWS Application Discovery Service User Guide
View Collected Data
In this section you'll find instructions on how to view and work with data discovered by Discovery
Connectors and Discovery Agents from both the console and the AWS CLI.
Topics
• View Collected Data Using the Console (p. 39)
• Export Collected Data (p. 40)
• Data Exploration in Amazon Athena (p. 42)
1. In the console's navigation pane, choose Servers. The discovered servers appear in the servers list.
2. For details comprised of the collected data, choose the server name link in the Server info
column. Doing so displays a screen that describes detail information such as system information,
performance metrics, and more.
To learn more about using the console to view, sort, and tag servers discovered by your
Discovery Connectors or Discovery Agents, see AWS Application Discovery Service Console
Walkthroughs (p. 50).
39
AWS Application Discovery Service User Guide
Export Collected Data
multiple sources including Migration Hub import, Discovery Connector, Discovery Agent, and other
migration tools. For more information about Migration Hub import, see AWS Migration Hub Import.
When server discovery occurs, each entry is cross-checked with previously imported records to ensure
that the imported server does not already exist. If no match is found, a new record is created and a new
unique server identifier is assigned. If a match is found, then a new entry is still created, but it's assigned
the same unique server identifier as the existing server. When viewing this server in the Migration Hub
console, you only find one unique entry for the server.
Server attributes associated with this entry are merged to show attribute values from a previously
available record as well as the newly imported record. If there is more than one value for a given server
attribute from multiple sources, e.g., two different values within for Total RAM associated with a given
server discovered using import and also by the Discovery Agent, then the value that was most recently
updated is shown in the matched record for the server.
Matching Fields
The following fields are used to match servers when discovery tools are used.
• ExternalId – This is the primary field used to match servers. If the value in this field is identical to
another ExternalId in another entry, then Application Discovery Service matches the two entries,
regardless of whether the other fields match or not.
• IPAddress
• HostName
• MacAddress
• VMware.MoRefId and VMware.vCenterId – Both of these values must be identical to the respective
fields in another entry for Application Discovery Service to perform a match.
• Discovery Agent, you can export the collected data either from the console or from the AWS CLI.
• Discovery Connector, you can only export the collected data from the AWS CLI.
Instructions are provided below for both ways by expanding your method of choice:
1. If you have not already done so, install the AWS CLI appropriate to your OS type (Windows or Mac/
Linux). See the AWS Command Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (MAC/Linux).
40
AWS Application Discovery Service User Guide
Export Collected Data
b. Enter your AWS Access Key Id and AWS Secret Access Key.
c. Enter us-west-2 for the Default Region Name.
d. Enter text for Default Output Format.
3. Type the following command to generate an export ID:
4. Using the export ID generated in the previous step, type the following command to generate an S3
URL as a value for the parameter "configurationsDownloadUrl":
5. Copy the URL generated in the previous step and paste it in a browser to download the zip file with
collected data of the discovered servers.
You can open the .csv files in Microsoft Excel and review the exported server data.
Among the files, you can find a JSON file containing data about the export task and its results.
Note
For information on generating and exporting Amazon EC2 instance recommendations in the
AWS Migration Hub console, see Amazon EC2 Instance Recommendations in the AWS Migration
Hub User Guide.
41
AWS Application Discovery Service User Guide
Data Exploration in Athena
You can then visit Amazon Athena to run pre-defined queries to analyze the time-series system
performance for each server, the type of processes that are running on each server and the network
dependencies between different servers. In addition, you can write your own custom queries using
Amazon Athena, upload additional existing data sources such as configuration management database
(CMDB) exports, and associate the discovered servers with the actual business applications. You can also
integrate the Athena database with Amazon QuickSight to visualize the query outputs and perform
additional analysis
Steps
The following instructions show how to enable Data Exploration in Amazon Athena by using the console
and the AWS CLI.
Data Exploration in Amazon Athena is enabled by Continuous Export implicitly being turned on
when you choose "Start data collection", or click the toggle labeled, "Data exploration in Amazon
Athena" on the Data Collectors page of the Migration Hub console.
Note
Your agents are now running in "continuous export" mode which will enable you to see and
work with your discovered data in Amazon Athena. The first time this is enable it may take
up to 30 minutes for your data to appear in Amazon Athena.
42
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
Data Exploration in Amazon Athena is enabled by Continuous Export explicitly being turned
on through an API call from the AWS CLI. To do this, the AWS CLI must first be installed in your
environment.
To install the AWS CLI and enable Data Exploration in Amazon Athena
1. Install the AWS CLI for your operating system (Linux, macOS, or Windows). See the AWS
Command Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (Linux or macOS).
Note
Your agents are now running in "continuous export" mode which will enable you to see and
work with your discovered data in Amazon Athena. The first time this is enable it may take
up to 30 minutes for your data to appear in Amazon Athena.
The topics in this section describe the ways that you can work with your data in Athena to assess and
plan for migrating your local environment to AWS.
Topics
• Exploring Data Directly in Amazon Athena (p. 43)
• Visualizing Amazon Athena Data (p. 44)
• Predefined Queries to use in Athena (p. 44)
1. In the AWS Migration Hub console, choose Servers in the navigation pane.
2. To open the Amazon Athena console, choose Explore data in Amazon Athena.
43
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
3. On the Query Editor page, in the navigation pane under Database, make sure that
application_discovery_service_database is selected.
Note
Under Tables the following tables represent the datasets grouped by the agents.
• os_info_agent
• network_interface_agent
• sys_performance_agent
• processes_agent
• inbound_connection_agent
• outbound_connection_agent
• id_mapping_agent
4. Query the data in the Amazon Athena console by writing and running SQL queries in the Athena
Query Editor. For example, you can use the following query to see all of the discovered server IP
addresses.
For more example queries, see Predefined Queries to use in Athena (p. 44).
1. In the AWS Migration Hub console, choose Servers in the navigation pane.
2. To open the Amazon Athena console, choose Explore data in Amazon Athena.
44
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
3. On the Query Editor page, in the navigation pane under Database, make sure that
application_discovery_service_database is selected.
4. Choose the plus (+) sign in the Query Editor to create a tab for a new query.
5. Copy one of the queries from Predefined Queries (p. 45).
6. Paste the query into the query pane of the new query tab you just created.
7. Choose Run Query.
Predefined Queries
Choose a title to see information about the query.
45
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
FROM network_interface_agent
WHERE ("ip_address" = "source_ip") ) > 0) THEN
'yes' END) "agent_running"
FROM inbound_connection_agent
WHERE ((("source_ip" LIKE '192.%')
OR ("source_ip" LIKE '10.%'))
OR ("source_ip" LIKE '172.%'));
Track Outbound Communication Between Servers Based On Port Number and Process Details
This query gets the details on the outbound traffic for each service, along with the port number and
process details.
Before running the query, if you have not already done so, you must create the
iana_service_ports_import table that contains the IANA port registry database downloaded
from IANA. For information about how to create this table, see Creating the IANA Port Registry Import
Table (p. 49).
After the iana_service_ports_import table is created, create two view helper functions for tracking
outbound traffic. For information about how to create a view, see CREATE VIEW in the Amazon Athena
User Guide.
3. Create the outbound_query_helper view, using the following helper function that determines the
frequency of communication for outbound traffic.
46
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
4. After you create the iana_service_ports_import table and your two helper functions, you can
run the following query to get the details on the outbound traffic for each service, along with the
port number and process details.
Track Inbound Communication Between Servers Based On Port Number and Process Details
This query gets information about inbound traffic for each service, along with the port number and
process details.
Before running this query, if you have not already done so, you must create the
iana_service_ports_import table that contains the IANA port registry database downloaded
from IANA. For information about how to create this table, see Creating the IANA Port Registry Import
Table (p. 49).
After the iana_service_ports_import table is created, create two view helper functions for tracking
inbound traffic. For information about how to create a view, see CREATE VIEW in the Amazon Athena
User Guide.
47
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
2. Create the valid_inbound_ips_helper view, using the following helper function that lists all
distinct inbound source IP addresses.
3. Create the inbound_query_helper view, using the following helper function that determines the
frequency of communication for inbound traffic.
4. After you create the iana_service_ports_import table and your two helper functions, you can
run the following query to get the details on the inbound traffic for each service, along with the port
number and process details.
Before running this query, if you have not already done so, you must create the
iana_service_ports_import table that contains the IANA port registry database downloaded
from IANA. For information about how to create this table, see Creating the IANA Port Registry Import
Table (p. 49).
48
AWS Application Discovery Service User Guide
Working with Data Exploration in Amazon Athena
Run the following query to identify the running software based on port numbers.
SELECT DISTINCT
"o"."host_name" "Host Name"
, "ianap"."servicename" "Service"
, "ianap"."description" "Description"
, "con"."destination_port"
, "count"("con"."destination_port") "Destination Port Count"
FROM
inbound_connection_agent con
, os_info_agent o
, iana_service_ports_import ianap
, network_interface_agent ni
WHERE ((((("con"."destination_ip" = "ni"."ip_address") AND (NOT ("con"."destination_ip"
LIKE '172%'))) AND (("con"."destination_port" = "ianap"."portnumber") AND
("ianap"."transportprotocol" = 'tcp'))) AND ("con"."agent_id" = "o"."agent_id")) AND
("o"."agent_id" = "ni"."agent_id"))
GROUP BY "o"."host_name", "ianap"."servicename", "ianap"."description",
"con"."destination_port"
ORDER BY "Destination Port Count" DESC;
1. Download the IANA port registry database CSV file from Service Name and Transport Protocol Port
Number Registry on iana.org.
2. Upload the file to Amazon S3. For more information, see How Do I Upload Files and Folders to an S3
Bucket?.
3. Create a new table in Athena named iana_service_ports_import. For instructions, see
Create a Table in the Amazon Athena User Guide. In the following example, you need to replace
my_bucket_name with the name of the S3 bucket that you uploaded the CSV file to in the previous
step.
49
AWS Application Discovery Service User Guide
Main Dashboard
In this section, you can find how to manage and monitor your Discovery Connectors and Discovery
Agents using the console.
Topics
• Main Dashboard (p. 50)
• Data Collection Tools (p. 52)
• View, Export, and Explore Server Data (p. 53)
Main Dashboard
The main dashboard is selected by default on the homepage of the AWS Migration Hub console, or, by
choosing Dashboard in the navigation pane. In Migration Hub's main dashboard, you can view high-level
statistics about servers, applications, and data collectors such as Discovery Connectors and Discovery
Agents.
Topics
• Main Dashboard (p. 50)
• Navigating from the Dashboard and the Navigation Pane (p. 51)
Main Dashboard
The main dashboard gathers data from the Discover and Migrate dashboards in a central location. It
has four status and information panes and a list of links for quick access. Using the panes, you can see a
summary status of your most recently updated applications. You can also get quick access to any of your
applications, get an overview of applications in different states, and track the migration progress over
time.
To reach the main dashboard, choose Dashboard from the navigation pane, which is on the left side of
the Migration Hub homepage.
50
AWS Application Discovery Service User Guide
Navigating from the Dashboard and the Navigation Pane
In the table following, you can find instructions on how to navigate from a dashboard to the information
you want to see. You can also find instructions on how to get to this information by using the navigation
pane, which is on the left side of the Migration Hub homepage.
All servers In the main dashboard, in the 1. In the navigation pane, choose
Discovery summary box, choose Servers.
Servers.
All agents In the main dashboard, in the 1. In the navigation pane, choose Data
Discovery summary box, choose Collectors.
Agents. 2. Choose the Agents tab.
All connectors In the main dashboard, in the 1. In the navigation pane, choose Data
Discovery summary box, choose Collectors.
Connectors.
51
AWS Application Discovery Service User Guide
Data Collection Tools
All applications From either the main dashboard 1. In the navigation pane, under
or Migrate dashboard, in the Most Migrate, choose Applications.
recently updated applications box, 2. Choose Applications.
choose View all applications.
Application From either the main dashboard 1. In the navigation pane, choose
details: or Migrate dashboard, in the Most Migrate.
recently updated applications box, 2. Choose Applications.
• Migration status choose the application's status box.
3. In the Application Name column,
• Server list choose the application name.
Server details: 1. From either the main dashboard 1. In the navigation pane, choose
or Migrate dashboard, in the Most Servers.
• Basic recently updated applications box, 2. In the Server ID column, choose the
information choose the application. server name.
• Performance 2. In the Server ID column, choose the
information server name .
These data collection tools store their data in the Application Discovery Service's repository, providing
details about each server and the processes running on them. When either of these tools is deployed,
you can start, stop, and view the collected data from the Migration Hub console.
Topics
• Starting and Stopping Data Collectors (p. 52)
• Viewing and Sorting Data Collectors (p. 53)
52
AWS Application Discovery Service User Guide
Viewing and Sorting Data Collectors
The following table shows the search criteria that you can use, including operators, values, and a
definition of the values.
Collection status Started: Data is being collected and sent to Application Discovery S
Health Healthy: Data collection isn't turned on. The tool is functioning nor
Hostname For agents, any host name selected from the pre-populated list of h
IP address Any IP address selected from the pre-populated list where a collect
Connector/Agent ID == Any connector or agent ID selected from the pre-populated list from
53
AWS Application Discovery Service User Guide
Viewing and Sorting Servers
Topics
• Viewing and Sorting Servers (p. 54)
• Tagging Servers (p. 54)
• Exporting Server Data (p. 55)
• Data Exploration in Athena (p. 56)
• Applications (p. 56)
Viewing Servers
You can get a general view and a detailed view of the servers discovered by the data collection tools.
1. In the navigation pane, choose Servers. The discovered servers appear in the servers list.
2. For more detail about a server, choose its server link in the Server info column. Doing so displays a
screen that describes the server.
The server's detail screen displays system information and performance metrics. You can also find
a button to export network dependencies and processes information. To export detailed server
information, see Exporting Server Data (p. 55).
Tagging Servers
To assist migration planning and help stay organized, you can create multiple tags for each server. Tags
are user-defined key-value pairs that can store any custom data or metadata about servers. You can
tag an individual server or multiple servers in a single operation. Application Discovery Service tags are
similar to AWS tags, but the two types of tag cannot be used interchangeably.
You can add or remove multiple tags for one or more servers from the main Servers page. On a server's
detail page, you can add or remove one or more tags for the selected server. You can do any type of
tagging task involving multiple servers or tags in a single operation. You can also remove tags.
54
AWS Application Discovery Service User Guide
Exporting Server Data
Add more tags by choosing Additional tag and adding more information.
5. Choose Add Tags. A green confirmation message will be displayed at the top of the screen.
6. Optionally, tags can be added for an individual server from its detail page by choosing Actions, and
then Add tag and repeating the above steps.
55
AWS Application Discovery Service User Guide
Data Exploration in Athena
You can open the .csv files in Microsoft Excel and review the exported server data.
Among the files, you can find a JSON file containing data about the export task and its results.
Applications
Some of your discovered servers might need to be migrated together to remain functional. In this case,
you can logically define and group discovered servers into applications.
As part of the grouping process, you can search, filter, and add tags.
To help choose servers for your group, you can search and filter on any criteria that you specify in
the server list. Click inside the search bar and choose an item from the list, choose an operator from
the next list, and then type in your criteria.
3. Optional: For each selected server, choose Add tag, type a value for Key, and then optionally type a
value for Value.
4. Choose Group as application to create your application, or add to an existing one.
5. In the Group as application dialog box, choose Group as a new application or Add to an existing
application.
a. If you chose Group as a new application, type a name for Application name. Optionally, you
can type a description for Application description.
b. If you chose Add to an existing application, select the name of the application to add to in the
list.
6. Choose Save.
56
AWS Application Discovery Service User Guide
Using the DescribeConfigurationsAction
The tables in the following sections list the available input filters and output sorting options for two
Application Discovery Service actions:
• DescribeConfigurations
• ListConfigurations
The filtering and sorting options are organized by the type of asset to which apply (server, application,
process, or connection).
The following tables, organized by asset type, list the supported output fields of the
DescribeConfigurationsaction. The ones marked as mandatory are always present in the output.
Server assets
Field Mandatory
server.agentId
server.applications
server.applications.hasMoreValues
server.configurationId x
server.cpuType
server.hostName
server.hypervisor
server.networkInterfaceInfo
server.networkInterfaceInfo.hasMoreValues
57
AWS Application Discovery Service User Guide
Using the DescribeConfigurationsAction
Field Mandatory
server.osName
server.osVersion
server.tags
server.tags.hasMoreValues
server.timeOfCreation x
server.type
server.performance.avgCpuUsagePct
server.performance.avgDiskReadIOPS
server.performance.avgDiskReadsPerSecondInKB
server.performance.avgDiskWriteIOPS
server.performance.avgDiskWritesPerSecondInKB
server.performance.avgFreeRAMInKB
server.performance.avgNetworkReadsPerSecondInKB
server.performance.avgNetworkWritesPerSecondInKB
server.performance.maxCpuUsagePct
server.performance.maxDiskReadIOPS
server.performance.maxDiskReadsPerSecondInKB
server.performance.maxDiskWriteIOPS
server.performance.maxDiskWritesPerSecondInKB
server.performance.maxNetworkReadsPerSecondInKB
server.performance.maxNetworkWritesPerSecondInKB
server.performance.minFreeRAMInKB
server.performance.numCores
server.performance.numCpus
server.performance.numDisks
server.performance.numNetworkCards
server.performance.totalRAMInKB
Process assets
Field Mandatory
process.commandLine
58
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
Field Mandatory
process.configurationId x
process.name
process.path
process.timeOfCreation x
Application assets
Field Mandatory
application.configurationId x
application.description
application.lastModifiedTime x
application.name x
application.serverCount x
application.timeOfCreation x
The following tables, organized by asset type, list the supported output fields of the
ListConfigurationsaction. The ones marked as mandatory are always present in the output.
Server assets
Field Mandatory
server.configurationId x
server.agentId
server.hostName
server.osName
server.osVersion
server.timeOfCreation x
server.type
Process assets
59
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
Field Mandatory
process.commandLine
process.configurationId x
process.name
process.path
process.timeOfCreation x
server.agentId
server.configurationId x
Application assets
Field Mandatory
application.configurationId x
application.description
application.name x
application.serverCount x
application.timeOfCreation x
application.lastModifiedTime x
Connection assets
Field Mandatory
connection.destinationIp x
connection.destinationPort x
connection.ipVersion x
connection.latestTimestamp x
connection.occurrence x
connection.sourceIp x
connection.transportProtocol
destinationProcess.configurationId
destinationProcess.name
destinationServer.configurationId
destinationServer.hostName
60
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
Field Mandatory
sourceProcess.configurationId
sourceProcess.name
sourceServer.configurationId
sourceServer.hostName
The following tables, organized by asset type, list the supported filters for the
ListConfigurationsaction. Filters and values are in a key/value relationship defined by one of the
supported logical conditions. You can sort the output of the indicated filters.
Server assets
• EQUALS
server.configurationId • Any valid server None
• NOT_EQUALS configuration ID
• EQ
• NE
• NE
• CONTAINS
• NOT_CONTAINS
61
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS
server.vmWareInfo.morefId • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.vmWareInfo.vcenterId • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.vmWareInfo.hostId • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.networkInterfaceInfo.portGroupId • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS • String
server.networkInterfaceInfo.portGroupName None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
62
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS • String
server.networkInterfaceInfo.virtualSwitchName None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.networkInterfaceInfo.ipAddress • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.networkInterfaceInfo.macAddress • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• GE
server.performance.avgCpuUsagePct • Percentage None
• LE
• GT
• LT
• GE
server.performance.totalDiskFreeSizeInKB• Double None
• LE
• GT
• LT
• GE
server.performance.avgFreeRAMInKB • Double None
• LE
• GT
• LT
63
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS
server.application.name • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.application.description • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.application.configurationId • Any valid application None
• NOT_EQUALS configuration ID
• EQ
• NE
• EQUALS
server.process.configurationId • ProcessId None
• NOT_EQUALS
• EQ
• NE
• EQUALS
server.process.commandLine • String None
• NOT_EQUALS
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
Application assets
64
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS
application.configurationId • ApplicationId None
• NOT_EQUALS
• EQ
• NE
• EQUALS
application.description • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
server.configurationId • ServerId None
• NOT_EQUALS
• EQ
• NE
Process assets
• EQUALS
process.configurationId • ProcessId
• NOT_EQUALS
• EQ
• NE
65
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS
server.configurationId • ServerId
• NOT_EQUALS
• EQ
• NE
66
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
Connection assets
• EQUALS
connection.destinationIp • IP • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
connection.destinationPort • Integer • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• EQUALS
sourceServer.configurationId • ServerId
• NOT_EQUALS
• EQ
• NE
• EQUALS
sourceServer.hostName • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
destinationServer.osName • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
destinationServer.osVersion • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
destinationServer.agentId • String
67
AWS Application Discovery Service User Guide
Using the ListConfigurationsAction
• EQUALS
sourceProcess.configurationId • ProcessId
• NOT_EQUALS
• EQ
• NE
• EQUALS
sourceProcess.commandLine • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
destinationProcess.configurationId • ProcessId
• NOT_EQUALS
• EQ
• NE
• EQUALS
destinationProcess.name • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
• EQUALS
destinationprocess.commandLine • String • ASC
• NOT_EQUALS • DESC
• EQ
• NE
• CONTAINS
• NOT_CONTAINS
68
AWS Application Discovery Service User Guide
Identity and Access Management
Security is a shared responsibility between AWS and you. The shared responsibility model describes this
as security of the cloud and security in the cloud:
• Security of the cloud – AWS is responsible for protecting the infrastructure that runs AWS services
in the AWS Cloud. AWS also provides you with services that you can use securely. The effectiveness
of our security is regularly tested and verified by third-party auditors as part of the AWS compliance
programs.
• Security in the cloud – Your responsibility is determined by the AWS service that you use. You are also
responsible for other factors including the sensitivity of your data, your organization’s requirements,
and applicable laws and regulations.
This documentation will help you understand how to apply the shared responsibility model when using
Application Discovery Service. The following topics show you how to configure Application Discovery
Service to meet your security and compliance objectives. You'll also learn how to use other AWS services
that can help you to monitor and secure your Application Discovery Service resources.
Topics
• Identity and Access Management for AWS Application Discovery Service (p. 69)
• Logging and monitoring in AWS Application Discovery Service (p. 88)
Topics
• Audience (p. 70)
• Authenticating With Identities (p. 70)
• Managing Access Using Policies (p. 72)
• How AWS Application Discovery Service Works with IAM (p. 73)
• AWS Managed (Predefined) Policies for Application Discovery Service (p. 75)
• AWS Application Discovery Service Identity-Based Policy Examples (p. 77)
• Using Service-Linked Roles for Application Discovery Service (p. 82)
• Troubleshooting AWS Application Discovery Service Identity and Access (p. 87)
69
AWS Application Discovery Service User Guide
Audience
Audience
How you use AWS Identity and Access Management (IAM) differs, depending on the work that you do in
Application Discovery Service.
Service user – If you use the Application Discovery Service service to do your job, then your
administrator provides you with the credentials and permissions that you need. As you use more
Application Discovery Service features to do your work, you might need additional permissions.
Understanding how access is managed can help you request the right permissions from your
administrator. If you cannot access a feature in Application Discovery Service, see Troubleshooting AWS
Application Discovery Service Identity and Access (p. 87).
Service administrator – If you're in charge of Application Discovery Service resources at your company,
you probably have full access to Application Discovery Service. It's your job to determine which
Application Discovery Service features and resources your employees should access. You must then
submit requests to your IAM administrator to change the permissions of your service users. Review
the information on this page to understand the basic concepts of IAM. To learn more about how your
company can use IAM with Application Discovery Service, see How AWS Application Discovery Service
Works with IAM (p. 73).
IAM administrator – If you're an IAM administrator, you might want to learn details about how you can
write policies to manage access to Application Discovery Service. To view example Application Discovery
Service identity-based policies that you can use in IAM, see AWS Application Discovery Service Identity-
Based Policy Examples (p. 77).
You must be authenticated (signed in to AWS) as the AWS account root user, an IAM user, or by assuming
an IAM role. You can also use your company's single sign-on authentication or even sign in using Google
or Facebook. In these cases, your administrator previously set up identity federation using IAM roles.
When you access AWS using credentials from another company, you are assuming a role indirectly.
To sign in directly to the AWS Management Console, use your password with your root user email
address or your IAM user name. You can access AWS programmatically using your root user or IAM
users access keys. AWS provides SDK and command line tools to cryptographically sign your request
using your credentials. If you don't use AWS tools, you must sign the request yourself. Do this using
Signature Version 4, a protocol for authenticating inbound API requests. For more information about
authenticating requests, see Signature Version 4 signing process in the AWS General Reference.
Regardless of the authentication method that you use, you might also be required to provide additional
security information. For example, AWS recommends that you use multi-factor authentication (MFA) to
increase the security of your account. To learn more, see Using multi-factor authentication (MFA) in AWS
in the IAM User Guide.
70
AWS Application Discovery Service User Guide
Authenticating With Identities
An IAM group is an identity that specifies a collection of IAM users. You can't sign in as a group. You
can use groups to specify permissions for multiple users at a time. Groups make permissions easier to
manage for large sets of users. For example, you could have a group named IAMAdmins and give that
group permissions to administer IAM resources.
Users are different from roles. A user is uniquely associated with one person or application, but a role
is intended to be assumable by anyone who needs it. Users have permanent long-term credentials, but
roles provide temporary credentials. To learn more, see When to create an IAM user (instead of a role) in
the IAM User Guide.
IAM Roles
An IAM role is an identity within your AWS account that has specific permissions. It is similar to an IAM
user, but is not associated with a specific person. You can temporarily assume an IAM role in the AWS
Management Console by switching roles. You can assume a role by calling an AWS CLI or AWS API
operation or by using a custom URL. For more information about methods for using roles, see Using IAM
roles in the IAM User Guide.
IAM roles with temporary credentials are useful in the following situations:
• Temporary IAM user permissions – An IAM user can assume an IAM role to temporarily take on
different permissions for a specific task.
• Federated user access – Instead of creating an IAM user, you can use existing identities from AWS
Directory Service, your enterprise user directory, or a web identity provider. These are known as
federated users. AWS assigns a role to a federated user when access is requested through an identity
provider. For more information about federated users, see Federated users and roles in the IAM User
Guide.
• Cross-account access – You can use an IAM role to allow someone (a trusted principal) in a different
account to access resources in your account. Roles are the primary way to grant cross-account access.
However, with some AWS services, you can attach a policy directly to a resource (instead of using a role
as a proxy). To learn the difference between roles and resource-based policies for cross-account access,
see How IAM roles differ from resource-based policies in the IAM User Guide.
• Cross-service access – Some AWS services use features in other AWS services. For example, when you
make a call in a service, it's common for that service to run applications in Amazon EC2 or store objects
in Amazon S3. A service might do this using the calling principal's permissions, using a service role, or
using a service-linked role.
• Principal permissions – When you use an IAM user or role to perform actions in AWS, you are
considered a principal. Policies grant permissions to a principal. When you use some services, you
might perform an action that then triggers another action in a different service. In this case, you
must have permissions to perform both actions. To see whether an action requires additional
dependent actions in a policy, see Actions, Resources, and Condition Keys for AWS Application
Discovery Service in the Service Authorization Reference.
• Service role – A service role is an IAM role that a service assumes to perform actions on your behalf.
Service roles provide access only within your account and cannot be used to grant access to services
in other accounts. An IAM administrator can create, modify, and delete a service role from within
IAM. For more information, see Creating a role to delegate permissions to an AWS service in the IAM
User Guide.
71
AWS Application Discovery Service User Guide
Managing Access Using Policies
• Service-linked role – A service-linked role is a type of service role that is linked to an AWS service.
The service can assume the role to perform an action on your behalf. Service-linked roles appear
in your IAM account and are owned by the service. An IAM administrator can view, but not edit the
permissions for service-linked roles.
• Applications running on Amazon EC2 – You can use an IAM role to manage temporary credentials
for applications that are running on an EC2 instance and making AWS CLI or AWS API requests.
This is preferable to storing access keys within the EC2 instance. To assign an AWS role to an EC2
instance and make it available to all of its applications, you create an instance profile that is attached
to the instance. An instance profile contains the role and enables programs that are running on the
EC2 instance to get temporary credentials. For more information, see Using an IAM role to grant
permissions to applications running on Amazon EC2 instances in the IAM User Guide.
To learn whether to use IAM roles or IAM users, see When to create an IAM role (instead of a user) in the
IAM User Guide.
Administrators can use AWS JSON policies to specify who has access to what. That is, which principal can
perform actions on what resources, and under what conditions.
Every IAM entity (user or role) starts with no permissions. In other words, by default, users can
do nothing, not even change their own password. To give a user permission to do something, an
administrator must attach a permissions policy to a user. Or the administrator can add the user to a
group that has the intended permissions. When an administrator gives permissions to a group, all users
in that group are granted those permissions.
IAM policies define permissions for an action regardless of the method that you use to perform the
operation. For example, suppose that you have a policy that allows the iam:GetRole action. A user with
that policy can get role information from the AWS Management Console, the AWS CLI, or the AWS API.
Identity-Based Policies
Identity-based policies are JSON permissions policy documents that you can attach to an identity, such
as an IAM user, group of users, or role. These policies control what actions users and roles can perform,
on which resources, and under what conditions. To learn how to create an identity-based policy, see
Creating IAM policies in the IAM User Guide.
Identity-based policies can be further categorized as inline policies or managed policies. Inline policies
are embedded directly into a single user, group, or role. Managed policies are standalone policies that
you can attach to multiple users, groups, and roles in your AWS account. Managed policies include AWS
managed policies and customer managed policies. To learn how to choose between a managed policy or
an inline policy, see Choosing between managed policies and inline policies in the IAM User Guide.
Resource-Based Policies
Resource-based policies are JSON policy documents that you attach to a resource. Examples of resource-
based policies are IAM role trust policies and Amazon S3 bucket policies. In services that support resource-
based policies, service administrators can use them to control access to a specific resource. For the
72
AWS Application Discovery Service User Guide
How AWS Application Discovery Service Works with IAM
resource where the policy is attached, the policy defines what actions a specified principal can perform
on that resource and under what conditions. You must specify a principal in a resource-based policy.
Principals can include accounts, users, roles, federated users, or AWS services.
Resource-based policies are inline policies that are located in that service. You can't use AWS managed
policies from IAM in a resource-based policy.
Amazon S3, AWS WAF, and Amazon VPC are examples of services that support ACLs. To learn more about
ACLs, see Access control list (ACL) overview in the Amazon Simple Storage Service Developer Guide.
• Permissions boundaries – A permissions boundary is an advanced feature in which you set the
maximum permissions that an identity-based policy can grant to an IAM entity (IAM user or role).
You can set a permissions boundary for an entity. The resulting permissions are the intersection of
entity's identity-based policies and its permissions boundaries. Resource-based policies that specify
the user or role in the Principal field are not limited by the permissions boundary. An explicit deny
in any of these policies overrides the allow. For more information about permissions boundaries, see
Permissions boundaries for IAM entities in the IAM User Guide.
• Service control policies (SCPs) – SCPs are JSON policies that specify the maximum permissions for
an organization or organizational unit (OU) in AWS Organizations. AWS Organizations is a service for
grouping and centrally managing multiple AWS accounts that your business owns. If you enable all
features in an organization, then you can apply service control policies (SCPs) to any or all of your
accounts. The SCP limits permissions for entities in member accounts, including each AWS account
root user. For more information about Organizations and SCPs, see How SCPs work in the AWS
Organizations User Guide.
• Session policies – Session policies are advanced policies that you pass as a parameter when you
programmatically create a temporary session for a role or federated user. The resulting session's
permissions are the intersection of the user or role's identity-based policies and the session policies.
Permissions can also come from a resource-based policy. An explicit deny in any of these policies
overrides the allow. For more information, see Session policies in the IAM User Guide.
73
AWS Application Discovery Service User Guide
How AWS Application Discovery Service Works with IAM
Topics
• Application Discovery Service Identity-Based Policies (p. 74)
• Application Discovery Service Resource-Based Policies (p. 75)
• Authorization Based on Application Discovery Service Tags (p. 75)
• Application Discovery Service IAM Roles (p. 75)
Actions
Administrators can use AWS JSON policies to specify who has access to what. That is, which principal can
perform actions on what resources, and under what conditions.
The Action element of a JSON policy describes the actions that you can use to allow or deny access in a
policy. Policy actions usually have the same name as the associated AWS API operation. There are some
exceptions, such as permission-only actions that don't have a matching API operation. There are also
some operations that require multiple actions in a policy. These additional actions are called dependent
actions.
Policy actions in Application Discovery Service use the following prefix before the action: discovery:.
Policy statements must include either an Action or NotAction element. Application Discovery Service
defines its own set of actions that describe tasks that you can perform with this service.
To specify multiple actions in a single statement, separate them with commas as follows:
"Action": [
"discovery:action1",
"discovery:action2"
You can specify multiple actions using wildcards (*). For example, to specify all actions that begin with
the word Describe, include the following action:
"Action": "discovery:Describe*"
To see a list of Application Discovery Service actions, see Actions Defined by AWS Application Discovery
Service in the IAM User Guide.
Resources
Application Discovery Service does not support specifying resource ARNs in a policy.
Condition Keys
Application Discovery Service does not provide any service-specific condition keys, but it does support
using some global condition keys. To see all AWS global condition keys, see AWS Global Condition
Context Keys in the IAM User Guide.
74
AWS Application Discovery Service User Guide
IAM Managed Policies
Examples
To view examples of Application Discovery Service identity-based policies, see AWS Application Discovery
Service Identity-Based Policy Examples (p. 77).
Service-Linked Roles
Service-linked roles allow AWS services to access resources in other services to complete an action on
your behalf. Service-linked roles appear in your IAM account and are owned by the service. An IAM
administrator can view but not edit the permissions for service-linked roles.
Application Discovery Service supports service-linked roles. For details about creating or managing
Application Discovery Service service-linked roles, see Using Service-Linked Roles for Application
Discovery Service (p. 82).
Service Roles
This feature allows a service to assume a service role on your behalf. This role allows the service to
access resources in other services to complete an action on your behalf. Service roles appear in your
IAM account and are owned by the account. This means that an IAM administrator can change the
permissions for this role. However, doing so might break the functionality of the service.
The AWS managed policies listed in this topic are used to control access to AWS Application Discovery
Service. An administrator AWS account by default inherits all the policies required for accessing
Application Discovery Service.
If your account is a non-administrative account, to access Application Discovery Service, you need to
request that your administrator add one or more of the following managed policies to your IAM user
75
AWS Application Discovery Service User Guide
IAM Managed Policies
account. For information about how to attach managed policies to an account, see Creating an IAM Non-
Administrative User (p. 5).
AWSApplicationDiscoveryServiceFullAccess
An IAM user account with this policy attached can configure Application Discovery Service, start
and stop agents, start and stop agentless discovery, and query data from the AWS Discovery
Service database. For an example of this policy, see Granting Full Access to Application Discovery
Service (p. 78).
AWSApplicationDiscoveryAgentAccess
You attach this policy to any user whose credentials are used by Application Discovery Agent.
This policy also grants the user access to Arsenal. Arsenal is an agent service that is managed and
hosted by AWS. Arsenal forwards data to Application Discovery Service in the cloud. For an example
of this policy, see Granting Access to Discovery Agents (p. 78).
AWSAgentlessDiscoveryService
The AWSAgentlessDiscoveryService policy grants the AWS Agentless Discovery Connector that
is running in your VMware vCenter Server access to register, communicate with, and share connector
health metrics with Application Discovery Service.
You attach this policy to any user whose credentials are used by the connector.
For an example of this policy, see Granting AWS Agentless Discovery Connector Access (p. 79).
ApplicationDiscoveryServiceContinuousExportServiceRolePolicy
This policy allows AWS Application Discovery Service to create Amazon Kinesis Data Firehose
streams to transform and deliver data collected by AWS Application Discovery Service agents to an
Amazon S3 bucket in your AWS account.
In addition, this policy creates an AWS Glue Data Catalog with a new database called
application_discovery_service_database and table schemas for mapping data collected by the agents.
For an example of this policy, see Granting permissions for Agent Data Collection (p. 80).
AWSDiscoveryContinuousExportFirehosePolicy
76
AWS Application Discovery Service User Guide
Identity-Based Policy Examples
To learn how to create an IAM identity-based policy using these example JSON policy documents, see
Creating Policies on the JSON Tab in the IAM User Guide.
Topics
• Policy Best Practices (p. 77)
• Granting Full Access to Application Discovery Service (p. 78)
• Granting Access to Discovery Agents (p. 78)
• Granting AWS Agentless Discovery Connector Access (p. 79)
• Granting permissions for Agent Data Collection (p. 80)
• Granting Permissions for Data Collection (p. 81)
• Get started using AWS managed policies – To start using Application Discovery Service quickly, use
AWS managed policies to give your employees the permissions they need. These policies are already
available in your account and are maintained and updated by AWS. For more information, see Get
started using permissions with AWS managed policies in the IAM User Guide.
• Grant least privilege – When you create custom policies, grant only the permissions required
to perform a task. Start with a minimum set of permissions and grant additional permissions as
necessary. Doing so is more secure than starting with permissions that are too lenient and then trying
to tighten them later. For more information, see Grant least privilege in the IAM User Guide.
77
AWS Application Discovery Service User Guide
Identity-Based Policy Examples
• Enable MFA for sensitive operations – For extra security, require IAM users to use multi-factor
authentication (MFA) to access sensitive resources or API operations. For more information, see Using
multi-factor authentication (MFA) in AWS in the IAM User Guide.
• Use policy conditions for extra security – To the extent that it's practical, define the conditions under
which your identity-based policies allow access to a resource. For example, you can write conditions to
specify a range of allowable IP addresses that a request must come from. You can also write conditions
to allow requests only within a specified date or time range, or to require the use of SSL or MFA. For
more information, see IAM JSON policy elements: Condition in the IAM User Guide.
An IAM user with this policy attached to their account can configure Application Discovery Service, start
and stop agents, start and stop agentless discovery, and query data from the AWS Discovery Service
database. For more information about this policy, see AWS Managed (Predefined) Policies for Application
Discovery Service (p. 75).
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"mgh:*",
"discovery:*"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"iam:GetRole"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Attach this policy to any user whose credentials are used by Application Discovery Agent.
This policy also grants the user access to Arsenal. Arsenal is an agent service that is managed and hosted
by AWS. Arsenal forwards data to Application Discovery Service in the cloud.
{
"Version": "2012-10-17",
"Statement": [
{
78
AWS Application Discovery Service User Guide
Identity-Based Policy Examples
"Effect": "Allow",
"Action": [
"arsenal:RegisterOnPremisesAgent"
],
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"awsconnector:RegisterConnector",
"awsconnector:GetConnectorHealth"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::connector-platform-upgrade-info/*",
"arn:aws:s3:::connector-platform-upgrade-info",
"arn:aws:s3:::connector-platform-upgrade-bundles/*",
"arn:aws:s3:::connector-platform-upgrade-bundles",
"arn:aws:s3:::connector-platform-release-notes/*",
"arn:aws:s3:::connector-platform-release-notes",
"arn:aws:s3:::prod.agentless.discovery.connector.upgrade/*",
"arn:aws:s3:::prod.agentless.discovery.connector.upgrade"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::import-to-ec2-connector-debug-logs/*"
]
},
{
"Effect": "Allow",
79
AWS Application Discovery Service User Guide
Identity-Based Policy Examples
"Action": [
"SNS:Publish"
],
"Resource": "arn:aws:sns:*:*:metrics-sns-topic-for-*"
},
{
"Sid": "Discovery",
"Effect": "Allow",
"Action": [
"Discovery:*"
],
"Resource": "*"
},
{
"Sid": "arsenal",
"Effect": "Allow",
"Action": [
"arsenal:RegisterOnPremisesAgent"
],
"Resource": "*"
}
]
In addition, this policy creates an AWS Glue Data Catalog with a new database called
application_discovery_service_database and table schemas for mapping data collected by the
agents.
For information about using this policy, see AWS Managed (Predefined) Policies for Application Discovery
Service (p. 75).
Example ApplicationDiscoveryServiceContinuousExportServiceRolePolicy
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"glue:CreateDatabase",
"glue:UpdateDatabase",
"glue:CreateTable",
"glue:UpdateTable",
"firehose:CreateDeliveryStream",
"firehose:DescribeDeliveryStream",
"logs:CreateLogGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"firehose:DeleteDeliveryStream",
"firehose:PutRecord",
"firehose:PutRecordBatch",
"firehose:UpdateDestination"
],
80
AWS Application Discovery Service User Guide
Identity-Based Policy Examples
"Effect": "Allow",
"Resource": "arn:aws:firehose:*:*:deliverystream/aws-application-discovery-
service*"
},
{
"Action": [
"s3:CreateBucket",
"s3:ListBucket",
"s3:PutBucketLogging",
"s3:PutEncryptionConfiguration"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::aws-application-discovery-service*"
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::aws-application-discovery-service*/*"
},
{
"Action": [
"logs:CreateLogStream",
"logs:PutRetentionPolicy"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/
firehose*"
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": "arn:aws:iam::*:role/AWSApplicationDiscoveryServiceFirehose",
"Condition": {
"StringLike": {
"iam:PassedToService": "firehose.amazonaws.com"
}
}
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": "arn:aws:iam::*:role/service-role/
AWSApplicationDiscoveryServiceFirehose",
"Condition": {
"StringLike": {
"iam:PassedToService": "firehose.amazonaws.com"
}
}
}
]
}
81
AWS Application Discovery Service User Guide
Understanding and Using Service-Linked Roles
Example AWSDiscoveryContinuousExportFirehosePolicy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"glue:GetTableVersions"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::aws-application-discovery-service-*",
"arn:aws:s3:::aws-application-discovery-service-*/*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/application-discovery-service/
firehose:log-stream:*"
]
}
]
}
A service-linked role makes setting up Application Discovery Service easier because you don’t have to
manually add the necessary permissions. Application Discovery Service defines the permissions of its
service-linked roles, and unless defined otherwise, only Application Discovery Service can assume its
roles. The defined permissions include the trust policy and the permissions policy, and that permissions
policy cannot be attached to any other IAM entity.
You can delete a service-linked role only after first deleting their related resources. This protects your
Application Discovery Service resources because you can't inadvertently remove permission to access the
resources.
Topics
• Service-Linked Role Permissions for Application Discovery Service (p. 83)
82
AWS Application Discovery Service User Guide
Understanding and Using Service-Linked Roles
For information about other services that support service-linked roles, see AWS Services That Work with
IAM and look for the services that have Yes in the Service-Linked Role column. Choose a Yes with a link
to view the service-linked role documentation for that service.
• continuousexport.discovery.amazonaws.com
The role permissions policy allows Application Discovery Service to complete the following actions:
glue
CreateDatabase
UpdateDatabase
CreateTable
UpdateTable
firehose
CreateDeliveryStream
DeleteDeliveryStream
DescribeDeliveryStream
PutRecord
PutRecordBatch
UpdateDestination
s3
CreateBucket
ListBucket
GetObject
logs
CreateLogGroup
CreateLogStream
PutRetentionPolicy
83
AWS Application Discovery Service User Guide
Understanding and Using Service-Linked Roles
iam
PassRole
This is the full policy showing which resources the above actions apply to:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"glue:CreateDatabase",
"glue:UpdateDatabase",
"glue:CreateTable",
"glue:UpdateTable",
"firehose:CreateDeliveryStream",
"firehose:DescribeDeliveryStream",
"logs:CreateLogGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"firehose:DeleteDeliveryStream",
"firehose:PutRecord",
"firehose:PutRecordBatch",
"firehose:UpdateDestination"
],
"Effect": "Allow",
"Resource": "arn:aws:firehose:*:*:deliverystream/aws-application-discovery-
service*"
},
{
"Action": [
"s3:CreateBucket",
"s3:ListBucket",
"s3:PutBucketLogging",
"s3:PutEncryptionConfiguration"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::aws-application-discovery-service*"
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::aws-application-discovery-service*/*"
},
{
"Action": [
"logs:CreateLogStream",
"logs:PutRetentionPolicy"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/
firehose*"
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
84
AWS Application Discovery Service User Guide
Understanding and Using Service-Linked Roles
"Resource": "arn:aws:iam::*:role/AWSApplicationDiscoveryServiceFirehose",
"Condition": {
"StringLike": {
"iam:PassedToService": "firehose.amazonaws.com"
}
}
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": "arn:aws:iam::*:role/service-role/
AWSApplicationDiscoveryServiceFirehose",
"Condition": {
"StringLike": {
"iam:PassedToService": "firehose.amazonaws.com"
}
}
}
]
}
You must configure permissions to allow an IAM entity (such as a user, group, or role) to create, edit, or
delete a service-linked role. For more information, see Service-Linked Role Permissions in the IAM User
Guide.
85
AWS Application Discovery Service User Guide
Understanding and Using Service-Linked Roles
This service-linked role is automatically created when you start Continuous Export from the AWS CLI (the
AWS CLI must first be installed in your environment).
To create the service-linked role (CLI) by starting Continuous Export from the AWS CLI
1. Install the AWS CLI for your operating system (Linux, macOS, or Windows). See the AWS Command
Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (Linux or macOS).
You can also use the IAM console to create a service-linked role with the Discovery Service -
Continuous Export use case. In the IAM CLI or the IAM API, create a service-linked role with the
continuousexport.discovery.amazonaws.com service name. For more information, see Creating
a Service-Linked Role in the IAM User Guide. If you delete this service-linked role, you can use this same
process to create the role again.
1. Install the AWS CLI for your operating system (Linux, macOS, or Windows). See the AWS Command
Line Interface User Guide for instructions.
2. Open the Command prompt (Windows) or Terminal (Linux or macOS).
86
AWS Application Discovery Service User Guide
IAM Troubleshooting
• If you don't know the export-ID of the continuous export you want to stop, enter the following
command to see the continuous export's ID:
4. Enter the follow command to ensure that Continuous Export has stopped by verifying its return
status is "INACTIVE":
Topics
• I Am Not Authorized to Perform iam:PassRole (p. 87)
Some AWS services allow you to pass an existing role to that service, instead of creating a new service
role or service-linked role. To do this, you must have permissions to pass the role to the service.
87
AWS Application Discovery Service User Guide
Logging and monitoring in AWS
Application Discovery Service
The following example error occurs when an IAM user named marymajor tries to use the console to
perform an action in Application Discovery Service. However, the action requires the service to have
permissions granted by a service role. Mary does not have permissions to pass the role to the service.
In this case, Mary asks her administrator to update her policies to allow her to perform the
iam:PassRole action.
Topics
• Logging Application Discovery Service API Calls with AWS CloudTrail (p. 88)
If you create a trail, you can enable continuous delivery of CloudTrail events to an Amazon S3 bucket,
including events for Application Discovery Service. If you don't configure a trail, you can still view
the most recent events in the CloudTrail console in Event history. Using the information collected by
CloudTrail, you can determine the request that was made to Application Discovery Service, the IP address
from which the request was made, who made the request, when it was made, and additional details.
To learn more about CloudTrail, see the AWS CloudTrail User Guide.
For an ongoing record of events in your AWS account, including events for Application Discovery Service,
create a trail. A trail enables CloudTrail to deliver log files to an Amazon S3 bucket. By default, when you
create a trail in the console, the trail applies to all AWS Regions. The trail logs events from all Regions in
the AWS partition and delivers the log files to the Amazon S3 bucket that you specify. Additionally, you
can configure other AWS services to further analyze and act upon the event data collected in CloudTrail
logs. For more information, see the following:
88
AWS Application Discovery Service User Guide
Logging Application Discovery
Service API Calls with AWS CloudTrail
All Application Discovery Service actions are logged by CloudTrail and are documented in the Application
Discovery Service API Reference. For example, calls to the CreateTags, DescribeTags, and
GetDiscoverySummary actions generate entries in the CloudTrail log files.
Every event or log entry contains information about who generated the request. The identity
information helps you determine the following:
• Whether the request was made with root or AWS Identity and Access Management (IAM) user
credentials.
• Whether the request was made with temporary security credentials for a role or federated user.
• Whether the request was made by another AWS service.
The following example shows a CloudTrail log entry that demonstrates the DescribeTags action.
{
"eventVersion": "1.05",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAJBHMC4H6EKEXAMPLE:sample-user",
"arn": "arn:aws:sts::444455556666:assumed-role/ReadOnly/sample-user",
"accountId": "123456789012",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AIDAJQABLZS4A3QDU576Q",
"arn": "arn:aws:iam::444455556666:role/ReadOnly",
"accountId": "444455556666",
"userName": "sampleAdmin"
},
"webIdFederationData": {},
"attributes": {
"mfaAuthenticated": "false",
"creationDate": "2020-05-05T15:19:03Z"
}
}
},
"eventTime": "2020-05-05T17:02:40Z",
"eventSource": "discovery.amazonaws.com",
"eventName": "DescribeTags",
"awsRegion": "us-west-2",
"sourceIPAddress": "20.22.33.44",
"userAgent": "Coral/Netty4",
"requestParameters": {
89
AWS Application Discovery Service User Guide
Logging Application Discovery
Service API Calls with AWS CloudTrail
"maxResults": 0,
"filters": [
{
"values": [
"d-server-0315rfdjreyqsq"
],
"name": "configurationId"
}
]
},
"responseElements": null,
"requestID": "mgh-console-eb1cf315-e2b4-4696-93e5-b3a3b9346b4b",
"eventID": "7b32b778-91c9-4c75-9cb0-6c852791b2eb",
"eventType": "AwsApiCall",
"recipientAccountId": "111122223333"
}
90
AWS Application Discovery Service User Guide
Currently, the only quota that can be increased is imported servers per account.
If you reach this quota, and want to import new applications, you can delete existing applications with
the DeleteApplications API action. For more information, see DeleteApplications in the Application
Discovery Service API Reference.
• Each import file can have a maximum file size of 10 MB.
• 25,000 imported server records per account.
• 25,000 deletions of import records per day.
• 10,000 imported servers per account (you can request to increase this quota).
• 1,000 active agents, which are collecting and sending data to Application Discovery Service.
• 10,000 inactive agents, which are responsive but not collecting data.
• 400 servers per application.
• 30 tags per server.
91
AWS Application Discovery Service User Guide
Stop data collection by Data Exploration
Topics
• Stop data collection by Data Exploration (p. 92)
• Remove data collected by Data Exploration (p. 93)
• Fix Common issues with Data Exploration in Amazon Athena (p. 93)
• Troubleshooting Failed Import Records (p. 95)
Alternatively, you can manually stop data collection as described in the following steps.
1. From the Migration Hub console choose Discover > Data Collectors > Agents tab.
2. Select all existing running agents and choose Stop Data Collection.
This will ensure that no new data is being collected by the agents in both the ADS data repository
and your S3 bucket. Your existing data remains accessible.
1. Log in to Amazon Kinesis from the AWS console and choose Data Firehose from the navigation
pane.
2. Delete the following streams created by the Data Exploration feature:
• aws-application-discovery-service-id_mapping_agent
• aws-application-discovery-service-inbound_connection_agent
• aws-application-discovery-service-network_interface_agent
92
AWS Application Discovery Service User Guide
Remove data collected by Data Exploration
• aws-application-discovery-service-os_info_agent
• aws-application-discovery-service-outbound_connection_agent
• aws-application-discovery-service-processes_agent
• aws-application-discovery-service-sys_performance_agent
Data collected by Application Discovery Service (ADS) will be stored in an S3 bucket named aws-
application-discover-discovery-service-uniqueid.
Note
Deleting the Amazon S3 bucket or any of the objects in it while Data Exploration in Amazon
Athena is enabled will cause an error. It will continuing to send new discovery agent data to
S3. The deleted data will no longer be accessible in Athena as well.
2. Remove AWS Glue Data Catalog.
When Data Exploration in Amazon Athena is turned on, it creates an Amazon S3 bucket in your
account to store the data collected by ADS agents at regular time intervals. In addition, it also
creates an AWS Glue Data Catalog to allow you to query the data stored in a Amazon S3 bucket
from Amazon Athena. When you turn off Data Exploration in Amazon Athena, no new data is stored
in your Amazon S3 bucket, but data that was collected previously will persist. If you no longer need
this data and want to return your account to the state before Data Exploration in Amazon Athena
was turned on
a. Visit Amazon S3 from the AWS console and manually delete the bucket with the name "aws-
application-discover-discovery-service-uniqueid"
b. You can manually remove the Data Exploration AWS Glue Data Catalog by deleting the
application-discovery-service-database database and all of these tables:
• os_info_agent
• network_interface_agent
• sys_performance_agent
• processes_agent
• inbound_connection_agent
• outbound_connection_agent
• id_mapping_agent
To have all your data removed from Application Discovery Service, contact AWS Support and request full
data deletion.
93
AWS Application Discovery Service User Guide
Data Exploration in Amazon Athena Fails to
Initiate Because Service-Linked Roles and
Required AWS Resources Can't be Created
Topics
• Data Exploration in Amazon Athena Fails to Initiate Because Service-Linked Roles and Required AWS
Resources Can't be Created (p. 94)
• New Agent Data Doesn't show Up in Amazon Athena (p. 94)
• You have Insufficient Permissions to Access Amazon S3, Amazon Kinesis Data Firehose, or AWS
Glue (p. 95)
Ensure that your agent's Collection status is marked as Started and the Health status is marked as
Running.
• Kinesis Role
Ensure that the following Kinesis Data Firehose delivery streams are working correctly:
• aws-application-discovery-service/os_info_agent
• aws-application-discovery-service-network_interface_agent
• aws-application-discovery-service-sys_performance_agent
• aws-application-discovery-service-processes_agent
• aws-application-discovery-service-inbound_connection_agent
• aws-application-discovery-service-outbound_connection_agent
• aws-application-discovery-service-id_mapping_agent
94
AWS Application Discovery Service User Guide
You have Insufficient Permissions to Access Amazon
S3, Amazon Kinesis Data Firehose, or AWS Glue
• sys_performance_agent
• processes_agent
• inbound_connection_agent
• outbound_connection_agent
• id_mapping_agent
• Amazon S3 Bucket
Ensure that your servers are running so that your agents can collect and send data to AWS Application
Discovery Service.
You will need an IAM user with administrator permissions to grant you access to these services. An
administrator can use their account to grant this access. See AWS Managed (Predefined) Policies for
Application Discovery Service (p. 75).
To ensure that Data Exploration in Amazon Athena works correctly, do not modify or delete the AWS
resources created by Data Exploration in Amazon Athena including the Amazon S3 bucket, Amazon
Kinesis Data Firehose Streams, and AWS Glue Data Catalog. If you accidentally delete or modify these
resources, please stop and start Data Exploration and it will automatically create these resources again. If
you delete the Amazon S3 bucket created by Data Exploration, you may lose the data that was collected
in the bucket.
When importing data, it's possible that you'll encounter errors. Typically, these errors occur for one of the
following reasons:
• An import-related quota was reached – There is a quota associated with import tasks. If you make an
import task request that would exceeds the quotas, then the request will fail and return an error. For
more information, see
The Service Quotas console provides information about AWS Application Discovery
Service quotas. You can use the Service Quotas console to view the default service
quotas or to request quota increases for adjustable quotas.
95
AWS Application Discovery Service User Guide
Troubleshooting Failed Import Records
Currently, the only quota that can be increased is imported servers per account.
If you reach this quota, and want to import new applications, you can delete existing
applications with the DeleteApplications API action. For more information, see
DeleteApplications in the Application Discovery Service API Reference.
• Each import file can have a maximum file size of 10 MB.
• 25,000 imported server records per account.
• 25,000 deletions of import records per day.
• 10,000 imported servers per account (you can request to increase this quota).
• 1,000 active agents, which are collecting and sending data to Application Discovery
Service.
• 10,000 inactive agents, which are responsive but not collecting data.
• 400 servers per application.
• 30 tags per server.
(p. 91).
• An extra comma (,) was inserted into the import file – Commas in .CSV files are used to differentiate
one field from the next. Having a comma appear within a field is unsupported, because it will always
split a field. This can cause a cascade of formatting errors. Be sure that commas are only used between
fields, and are not otherwise used in your import files.
• A field has a value outside of its supported range – Some fields, like CPU.NumberOfCores must
have a range of values they support. If you have more or less than this supported range, then the
record will fail to be imported.
If any errors occur with your import request, you can resolve them by downloading your failed records
for your import task, and resolve the errors in the failed entries CSV file, and do the import again.
Console
1. Sign into the AWS Management Console, and open the Migration Hub console at https://
console.aws.amazon.com/migrationhub.
2. From the left-side navigation, under Discover, choose Tools.
3. From Discovery Tools, choose view imports.
4. From the Imports dashboard, choose the radio button associated an import request with some
number of Failed records.
5. Choose Download failed records from above the table on the dashboard. This will open your
browser's download dialog box for downloading the archive file.
AWS CLI
1. Open a terminal window, and type the following command, where ImportName is the name
of the import task with the failed entries that you want to correct.:
96
AWS Application Discovery Service User Guide
Troubleshooting Failed Import Records
2. From the output, copy the entire contents of the value returned for
errorsAndFailedEntriesZip, without the surrounding quotes.
3. Open a web browser, and paste in the contents into the URL text box and press ENTER. This will
download the failed records archive, compressed in a .zip format.
Now that you've downloaded your failed records archive, you can extract the two files within and correct
the errors. Note that if your errors are tied to service-based limits, you'll either need to request a limit
increase, or delete enough of the associated resources to get your account under the limit. The archive
has the following files:
• errors-file.csv – This file is your error log, and it tracks the line, column name, ExternalId, and a
descriptive error message for each failed record of each failed entry.
• failed-entries-file.csv – This file contains only the failed entries from your original import file.
To correct the non-limit-based errors you've encountered, use the errors-file.csv to correct the
issues in the failed-entries-file.csv file, and then import that file. For instructions on importing
files, see Importing Data (p. 36).
97
AWS Application Discovery Service User Guide
The following table describes important changes to the AWS Migration Hub User Guide after January 18
2019. For notifications about documentation updates, you can subscribe to the RSS feed.
Introducing the Home The Migration Hub home region November 20, 2019
Region (p. 98) provides a single repository
of discovery and migration
planning information for your
entire portfolio, and a single
view of migrations into multiple
AWS Regions.
Introducing the Migration Hub Migration Hub import allows January 18, 2019
import feature (p. 98) you to import information about
your on-premises servers and
applications into Migration Hub,
including server specifications
and utilization data. You can also
use this data to track the status
of application migrations. For
more information, see Migration
Hub Import.
The following table describes documentation releases for the AWS Migration Hub User Guide before
January 18, 2019:
Discovery Agent 2.0 A new and improved Application October 19, 2017
Discovery agent was released.
98
AWS Application Discovery Service User Guide
New details for Microsoft This update adds details about May 20, 2016
Windows Server and command Microsoft Windows Server. It
issue fixes also documents fixes to various
command issues.
Initial publication This is the first release of the May 12, 2016
Application Discovery Service User
Guide.
99
AWS Application Discovery Service User Guide
AWS glossary
For the latest AWS terminology, see the AWS glossary in the AWS General Reference.
100