升级DMS至3.4.7后,Mysql转Redshift任务无法写入S3求助
排查方向
- 检查DMS实例的IAM角色信任关系:确认角色
dms-access-for-endpoint的信任策略中允许dms.amazonaws.com作为服务主体,避免升级过程中信任配置被意外修改。 - 验证S3桶的桶策略:排查桶策略是否存在
DENY语句限制了DMS的访问,比如IP范围、VPC来源或服务主体的限制,确保桶策略明确允许目标IAM角色的写入操作。 - 确认S3对象键的字符合法性:手动尝试上传与报错中路径一致的文件到目标S3桶,验证路径是否符合S3的对象键规则,排查DMS 3.4.7版本是否对键的校验逻辑有更新。
- 检查DMS任务的S3配置细节:核对任务中S3桶名称、前缀是否准确,若开启了S3服务器端加密(SSE),确认DMS角色是否拥有对应的KMS权限(如
kms:GenerateDataKey、kms:Decrypt)。 - 核对DMS实例的VPC端点策略:检查S3 VPC端点的附加策略,确认是否允许
dms-access-for-endpoint角色访问目标桶,避免同子网EC2正常但DMS被端点策略限制。 - 查看DMS 3.4.7版本更新日志:确认该版本是否对S3上传逻辑做了变更,比如新增了
s3:PutObjectAcl、s3:PutObjectTagging等隐性权限要求,即使角色有s3:*权限,也要确认是否存在权限生效的异常场景。 - 测试公网访问S3:临时切换DMS的S3访问方式为公共网络,若上传成功则问题聚焦VPC端点或网络配置;若仍失败则排查IAM权限或DMS内部逻辑。
- 检查S3桶的访问控制列表(ACL):确认桶的ACL允许目标IAM角色拥有写入权限,虽然IAM权限优先级更高,但ACL的拒绝规则可能会覆盖允许策略。
内容的提问来源于stack exchange,提问作者cdkdrf
相关产品推荐
相关产品推荐

