Search code examples
amazon-web-servicesaws-dmsaws-regions

How to use AWS DMS from a region to an other?


I am trying to use AWS DMS to move data from a source database ( AWS RDS MySQL ) in the Paris region ( eu-west-3 ) to a target database ( AWS Redshift ) in the Ireland region ( eu-west-1 ). The goal is to continuously replicate ongoing changes.

I am running into these kind of errors :

An error occurred (InvalidResourceStateFault) when calling the CreateEndpoint operation: The redshift cluster datawarehouse needs to be in the same region as the current region. The cluster's region is eu-west-1 and the current region is eu-west-3.

The documentation says :

The only requirement to use AWS DMS is that one of your endpoints must be on an AWS service.

So what I am trying to do should be possible. In practice, it's seems it's not allowed.

How to use AWS DMS from a region to an other ? In what region, should my endpoints be ? In what region, should my replication task be ? My replication instance has to be on the same region than the RDS MySQL instance because they need to share a subnet


Solution

  • Currently Redshift has to be in the same region as the replication instance.

    The Amazon Redshift cluster must be in the same AWS account and the same AWS Region as the replication instance.

    https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html

    So one should create the replication instance in the Redshift region inside a VPC Then use VPC peering to enable the replication instance to connect to the VPC of the MySQL instance in the other region

    https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html