无法连接到redshift数据库

che*_*lkt 14 amazon-redshift

我正在尝试使用Postgre JDBC驱动程序从SQL Workbench/J连接到Redshift数据库,但我无法通过.我收到此错误"连接尝试失败".jdbc驱动程序位置正确.我还尝试通过Aginity Workbench for Redshift,但它无法显示数据库列表.我有我的连接URL到表单的数据库,jdbc:postgresql://host:port/name_of_database但令人惊讶的是我甚至无法ping主机.我可以通过亚马逊控制台看到数据库的健康状况良好.所以,我的问题是:

  1. 为什么我不能ping我的redshift数据库服务器?
  2. 有没有办法ssh到数据库服务器?

Edit1:将我的公共IP添加到安全组后,主机在ping时解析但仍然有100%的数据包丢失.

Edit2:我可以在EC2-Classic中成功托管数据库,但不能在EC2-VPC中托管数据库.由于我缺少公共IP,我尝试在VPC中重新托管数据库,其中100%的数据包丢失.

Joe*_*ris 16

您必须将IP地址块添加到群集的安全组中.

这与其他安全组(即VPC)是分开的.

您可以在Redshift控制台的左侧找到它.https://console.aws.amazon.com/redshift/


Mar*_*res 5

我试图通过 psql 从我的本地机器连接到 VPC 中的 Redshift 集群。我发现我需要明确地将我的本地 IP/CIDR 添加到我的安全组的入站规则中。

您可以在 AWS 控制台的服务>VPC>安全组中找到该菜单。然后单击以编辑您的安全组,您应该会在页面底部看到入站规则选项卡。例子:


入站规则菜单示例

在此之前我不熟悉 CIDR,但 32 似乎是默认的 CIDR。就我而言,我添加了一个入站规则以允许来自 xx.xxx.xxx.xx/32 - xx.xxx.xxx.xx 的流量作为我的本地 IP 地址。