0

我已經爲AWS DMS創建了一個堆棧,另一個用於兩個測試Postgres dbs AWS::RDS::DBInstancecfn-sphere 這兩個堆棧都已成功創建,並且我能夠在源數據庫中創建一個表並加載數據進入它。AWS DMS無法啓動遷移

我試圖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: An error occurred (InvalidResourceStateFault) when calling the StartReplicationTask operation: Test connection for replication instance (url) should be successful for starting the replication task

我試圖從網站上觸發它,但我得到了一個錯誤,指出:

AWSDatabaseMigrationService: Test connection for replication instance and endpoint should be successful for starting the replication task

不幸的是,複製實例和目標點之間的連接沒有從網站上工作(我的帳戶有完全訪問權限)。但它從我的命令行使用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

1)確保複製實例和目標端點在同一個VPC。否則,您必須執行vpc對等。兩者都應該在同一地區。

2)安全組的複製實例添加到目標數據庫安全組的入站規則。

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> 

3)如果已創建目標數據庫,然後提供完整的服務器名稱(例如:target-database-name.xxxxxxxxxxx.us-east-1.rds.amazonaws.com),用戶名和密碼值正確,當您創建目標端點。在aws控制檯中,得到DMS -> Endpoints -> Select your endpoint checkbox -> Test connection來驗證連接。

如果它成功,那麼在使用test_connection方法boto3客戶端配置和測試使用相同的用戶的角色。