微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 从另一个VPC访问私有RDS数据库

我正在尝试使用对等连接从不同的VPC访问私有RDS实例.我有两个VPC:

>带有一个公有子网的VPC-K8S(172.20.0.0/16)
> VPC-RDS(172.17.0.0/16),带有一个公有子网(172.17.0.0/24)和3个私有子网(172.17.{1,2,3} .0 / 24)

VPC-RDS有2个安全组(不是实际名称):

> default,从我的IP接受SSH
> db,它从认安全组接受端口5432上的TCP.

在私有子网中创建数据库子网组后,我将数据库实例部署在VPC-RDS中,并将其配置为不可公开访问.要从我的工作站访问它,我使用认安全组在VPC-RDS的公共子网中创建一个小实例,并创建一个SSH隧道:

ssh -L 5432:rds-host-name.us-east-1.rds.amazonaws.com:5432  -i "KeyName.pem"  [email protected]mpute-1.amazonaws.com

我可以通过localhost从我的工作站访问RDS.

我希望能够从我的Kubernetes集群(VPC-K8S)访问我的RDS实例.我在两者之间建立了对等连接,并适当地配置路由表(在VPC-K8S:172.17.0.0/16 – > pcx-112233; VPC-RDS:172.20.0.0 / 16 – > pcx-112233)

我无法从我的一个K8S节点或K8S VPC中的任何实例连接到RDS.我怀疑它与db安全组有关,但即使我将端口5432打开到所有IP(0.0.0.0/0)也无济于事.

任何想法如何做到这一点,或者这只能通过公共可访问的RDS实例或VPC-RDS中的堡垒主机和认SG来实现?

解决方法

愚蠢的疏忽,但是如果它对任何人都有帮助,我会把它留下来.

我在VPC-RDS中的私有子网使用与公有子网不同的路由表.这样做是为了使互联网地址(对于捕获所有规则0.0.0.0/0)指向NAT网关而不是公共子网中的互联网网关.

我为私有子网的路由表添加了规则以进行对等连接(172.20.0.0/16 – > pcx-112233),然后将数据库安全组配置为从172.20.0.0/16接受端口5432上的TCP流量.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐