无法连接到私有子网中的Redshift群集

时间:2019-12-28 04:50:34

标签: amazon-web-services amazon-redshift vpc

我已经使用Linux Bastion Host Quick Start上讨论的建议方法设置了VPC。

我还已经在一个私有子网中创建了Redshift集群,并且还创建了其专用安全组,没有规则限制。这是Redshift的入站和出站规则,我正在分配所有流量和端口(0.0.0.0/0)。我什至对公共子网中的公共EC2实例也做同样的事情。

我可以成功地将ssh切换到我的公共堡垒实例,但是从那里我不能远程登录到Redshift端点。

[ec2-user@ip-10-0-141-20 ~]$ telnet ******.redshift.amazonaws.com 5439
Trying 10.0.20.169...
Connected to ******.redshift.amazonaws.com.
Escape character is '^]'.
Connection closed by foreign host.

我不确定我的配置出了什么问题。在Redshift中,我同时禁用了公共访问和VPC路由。

1 个答案:

答案 0 :(得分:1)

我认为您的情况是:

  • 您在私有子网中有一个Amazon Redshift集群
  • 您在同一VPC的公共子网中有堡垒服务器
  • 您希望将计算机上的SQL客户端连接到Redshift群集

一种方法是:

  • 使用端口转发通过堡垒主机连接到Redshift集群
  • 如果您使用的是Linux / Mac:
ssh-add keypair.pem
ssh -A ec2-user@BASTION-IP -L 5439:xyz.redshift.amazonaws.com:5439

(这表示:将本地端口5439转发到堡垒,该端口应将流量发送到端口5439上的Redshift集群

  • 如果使用Windows,则可以使用Pageant和PuTTY
  • 然后,将您的SQL客户端配置为使用server=localhostport=5439以及您的登录凭据连接到Redshift

如果上述方法无效,请检查以下事项:

  • Redshift群集上的安全组应允许堡垒(或整个VPC或0.0.0.0/0
  • 的端口5439上的入站连接
  • 堡垒上的出站规则应保持默认设置,即允许所有出站流量

如果仍然有问题,可以通过在堡垒上安装psql并尝试连接到Redshift来测试Redshift连接。 (Redshift是从PostgreSQL派生的,因此其行为类似)。