无法连接到redshift数据库

时间:2013-11-07 17:33:07

标签: 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到数据库服务器?
  3. Edit1:将我的公共IP添加到安全组后,主机在ping时解析但仍有100%的数据包丢失。

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

4 个答案:

答案 0 :(得分:15)

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

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

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

答案 1 :(得分:3)

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

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

inbound rules menu example

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

答案 2 :(得分:2)

对于同一VPC中的EC2实例,您必须将私有IP的CIDR / IP添加到安全组规则,即,而不是公共IP 54.191.XXX.XXX,您应该添加私有IP 172.31.XXX.XXX到您的安全组的入口规则。

答案 3 :(得分:0)

看起来您只能通过从VPC中的EC2计算机连接来解决问题。这意味着您没有公开Redshift群集,这是启动群集时的选项之一。