![](/img/trans.png)
[英]How to connect RDS database with AWS Redshift Serverless?
[英]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.