簡體   English   中英

AWS DMS無法開始遷移

[英]AWS DMS can not start migration

我已經為AWS DMS創建了一個堆棧,並為兩個測試Postgres dbs創建了一個堆棧AWS::RDS::DBInstance ,使用cfn-sphere兩個堆棧均已成功創建,並且能夠在源數據庫中創建表並將數據加載到它。

我嘗試使用boto3啟動復制任務

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

但這沒有用,我得到了錯誤:

botocore.errorfactory.InvalidResourceStateFault:調用StartReplicationTask操作時發生錯誤(InvalidResourceStateFault):復制實例(url)的測試連接應成功啟動復制任務

我試圖從網站上觸發它,但出現錯誤消息:

AWSDatabaseMigrationService:復制實例和端點的測試連接應成功啟動復制任務

不幸的是,復制實例和目標點之間的連接在網站上無法正常工作(我的帳戶具有完全訪問權限)。 但是它從我的命令行使用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)確保復制實例和目標端點在同一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以驗證連接。

如果成功,則在boto3客戶端配置中使用相同的用戶角色,並使用test_connection方法進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM