Amazon web services 到Redshift的AWS DMS端点连接不工作

Amazon web services 到Redshift的AWS DMS端点连接不工作,amazon-web-services,amazon-redshift,amazon-rds,amazon-vpc,Amazon Web Services,Amazon Redshift,Amazon Rds,Amazon Vpc,我目前正在尝试通过DMS设置从RDS(MySQL)到Redshift的复制。RDS的端点正在工作,但Redshift的端点不工作。以下是我的设置: 专有网络 RDS、DMS和Redshift在同一VPC中运行,并共享相同的子网 角色 根据AWS文档,我实施了DMS所需的角色(DMS vpc角色,DMS cloudwatch日志角色)和特定的Redshift角色(DMS端点访问) 安全组 安全组设置也相同。RDS和红移都有两个安全组(空组和引用空组的入口)。入口安全组的入站规则如下所示,出站规则默

我目前正在尝试通过DMS设置从RDS(MySQL)到Redshift的复制。RDS的端点正在工作,但Redshift的端点不工作。以下是我的设置:

专有网络

RDS、DMS和Redshift在同一VPC中运行,并共享相同的子网

角色

根据AWS文档,我实施了DMS所需的角色(
DMS vpc角色
DMS cloudwatch日志角色
)和特定的Redshift角色(
DMS端点访问

安全组

安全组设置也相同。RDS和红移都有两个安全组(空组和引用空组的入口)。入口安全组的入站规则如下所示,出站规则默认允许所有出站通信

RDS:

红移:

复制实例设置

复制实例具有两个安全组。我认为复制实例本身需要一个安全组,但是,我无法创建一个工作组

在写这篇文章之前我做了什么?

我已经测试了以下场景:

  • 使用允许所有入站和出站流量的默认VPC安全组->两个端点都工作
  • 创建了一个安全组,该安全组使用TCP 3306(RDS)和5439(红移)上的入站规则,并连接到上述RDS和红移安全组->RDS工作,红移不工作
我得到了以下错误,我解释为DMS不能调用任何类型的红移

Test Endpoint failed: Application-Status: 1020912, Application-Message: N/A, Application-Detailed-Message: N/A
总的来说,它与默认VPC安全组一起工作的事实使我得出以下结论:(1)这是一个网络问题,(2)对复制实例安全组的简单更改可能会解决这一问题。然而,经过无数次的迭代,我不知道我在这里遗漏了什么


非常感谢所有的想法和建议

您的场景的典型安全组配置应该是:

  • AWS DMS实例(
    DMS-SG
    )上的一个安全组,允许所有出站(这是正常默认设置),以及需要使用DMS的任何入站
  • Amazon RDS实例(
    RDS-SG
    )上的一个安全组,允许从
    DMS-SG
  • Amazon Redshift实例(
    Redshift SG
    )上的一个安全组,允许来自
    DMS-SG
    5439端口的入站流量

也就是说,DMS实例应该有自己的安全组,可以从其他安全组引用。安全组分别应用于每个实例。具有“相同”安全组的实例不会获得任何相互通信的特殊能力,除非作为规则专门添加到安全组中。

完成了此工作。谢谢