如何为使用 Amazon Redshift 作为目标终端节点的 AWS DMS 任务排查连接故障和错误?

上次更新时间:2019 年 9 月 26 日

如何为使用 Amazon Redshift 作为目标终端节点的 AWS Database Migration Service (AWS DMS) 任务排查连接故障和错误?

简短描述

当您测试到 Amazon Redshift 终端节点的连接时,如果您不满足将 Amazon Redshift 数据库作为 AWS Database Migration Service 目标的先决条件,则测试会失败。如果您尚未创建和配置所需的 AWS Identity and Access Management (IAM) 角色,或者终端节点 ARN 的 Amazon Simple Storage Service (Amazon S3) 存储桶名称已使用,也会导致测试失败。当您使用 AWS DMS 控制台时,系统会自动创建所需的 IAM 角色,但是如果您使用的是 AWS DMS API 或 AWS 命令行界面 (AWS CLI),则系统不会创建该角色。

如果 AWS DMS 任务的网络配置存在问题,则连接测试也会失败。要排查终端节点连接错误,请参阅如何排查 AWS DMS 终端节点连接故障?

如果所需的 IAM 角色未正确创建和配置,您会收到类似以下内容的错误:

Role 'dms-access-for-endpoint' is not configured properly

解决方法

要解决此错误,请确认 dms-access-for-endpoint IAM 角色已创建并已正确配置。有关此角色配置方面的信息,请参阅创建 IAM 角色以用于 AWS CLI 和 AWS DMS API 中的创建 dms-access-for-endpoint IAM 角色以用于作为目标数据库的 Amazon Redshift 部分。

如果 Amazon 托管策略未正确配置,您会收到类似以下内容的错误:

Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use.

在以下情况下会出现此错误:

  1. Amazon 托管策略(AmazonDMSRedshiftS3Role 或类似的自定义策略)没有附加到 dms-access-for-endpoint IAM 角色。
  2. dms-access-for-endpoint IAM 角色策略具有针对 Amazon S3 的显示拒绝规则。
  3. 自动创建并与 Amazon Redshift 终端节点关联的预配置 S3 存储桶策略已通过显式限制进行修改。

要解决此错误,请将默认托管策略 (AmazonDMSRedshiftS3Role) 或类似的自定义策略附加到 dms-access-for-endpoint IAM 角色。然后,确认 AWS DMS 关联的默认 S3 存储桶策略尚未修改。有关更多信息,请参阅 Amazon S3 存储桶设置


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助吗?