企业账号下使用DMS连接Kinesis作为目标端报错如何解决
AWS DMS配置Kinesis目标端"failed to connect to database"报错排查方案
1. IAM权限排查(企业账号与个人账号差异最高发的原因)
企业账号通常会有更严格的权限管控,优先核对以下配置:
- 确认DMS服务关联角色拥有Kinesis相关操作权限,需至少包含以下权限项:
{ "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:ListStreams" ], "Resource": "arn:aws:kinesis:<目标区域>:<企业账号ID>:stream/<目标流名称>" }
- 若企业账号在组织层面启用了SCP(服务控制策略),确认SCP没有禁止DMS访问Kinesis服务的规则
- 若DMS服务角色配置了权限边界,确认权限边界没有限制Kinesis相关操作
- 若Kinesis流启用了服务端加密(SSE-KMS),需额外给DMS服务角色授予对应KMS密钥的
kms:GenerateDataKey、kms:Decrypt权限
2. 网络连通性排查
- 若DMS实例部署在私有VPC且未开启公网访问,需确认已配置Kinesis的VPC端点,且端点安全组允许DMS实例所在安全组访问443端口
- 检查DMS实例所在子网的网络ACL出站规则、Kinesis VPC端点所在子网的网络ACL入站规则,确认未封禁443端口的流量
- 确认DMS实例与目标Kinesis流属于同一AWS区域,跨区域访问需提前配置对应的公网/专线路由
3. 基础配置校验
- 核对DMS目标端配置中填写的Kinesis流名称、资源ARN完全正确,大小写敏感,无多余空格或特殊字符
- 确认目标Kinesis数据流处于
Active运行状态,未被删除、禁用或处于调整分片的暂态中
4. 日志定位根因
- 开启DMS任务的Debug级日志,过滤
kinesis、connect相关关键词:- 若日志包含
AccessDenied关键字,返回第一步重新核对权限配置 - 若日志包含
Timeout、Connection refused关键字,返回第二步核对网络配置
- 若日志包含
内容的提问来源于stack exchange,提问作者sushma
相关产品推荐
相关产品推荐

