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



我已经使用Linux堡垒主机快速入门中讨论的建议方法设置了一个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 路由。

我假设你的情况是:

  • 您在私有子网中有一个 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 集群上的安全组应允许端口 5439 上来自堡垒(或整个 VPC 或0.0.0.0/0入站连接
  • 堡垒上的出站规则应保持其默认设置,即允许所有出站流量

如果仍然出错,您可以通过在堡垒上安装psql并尝试连接到 Redshift 来测试 Redshift 连接。(Redshift是从PostgreSQL分叉而来的,所以它的行为类似(。

最新更新