繁体   English   中英

如何连接我的redshift数据库?

[英]How do I connect with my redshift database?

我正在AWS上建立Redshift数据库,并且已经按照本文中的说明进行操作-https: //chartio.com/resources/tutorials/connecting-to-a-database-within-an-amazon-vpc/

我无法连接到数据库。

这是我的设置-

我有一个使用Amazon RDS旋转的PostgreSQL数据库实例。 该服务器通过两个子网连接到Amazon VPC。

子网A设置在us-east-2c中。 它与具有两个路由的路由表关联。 第一个具有目的地10.0.0.0/16,目标“本地”,状态“活动”和传播“否”。 第二个目标为0.0.0.0/0,目标是与VPC关联的Internet网关。

子网B设置在us-east-2b中。 它具有目的地10.0.0.0/16和目标“本地”。

PostgreSQL数据库通过以下入站规则与安全组关联:类型:自定义TCP规则,协议:TCP,端口范围:5432,源:10.0.0.0/32。 没有出站规则。

数据库上的其他详细信息:

-“公开访问”设置为“否”

-它在us-east-2b中运行

此外,EC2上还有一个实例。 它在us-east-2c上。

它与具有以下入站规则的安全组关联:

第一类:自定义TCP规则,协议:TCP,端口范围:5432,源:10.0.0.0/32

第二类型:SSH,协议:TCP,端口范围:22,源:(my-ip-address)/ 32

第三类型:SSH,协议:TCP,端口范围:22,源:(安全组的组ID)

这两个安全组都与具有以下设置的同一VPC关联:IPv4 CIDR:10.0.0.0/16,IPv6 CIDR:(空白)。

我对设置的理解是EC2实例是公共的,我可以从我的SQL客户端(Postico)SSH进入该实例。 然后,EC2实例将私下连接到Redshift数据库。

这是我的问题-

a)我以前从未进行过设置,并且可能在不知情的情况下做了完全错误的事情。

b)我正在尝试从Postico创建SSH连接。 我不知道要为“主机”或“端口”填写什么值。 此外,我不知道“用户”和“密码”是指我计算机上帐户的用户名和密码,还是完全指其他名称。

我的目标只是能够拥有一个公众不可用的PostgreSQL数据库,但允许我从我的SQL客户端(Postico)访问它。

我已经尝试研究此问题,但是却找不到满足这些需求的令人惊讶的内容。 我对此并不陌生,因此,如果我缺少发布此文章所需的部分,或者如果我在某种程度上搞砸了,请提醒我,我会相应地进行更新。

您的入站安全组具有“源:10.0.0.0/32”,这意味着只有10.0.0.0可以连接到它,这是无效的主机地址。 更改/ 32以匹配您的网络(/ 16)。

Redshift的端口通常是5439。您引用的是5432。

我不明白您的“ b”问题。 您要连接到什么?

[更新新信息]

我刚刚意识到您要做什么。

您的目标是使用SSH从桌面连接到EC2,然后连接到RDS。 这行不通。

解决方案是设置一个VPN,例如OpenVPN,该VPN允许您连接到AWS中的VPC,然后OpenVPN会将您的客户端请求转发到RDS(VPN路由)。

我要做的是使用OpenVPN设置EC2实例。 然后,当我需要对AWS的VPN访问时,可以打开和关闭该实例。 我有从我的桌面执行此操作的批处理脚本(启动和停止EC2实例)。

另一个选择是允许Internet访问RDS。 您可以使用安全组来锁定仅对家庭/工作IP地址的Internet访问。 根据您的Internet提供商的不同,您的IP可能会更改,这意味着使用新IP地址更新安全组,但这很容易做到。

此页面将向您显示您放入安全组的公共IP地址: 什么是我的IP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM