JSN*_*JSN 5 amazon-web-services amazon-rds amazon-vpc amazon-redshift
我目前正在尝试通过 DMS 设置从 RDS (MySQL) 到 Redshift 的复制。RDS 的端点工作正常,但 Redshift 的端点不工作。这是我的设置:
专有网络
RDS、DMS 和 Redshift 在同一 VPC 中运行并共享相同的子网。
角色
我根据 AWS 文档实现了 DMS 所需的角色 ( dms-vpc-role、dms-cloudwatch-logs-role) 和 Redshift 的特定角色 ( )。dms-access-for-endpoint
安全组
安全组设置也相同。RDS 和 Redshift 都有两个安全组(空安全组和引用空安全组的入口)。入口安全组的入站规则如下,出站规则默认允许所有出站通信。
RDDS:
红移:
复制实例设置
复制实例具有两个安全组。我认为复制实例本身需要一个单独的安全组,但是,我无法创建一个可用的安全组。
在写这篇文章之前我做了什么?
我测试过以下场景:
我收到以下错误,我将其解释为 DMS 无法调用任何类型的 Redshift。
Test Endpoint failed: Application-Status: 1020912, Application-Message: N/A, Application-Detailed-Message: N/A
Run Code Online (Sandbox Code Playgroud)
总的来说,它与默认 VPC 安全组配合使用这一事实让我得出这样的结论:(1) 这是一个网络问题,(2) 对复制实例安全组进行简单更改可能就可以完成任务。然而,经过无数次迭代,我不知道我在这里错过了什么。
所有的想法和建议都受到高度赞赏!
您的场景的典型安全组配置应该是:
DMS-SG) 上的安全组允许所有出站(这是正常默认值)以及使用 DMS 所需的任何入站RDS-SG) 上的安全组允许端口 3306 上的入站流量DMS-SGRedshift-SG) 上的安全组允许端口 5439 上的入站流量DMS-SG也就是说,DMS 实例应该有自己的安全组,可以从其他安全组中引用该安全组。安全组单独应用于每个实例。具有“相同”安全组的实例不会获得任何相互通信的特殊能力,除非作为规则专门添加到安全组中。
| 归档时间: |
|
| 查看次数: |
3449 次 |
| 最近记录: |