0

我有一个想在 Redshift 中定期运行的查询。我已经为它设置了一个 AWS 数据管道。

我的问题是我无法弄清楚如何访问 Redshift。我不断收到“无法建立连接”错误。我有一个 Ec2Resource,我尝试从集群的 VPC 中包含一个子网,并使用 Redshift 使用的安全组 ID,同时将该 sg-id 添加到规则的入站部分。没运气。

有没有人可以从头开始设置数据管道以针对 Redshift 运行?

我目前如何设置管道

  • 红移数据库
    • 连接字符串:jdbc:redshift://[host]:[port]/[database]
    • 用户名密码
  • Ec2资源
    • 资源角色:DataPipelineDefaultResourceRole
    • 角色:DataPipelineDefaultRole
    • 结束时间:20 分钟
  • SqlActivity
    • 数据库:[数据库](来自连接字符串)
    • 运行于:Ec2Resource
    • 脚本:SQL查询

错误信息

无法建立与 jdbc 的连接:postgresql://[host]:[port]/[database] 连接被拒绝。检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接。

4

2 回答 2

3

好的,所以答案在于安全组。我必须找到我的 Redshift 集群所在的安全组,然后将其作为值添加到 DataPipeline 中 Ec2Resource 上的“安全组”参数中。

  • Ec2资源
    • 资源角色:DataPipelineDefaultResourceRole
    • 角色:DataPipelineDefaultRole
    • 结束时间:20 分钟
    • 安全组:sg-XXXXX [从 Redshift 拉取]
于 2019-06-24T20:14:13.957 回答
0

尝试向所有来源开放入站规则,以缩小可能的原因。您可能已经这样做了,但请确保您已根据设置了 jdbc 驱动程序和配置。

于 2019-06-24T02:34:15.537 回答