我目前正在尝试通过DMS建立从RDS (MySQL)到Redshift的复制。RDS的端点正在工作,而Redshift的端点则不起作用。这是我的设置:
VPC
RDS、DMS和Redshift运行在同一个VPC中,共享相同的子网。
角色
根据AWS文档,我为DMS (dms-vpc-role,dms-cloudwatch-logs-role)实现了所需的角色,为Redshift (dms-access-for-endpoint)实现了特定角色。
安全组
安全组设置也是相同的。RDS和Redshift都有两个安全组(空组和引用空组的入口组)。入口安全组的入站规则如下,出站规则默认为允许所有传出通信。
RDS:

红移:

复制实例设置
复制实例具有两个安全组。我认为复制实例本身将需要一个单独的安全组,但是,我无法创建一个工作的安全组。
在写这篇文章之前我做了什么?
我测试了以下场景:
。
我得到了以下错误,我将其解释为DMS无法调用任何类型的Redshift。
Test Endpoint failed: Application-Status: 1020912, Application-Message: N/A, Application-Detailed-Message: N/A总的来说,它与默认的VPC安全组一起工作这一事实使我得出了这样的结论:(1)这是一个网络问题,(2)对复制实例安全组的简单更改可能会完成这项工作。然而,经过无数次的迭代,我不知道我在这里缺少了什么。
所有的想法和建议都是非常感谢的!
发布于 2020-06-18 23:11:05
您的场景中典型的安全组配置应该是:
DMS-SG
DMS-SG
实例(DMS-SG)上的一个安全组,它允许所有出站(这是正常的默认情况),再加上您需要使用DMS
RDS-SG)上的安全组允许从Amazon实例(Redshift-SG)上的安全组进入端口3306,该安全组允许来自DMS-SG的5439端口的入站流量。也就是说,DMS实例应该有自己的安全组,可以从其他安全组引用。安全组分别应用于每个实例。具有“相同”安全组的实例不会获得任何与彼此通信的特殊能力,除非将其作为规则专门添加到安全组中。
发布于 2022-04-05 07:06:11
对于我来说,问题是红移端点,请从其中删除端口号和数据库名。所以浪费了整整一天。
https://stackoverflow.com/questions/62446270
复制相似问题