0

Ich habe einen Stapel für AWS DMS und eine weitere für zwei Test Postgres dbs erstellt AWS::RDS::DBInstance, mit cfn-sphere beide Stacks erfolgreich erstellt wurden, und ich war in der Lage, eine Tabelle in der Quelldatenbank und Last zu erstellen Daten hinein.AWS DMS kann nicht Migration starten

Ich versuchte start the replication task with boto3:

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

Aber es hat nicht funktioniert und ich habe den Fehler:

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

Ich habe versucht, es von der Website auslösen, aber ich einen Fehler bekam, der sagt :

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

Leider die Verbindung zwischen Replikationsinstanz und Zielpunkt funktionierte nicht von der Website (mein Konto hat vollen Zugriff). Aber es funktionierte von meiner Kommandozeile mit boto3 dms client, test_connection.

Meine Sicherheitsgruppe Regel ist:

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

Kann mir jemand führen, wo sie suchen und wie man es beheben? (das ist meine erste AWS-Aufgabe)

Antwort

1

1) Stellen Sie sicher, dass sich die Replikationsinstanz und der Zielendpunkt im selben vPC befinden. Andernfalls müssen Sie VPC-Peering durchführen. Auch sollten beide in derselben Region sein.

2) Fügen Sie die Sicherheitsgruppe der Replikationsinstanz zur Eingangsregel der Sicherheitsgruppe der Zieldatenbank hinzu.

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) Wenn Ihre Zieldatenbank bereits erstellt wird, geben Sie dann den vollständigen Servernamen (zB: target-database-name.xxxxxxxxxxx.us-east-1.rds.amazonaws.com), Benutzername und Kennwortwerte korrekt, wenn Sie die Zielendpunkte erstellen. In der AWS-Konsole, gehe zu DMS -> Endpoints -> Select your endpoint checkbox -> Test connection, um die Verbindungen zu überprüfen.

Wenn es erfolgreich ist, dann verwenden Sie die gleiche Benutzerrolle in der boto3-Client-Konfiguration und testen Sie mit der Methode test_connection.

Verwandte Themen