How can I use Amazon Redshift as the target endpoint for my AWS DMS task?

Last updated: 2021-02-16

How can I use Amazon Redshift as the target for my AWS Database Migration Service (AWS DMS) task?

Short description

You can use an Amazon Redshift database as the target for an AWS DMS task using any of the supported sources. When you migrate to Amazon Redshift, AWS DMS first moves the data to an Amazon Simple Storage Service (Amazon S3) bucket. Then, the data is transferred to the tables in the target Amazon Redshift cluster. This S3 bucket is created in the same AWS Region as Amazon Redshift database. For this reason, your Amazon Redshift cluster must be in the same account and same AWS Region as the replication instance. For more information, see the Limitations on using Amazon Redshift as a target for AWS Database Migration Service.


Note: If you receive errors when running AWS Command Line Interface (AWS CLI) commands, make sure that you’re using the most recent AWS CLI version.

Before you begin, be sure to provide the security group, subnet CIDR range, or IP address of the replication instance in the inbound rules of the Amazon Redshift cluster security group. The AWS DMS replication instance must have network connectivity to the Amazon Redshift endpoint (hostname and port) that the cluster uses. Also, confirm that AWS DMS has permissions to create the S3 bucket. AWS DMS uses Amazon S3 as the medium to transfer the data into an Amazon Redshift cluster. This means that AWS DMS requires the dms-access-for-endpoint AWS Identity and Access Management (IAM) role. For more information, see the Prerequisites for using an Amazon Redshift database as a target for AWS Database Migration Service.

  1. Open the AWS DMS console, and choose the AWS Region that your Amazon Redshift cluster is in.
  2. Choose Endpoints from the navigation pane.
  3. Choose Create endpoint.
  4. From Endpoint type, choose Target endpoint.
  5. Enter your Endpoint identifier, and choose Redshift as your Target engine.
  6. Enter your Amazon Redshift endpoint for the Server name.
  7. Enter your Port number.
    Note: The default port for Amazon Redshift is 5439.
  8. Enter your Amazon Redshift User name, Password, and Database name.
  9. Optionally, you can add extra connection attributes from the Endpoint-specific settings.
  10. From the Test endpoint connection section, choose the VPC that the replication instance is in and choose the Replication instance.
  11. Choose Run test, and wait for the status to be successful.
  12. Choose Create endpoint.

If you use the AWS DMS console to create the endpoint, then DMS creates the required IAM roles and policies automatically. If you use the AWS Command Line Interface (AWS CLI) or the AWS DMS API, you must create the IAM roles and policies manually. For more information about the configuration of the IAM role and the policy, see the To create the dms-access-for-endpoint IAM role for use with Amazon Redshift as a target database section of Creating the IAM roles to use with the AWS CLI and AWS DMS API.