跨多个AWS账户使用AWS DMS时无法查看RDS实例的问题咨询
AWS DMS跨账户RDS源端点不可见问题排查
可能原因分析
- IAM权限缺失:DMS使用的服务角色没有跨账户查询RDS实例的权限
- 网络隔离:DMS复制实例所在VPC与目标账户RDS实例的VPC未打通,或安全组限制了访问
- RDS实例状态异常:目标账户的RDS实例处于停止、维护等不可用状态
- 跨账户资源共享未配置:未通过RAM或资源策略将RDS实例共享给DMS所在账户
排查建议
- 核查DMS服务角色权限
确保角色附带的IAM策略包含跨账户访问RDS的权限,比如:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:DescribeDBInstances", "rds:DescribeDBClusters" ], "Resource": "arn:aws:rds:区域:目标账户ID:db:*" } ] } - 验证网络连通性
- 确认DMS复制实例VPC与目标账户RDS的VPC已建立VPC peering,且路由表配置正确
- 检查RDS实例的安全组,允许DMS复制实例的安全组/IP地址访问对应数据库端口(如MySQL的3306、PostgreSQL的5432)
- 检查RDS实例状态
登录目标账户AWS控制台,确认RDS实例状态为available,无停止、维护等异常情况 - 配置跨账户资源共享
- 若使用RAM,在目标账户将RDS实例共享给DMS所在账户,并确保DMS账户已接受共享邀请
- 或直接在RDS实例的资源策略中添加允许DMS账户访问的规则
- 手动测试端点创建
若自动发现列表为空,尝试手动输入RDS实例的端点地址、端口、数据库凭证,创建源端点,验证是否能正常连接 - 查看DMS日志
进入CloudWatch,查找DMS复制实例的日志组,搜索是否存在访问RDS时的权限报错、网络连接超时等信息
内容的提问来源于stack exchange,提问作者tafa
相关产品推荐
相关产品推荐

