AWS Server Migration Service
User Guide

Migrating Applications with AWS SMS

AWS Server Migration Service supports the automated migration of multi-server application stacks from your on-premises data center to Amazon EC2. Where server migration is accomplished by replicating a single server as an Amazon Machine Image (AMI), application migration replicates all of the servers in an application as AMIs and generates an AWS CloudFormation template to launch them in a coordinated fashion.

Applications can be further subdivided into groups that allow you to launch tiers of servers in a defined order. The following diagram provides a sample case of a database-backed web application:


            Tiered launching of an application using groups.

In this example, the application is divided into four groups, each with three servers. The AWS CloudFormation template starts the servers in the following order: databases, file servers, web servers, and application servers.

After your servers are organized into applications and launch groups, you can specify a replication frequency, provide configuration scripts, and configure a target VPC in which to launch them. When you launch an application, AWS SMS configures it based on the generated template.

Application migration relies on the procedures for discovering on-premises resources described in Getting Started with AWS Server Migration Service. After you have imported a server catalog into AWS SMS using the Server Migration Connector, you can configure settings for applications, replication, and launch, as well as monitor migration status, in the Applications section of the AWS SMS console. You can also perform these tasks using the resources for AWS SMS in the AWS SMS API, AWS CLI, or AWS SDKs.

You can replicate your on-premises servers to AWS for up to 90 days per server. Usage time is calculated from the time a server replication begins until you terminate the replication job. After 90 days, your replication job is automatically terminated. You can request an extension from AWS Support.

Note

Application migration from Microsoft Azure environments is supported, but the Server Migration Connector for Azure does not currently guarantee the closeness of the server snapshots in the application.

Using Application Migration

This section provides step-by-step procedures for creating, configuring, replicating, and launching applications.

To create an application

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view your existing applications (if any).

  3. Choose Create new application.

  4. On the Create new application page, under Application settings, supply the following information and then choose Next:

    • Application name

    • Application description

    • Role name

  5. Under Select servers, select the available servers to include in the application. In the search bar, you can filter the table contents on specific values. Choose Next: Add servers to groups.

    Note

    Ungrouped servers are added to a default group.

  6. Under Add servers to groups, you can create groups, delete groups, add selected servers from your application to groups, and remove servers from groups.

    Complete the following steps to add one or more servers to a new group:

    1. Select the servers to be added to the new group.

    2. Choose Add servers to group.

    3. Under Add servers to group, choose Add to new group and provide a name for the group.

    4. Choose Add. The list of servers now displays the associated group for each server that you selected.

  7. After creating one or more groups, you can delete a group by completing the following steps:

    1. Choose Delete group.

    2. For Group to delete, choose a group.

    3. Choose Delete.

    Deleting a group has no effect on servers that belong to it.

  8. Under Add tags, tag your applications with key/value pairs that propagate to all of the servers created when the application is launched. Choose Next.

  9. Under Review, you can review and edit your application and group settings. When you are satisfied that the settings are correct, choose Create. From the status page, you can proceed directly to Configure replication settings.

To configure replication settings for an application

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view the available applications.

  3. Select the name of the application to configure.

  4. Choose Actions, Configure replication settings.

  5. On the Replication settings page, provide the following information and then choose Next:

    • Replication job type — Specify the replication period (1-24 hours) or choose One-time replication.

    • Start replication run — Choose to start a replication run immediately, or choose At a later time and date and enter the information.

    • Enable automatic AMI deletion — Choose Yes or No.

  6. The Server-specific settings page displays the application servers and their group memberships. You can edit the following server settings individually or together:

    • License type — Choose Auto, AWS, or BYOL.

    • Quiesce — Before taking a snapshot of the VM, halt data input/output and store the system memory state (for VMware).

  7. Choose Next.

  8. Review the replication settings and choose Save. From the status page, you can proceed directly to Configure launch settings.

To configure launch settings for an application

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view the available applications.

  3. Select the name of the application to configure.

  4. Choose Actions, Configure launch settings.

  5. On the Configure launch settings page, for IAM CloudFormation role, specify a non-default value. Under Specify launch order, configure a launch order for your groups. Choose Next.

  6. Under Configure launch settings for the application, you can edit the following server settings individually or multiply:

    • Logical ID — AWS CloudFormation resource ID. This parameter is used as the logical ID of the CloudFormation template that AWS SMS generates for the application. A value is created automatically when you use the console, but you must supply it manually when using the API, CLI, or SDKs. For more information, see Resources in the AWS CloudFormation User Guide.

    • Instance type — Specifies the EC2 instance type on which to launch the server. This field is required.

    • Key pair — Specifies the SSH key pair that gives access to the server. This field is required.

      Note

      If the logged-in user does not have IAM permissions to list key pairs, this list will be empty.

    • Configuration script — A script to run configuration commands at startup of EC2 instances launched as part of an application.

    Choose Next.

  7. Under Configure target network and security settings for the application, you can edit the following server settings individually or multiply. Network settings require prior setup as described in RunInstances.

    Note

    If the logged-in user does not have IAM permissions to list VPCs, subnets, security groups, these lists will be empty.

    • VPC — VPC in which to deploy the application. This field is required.

    • Subnet — Subnet in which to deploy the application. This field is required.

    • Security Group — Security group membership for the application. This field is required.

    • Publicly Accessible — Whether the application should be accessible from the internet.

    Choose Next.

  8. Review the launch configuration settings and choose Save.

To start replicating an application

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view the available applications.

  3. Choose the name of the application to replicate.

  4. On the application details page, choose Actions, Start replication.

  5. In the Start replication window, choose Start. Replication can take anywhere from 30 minutes to several days depending on the disk size. On the application details page, you can observe the status of the replication in the Replication status field. If the replication fails, you may be able to find the reason in the Replication status message field.

To launch an application

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view the available applications.

  3. Choose the name of the application to launch.

  4. On the application details page, choose Actions, Launch application. A replication job must complete before you perform this action.

  5. In the Launch application window, choose Launch. On the application details page, you can observe the status of the launch in the Launch status field. If the launch fails, you may be able to find the reason in the Launch status message field.

To generate an AWS CloudFormation template for the application

Use the following procedure if you want to examine the AWS CloudFormation template that is auto-generated when you launch the application.

  1. Open the AWS SMS console at https://console.aws.amazon.com/servermigration/.

  2. Choose Applications. On the Applications page, you can view the available applications.

  3. Choose the name of the application for which to create a template.

  4. On the application details page, choose Actions, Generate template. A replication job must complete before you perform this action.

  5. In the Generate template window, choose Generate.

Importing Applications from Migration Hub

Application Migration supports the import and migration of applications discovered by AWS Migration Hub.

To Import Applications from Migration Hub

  1. To enable application catalog import, complete the AWS Server Migration Service (SMS) instructions in the Migration Hub user guide.

    Note

    Taking this action exports the SMS server catalog and makes it visible on Migration Hub.

  2. In the SMS console, on the Applications page, choose Import applications.

  3. In the Import applications window, you can optionally provide a value in the Role name field. If no role name is specified, the default role name sms is used. Choose Import.

    Note

    SMS imports application-related servers from Migration Hub only if they exist in the SMS Server Catalog and are not part of an existing SMS application. As a result, some applications may be only partially imported.

  4. After import completes, the applications imported from Migration Hub appear in the Applications table. Imported applications can be migrated but cannot be edited in SMS. They can, however, be edited in Migration Hub. After editing, re-import.

    Note

    An application cannot be re-imported if it is being actively replicated or launched by SMS. If this conflict occurs, stop the replication or launch and re-import.