我按照here上提到的所有步骤连接到 Redshift
到 Workbench J
.
我没有使用 SSH
连接,所以单独留下了 SSH
设置 .
当我选择 Redshift
后选择安全性时,我看到:
您的帐户不支持该地区的EC2-Classic平台 . 群集安全组仅在支持EC2-Classic平台时可用 . 而是使用VPC安全组来控制对群集的访问 . 转到EC2控制台以查看您的VPC安全组 . 有关更多信息,请参阅支持的平台上的Amazon Redshift文档和VPC中的管理群集 .
我的群集位于具有以下入站规则的安全组下:
Type: Redshift
Protocol: TCP
Port Range: 5439
Source: Custom 0.0.0.0/0 (Experimental, just to test,
I will replace this with my IP address)
当我在机器上使用 -Pn
在主机上执行 Netstat
时 . 我得到了
Host is up.
PORT STATE SERVICE
5439/tcp filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 2.22 seconds
我已经经历了几个类似的questions,但这些都不适合我 .
1 回答
仔细检查您的安全组设置:
在Redshift控制台中,转到
Configuration
选项卡 .点击
VPC security groups
旁边的链接应该在EC2控制台中选择正确的安全组,将您带到
Security Groups
.选择安全组的
Inbound
选项卡,然后单击Edit
按钮(打开一个对话框) .在对话框中,单击
Add Rule
按钮,然后:从
Type
下拉菜单中选择Redshift
从
Source
下拉菜单中选择Anywhere
Come back and change this to My Ip once your connection works!
单击
Save
按钮(对话框关闭)您现在有2个新的Redshift规则(
0.0.0.0/0
AND::/0
)然后在SQL Workbench的“选择连接配置文件”对话框中:
单击左下角的"Manage Drivers"并添加Redshift JDBC driver .
SQL Workbench自动配置这些,但检查
Classname
是否像com.amazon.redshift.jdbc42.Driver
和Sample URL
是jdbc:redshift://host:port/name_of_database
.接下来,配置连接
从下拉列表中选择刚刚创建的新
Driver
.从Redshift控制台配置选项卡复制
JDBC URL
并将其粘贴到URL
字段中 .Must use the correct port :
jdbc:redshift://my-cluster.asdfgh5jk8.us-east-1.redshift.amazonaws.com:
5439/my-db
添加
Username
和Password
测试连接! (右下)
如果由于某种原因这不起作用,请在评论中告诉我,我会帮助您使其正常工作 .