AWS DMS无法启动迁移

时间:2017-10-06 14:48:40

标签: amazon-web-services amazon-rds amazon-cloudformation boto3 aws-dms

我为AWS DMS创建了一个堆栈,另一个用于两个测试Postgres dbs AWS::RDS::DBInstancecfn-sphere 两个堆栈都已成功创建,我能够在源数据库中创建一个表并将数据加载到其中。

我尝试start the replication task with boto3

client = boto3.client('dms')
response = client.start_replication_task(
    ReplicationTaskArn=replication_task_arn,
    StartReplicationTaskType='start-replication'
)

但它没有用,我得到了错误:

  

botocore.errorfactory.InvalidResourceStateFault:发生错误   (InvalidResourceStateFault)调用StartReplicationTask时   操作:复制实例(url)的测试连接应该是   成功启动复制任务

我试图从网站上触发它,但我收到一条错误消息:

  

AWSDatabaseMigrationService:测试复制实例的连接   和端点应该成功启动复制任务

不幸的是,Replication Instance和Target point之间的连接无法从网站上运行(我的帐户具有完全访问权限)。但它在我的命令行中使用了boto3 dms客户端test_connection

我的安全组规则是:

  SecurityGroupIngress:
    Type: 'AWS::EC2::SecurityGroupIngress'
    Properties:
      GroupId: !Ref dbSecurityGroup
      IpProtocol: tcp
      FromPort: '5432'
      ToPort: '5432'
      CidrIp: //my public ip

有人可以指导我在哪里看以及如何解决它? (这是我的第一个AWS任务)

1 个答案:

答案 0 :(得分:1)

1)确保复制实例和目标端点位于同一个vpc中。否则,您必须执行vpc对等。两者都应该在同一地区。

2)将复制实例的安全组添加到目标数据库安全组的入站规则中。

Row

3)如果已创建目标数据库,则提供完整的服务器名称(例如: target-database-name.xxxxxxxxxxx.us-east-1.rds.amazonaws.com ),创建目标端点时,用户名和密码值正确无误。在aws控制台中,必须Type: AWS::EC2::SecurityGroup Properties: GroupName: "target-endpoint-sg" GroupDescription: "security group of target db server" VpcId: <provide your vpc id> SecurityGroupIngress: - IpProtocol: tcp FromPort: '5432' ToPort: '5432' SourceSecurityGroupId: <sec-grp of ReplicationInstance> 验证连接。

如果成功,则在boto3客户端配置中使用相同用户的角色,并使用DMS -> Endpoints -> Select your endpoint checkbox -> Test connection方法进行测试。