【问题标题】:Connection error of AWS Redshift to local computerAWS Redshift 到本地计算机的连接错误
【发布时间】:2021-08-31 04:30:21
【问题描述】:

我尝试使用 pycopg2 将 Amazon Redshift 连接到我的本地计算机。但是,我收到一条错误消息:

psycopg2.OperationalError:无法连接到服务器:操作超时。服务器是否在主机 xxx 上运行并在 posrt 5439 上接受 TCP/IP 连接

我做过两篇google搜索指南:

  1. 将公开访问设置更改为启用,并且
  2. 0.0.0.0/0 和 ::/0 作为网关添加到 VPC 路由。

还是不行。如果您知道问题所在,请告诉我。

【问题讨论】:

  • 您能否向我们展示实际的安全组入站规则以及与启动它的子网关联的路由表?

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


【解决方案1】:

检查事项:

  • 检查与 Redshift 集群关联的安全组,并确认它允许从您的 IP 地址访问端口 5439
  • 检查 Redshift 集群是否在公共子网中启动(该子网的路由表指向互联网网关的0.0.0.0/0
  • 确保您使用 DNS 名称进行连接(如果您 ping DNS 名称,它会解析为 IP 地址吗?)
  • 尝试通过不同的网络(例如,家庭、办公室和通过手机连接)?

【讨论】:

  • 1.如何检查 Redshift 集群是否在公共子网中启动?我刚刚在路由表中添加了一条从0.0.0.0/0 到网关的路由。 2. 我做了ping -a <endpoint>。它只显示“icmp_seq x 的请求超时” 3. 我用手机连接的环境对其进行了测试。
  • Ping 不起作用,但它向您显示 DNS 名称解析到的 IP 地址,因此您可以测试 DNS 名称是否正在转换为 IP地址。要检查它是否在公共子网中,请找到它所在的子网,找到与该子网关联的路由表,然后确认有到目标 0.0.0.0/0 的 NAT 网关的路由。
  • 最可能的问题始终是安全组。您是否有一个与该实例相关联,允许从您的 IP 地址访问?
  • 我从失败的 ping 结果中获得了一个 IP 地址。我不确定如何检查是否有通往网关的路由。在我的例子中,有四个子网 - xx.yy.0.0/20xx.yy.16.0/20xx.yy.32.0/20xx.yy.48.0/20,DNS 的 IP 是 xx.yy.60.45。对于安全组,我刚刚将0.0.0.0/0(Redshift 类型)作为入站规则添加到默认设置。我不清楚我有一个允许访问的实例。
  • 在 VPC 控制台中,选择包含您的 Redshift 集群的子网。在底部的 Route Table 面板中,查看 Routes。它应该显示0.0.0.0/0 指向以igw- 开头的ID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多