AWS DMS Replication Task

This page shows how to write Terraform and CloudFormation for AWS DMS Replication Task and write them securely.

aws_dms_replication_task (Terraform)

The Replication Task in AWS DMS can be configured in Terraform with the resource name aws_dms_replication_task. The following sections describe 4 examples of how to use the resource and its parameters.

Example Usage from GitHub

dms-task.tf#L1
resource "aws_dms_replication_task" "task_sample" {
  count = var.dms_enabled

  migration_type           = "full-load"
  replication_instance_arn = aws_dms_replication_instance.instance[0].replication_instance_arn
  replication_task_id      = "sample"
replication_tasks.tf#L8
resource "aws_dms_replication_task" "replication_tasks" {
  for_each                  = var.dms_replication_tasks
  migration_type            = "full-load-and-cdc"
  replication_instance_arn  = aws_dms_replication_instance.dms-instance.replication_instance_arn
  replication_task_id       = each.value.name
  source_endpoint_arn       = aws_dms_endpoint.dms-endpoints[each.key].endpoint_arn
replicationtask.tf#L2
  resource "aws_dms_replication_task" "test" {
  migration_type            = "full-load"
  count = 1
  replication_instance_arn  = aws_dms_replication_instance.replication-instance.replication_instance_arn
  replication_task_id       = "test-dms-replication-task-tf"
  source_endpoint_arn       = aws_dms_endpoint.test1[count.index].endpoint_arn
dms.tf#L20
resource "aws_dms_replication_task" "rt-mssql-pg" {
  migration_type            = "full-load"
  replication_instance_arn  = aws_dms_replication_instance.replication-instance.replication_instance_arn
  replication_task_id       = "dms-rt-mssql-pg"
  source_endpoint_arn       = aws_dms_endpoint.dms-endpoint-source.endpoint_arn
  target_endpoint_arn       = aws_dms_endpoint.dms-endpoint-target.endpoint_arn

Review your Terraform file for AWS best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Provides a DMS (Data Migration Service) replication task resource. DMS replication tasks can be created, updated, deleted, and imported.

AWS::DMS::ReplicationTask (CloudFormation)

The ReplicationTask in DMS can be configured in CloudFormation with the resource name AWS::DMS::ReplicationTask. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

customer360-catchup.yml#L93
    Type: AWS::DMS::ReplicationTask
    Properties:
      ReplicationTaskIdentifier: !Sub ${Username}-replication-task
      MigrationType: full-load-and-cdc
      ReplicationInstanceArn:
        Fn::ImportValue: !Sub '${BaseVpcStackName}:DMSReplicationInstance'
serverless.yml#L84
      Type: AWS::DMS::ReplicationTask
      Properties:
        MigrationType: full-load-and-cdc
        ReplicationInstanceArn:
          Ref: ReplicationInstance
        SourceEndpointArn:
dms.yml#L79
    Type: AWS::DMS::ReplicationTask
    Properties:
      MigrationType: cdc
      ReplicationInstanceArn: !Ref dmsInstance
      ReplicationTaskIdentifier: !Sub ${PJPrefix}-dms-rep-task-001
      ReplicationTaskSettings: !Ref DMSTaskSetting
dms-replication-task.yml#L25
    Type: AWS::DMS::ReplicationTask
    Properties:
      MigrationType: !Ref DmsMigrationType
      ReplicationInstanceArn: !ImportValue DmsReplicationInstanceArn
      ReplicationTaskIdentifier: !Ref DmsRepTaskName
      SourceEndpointArn: !ImportValue DmsSourceEndpointArn
cloudformation.yml#L16
    Type: 'AWS::DMS::ReplicationTask'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: b8cec7e0-993b-41a7-b03a-2dcce1f44f71
Metadata:
  'AWS::CloudFormation::Designer':
DmsStack.template.json#L83
      "Type": "AWS::DMS::ReplicationTask",
      "Properties": {
        "MigrationType": "full-load-and-cdc",
        "ReplicationInstanceArn": {
          "Ref": "dbserver1instance"
        },
DmsStack.template.json#L83
      "Type": "AWS::DMS::ReplicationTask",
      "Properties": {
        "MigrationType": "full-load-and-cdc",
        "ReplicationInstanceArn": {
          "Ref": "dbserver1instance"
        },
dms-task-existing-endpoints-template.json#L26
      "Type": "AWS::DMS::ReplicationTask",
      "Properties": {
        "SourceEndpointArn": {
          "Ref": "SourceEndpointARN"
        },
        "TargetEndpointArn": {
dms-task-new-endpoints-template.json#L19
      "Type": "AWS::DMS::ReplicationTask",
      "Properties": {
        "SourceEndpointArn": {
          "Ref": "SourceEndpoint"
        },
        "TargetEndpointArn": {
tree.json#L1360
              "aws:cdk:cloudformation:type": "AWS::DMS::ReplicationTask",
              "aws:cdk:cloudformation:props": {
                "migrationType": "full-load-and-cdc",
                "replicationInstanceArn": {
                  "Ref": "dbserver1instance"
                },

Parameters

Explanation in CloudFormation Registry

The AWS::DMS::ReplicationTask resource creates an AWS DMS replication task.

Frequently asked questions

What is AWS DMS Replication Task?

AWS DMS Replication Task is a resource for DMS of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.

Where can I find the example code for the AWS DMS Replication Task?

For Terraform, the gmallipeddi/terraform-asudev7, clusterfrak-dynamics/terraform-aws-dms and yaseenzafar/terraform-rdsmigration source code examples are useful. See the Terraform Example section for further details.

For CloudFormation, the alesabater/customer360, jgilbert01/aws-lambda-stream and jimatomo/dms-kinesis-kcl source code examples are useful. See the CloudFormation Example section for further details.