15

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

  1. 为什么我无法 ping 我的 redshift db 服务器?
  2. 有没有办法通过 ssh 连接到数据库服务器?

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

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

4

4 回答 4

17

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

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

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

于 2013-11-08T14:28:50.383 回答
5

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

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


入站规则菜单示例

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

于 2016-04-20T13:55:43.940 回答
2

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

于 2015-04-15T05:35:01.973 回答
0

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

于 2016-04-20T23:39:47.077 回答