AWS redshift 阻止了我的 IP

Posted

技术标签:

【中文标题】AWS redshift 阻止了我的 IP【英文标题】:AWS redshift blocks my IP 【发布时间】:2016-01-19 18:27:36 【问题描述】:

我无法连接到 aws Redshift 集群,但是当我使用不同的 Wifi 时,我能够以完全相同的配置进行连接。以下是一些细节: 我将 mac 与 SQL Workbench/J 与 AWS Redshift 驱动程序一起使用。

我得到的错误: [Amazon] (500150) 设置/关闭连接时出错:操作超时。

使用 Wireshark 我看到没有应答的出站 TCP 请求。

当我将我的智能手机设置为热点(而不是使用我的家庭 Wifi)时 - 相同的连接工作正常。

这是我的安全组详细信息:

入站:Redshift TCP 5439 0.0.0.0/0 出站:所有流量 All All 0.0.0.0/0

此外,我在两个不同的 aws 帐户上对此进行了测试 - 两者都存在同样的问题。

任何想法都会有很大帮助

【问题讨论】:

【参考方案1】:

在这里找到了答案: http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html

空闲连接由中间网络组件(例如防火墙)终止。解决(在mac上):

sudo sysctl net.inet.tcp.keepintvl=20000
sudo sysctl net.inet.tcp.keepidle=20000 
sudo sysctl net.inet.tcp.keepinit=20000
sudo sysctl net.inet.tcp.always_keepalive=1

如果可行,请将以下内容添加到 /etc/sysctl.conf 以保持:

net.inet.tcp.keepidle=20000 
net.inet.tcp.keepintvl=20000 
net.inet.tcp.keepinit=20000 
net.inet.tcp.always_keepalive=1                  

重启后,进行测试:

sysctl net.inet.tcp.keepidle
sysctl net.inet.tcp.keepintvl
sysctl net.inet.tcp.keepinit
sysctl net.inet.tcp.always_keepalive

更改 DSN 超时设置

【讨论】:

以上是关于AWS redshift 阻止了我的 IP的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊 AWS 连接错误

如何使用 AWS Redshift 执行 Bash 脚本

Aginity Workbench Redshift 服务器连接错误

AWS 数据管道; RedshiftLoadCopy 失败;架构错误

AWS Glue ETL 到 Redshift:日期

无法从 AWS lambda 连接 AWS redshift