在单独的VPC中从EC2实例访问RDS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在单独的VPC中从EC2实例访问RDS相关的知识,希望对你有一定的参考价值。
我的设置与这里介绍的设置非常相似 - Why can't I connect AWS RDS instance from EC2 instance in another VPC after peering
我有2个VPC的VPC A
和VPC B
我在EC2 A
中有一个RDS实例和一个EC2实例(VPC A
) - 我可以通过运行像EC2 A
之类的东西从mysql -u sa -pPASSWORD -h db-prod.sdfsdfewfwe.us-east-2.rds.amazonaws.com
访问RDS实例
我在EC2 B
中有另一个EC2实例(VPC B
),我希望能够运行相同的mysql
命令来访问RDS实例。
我在VPC A
和VPC B
之间建立了一个对等连接,所以我的路由表如下所示:
RDS VPC
Destination Target
172.31.0.0/16 local
10.0.0.0/16 pcx-xyz123
EC2 VPC
Destination Target
10.0.0.0/16 local
172.31.0.0/16 pcx-xyz123
我现在可以从VPC A
- > VPC B
ssh,反之亦然,但我仍然无法访问RDS实例。
我能够做到的唯一方法是建立一个SSH隧道,如下所示:
ssh -i "key.pem" ubuntu@172.31.0.0 -L 3307:db-prod.sdfsdfewfwe.us-east-2.rds.amazonaws.com:3306 -N
然后,我可以通过运行以下命令从VPC B
访问RDS:
mysql -u sa -pPASSWORD -h 127.0.0.1 -P 3307
我想避免这种情况,并正确设置我的网络以解决VPC B
的RDS访问问题
更新:
@detzu感谢您的回复。
RDS有2个子网,db-subnet
和accessible-subnet
accessible-subnet
:
11.234.52.0/24 local
11.234.53.0/24 local
11.241.52.0/24 pcx-034d57cb727bbf9ec
0.0.0.0/0 igw-003f4bff3126fc2e9
db-subnet
:
11.234.52.0/24 local
11.234.53.0/24 local
11.241.52.0/24 pcx-034d57cb727bbf9ec
0.0.0.0/0 igw-003f4bff3126fc2e9
VPC B
有一个子网inaccessible-subnet
:
11.234.52.0/24 pcx-034d57cb727bbf9ec
11.241.52.0/24 local
0.0.0.0/0 igw-01fd2dbb6bee81525
RDS安全组:
CIDR/IP - Inbound 33.140.253.74/32
CIDR/IP - Inbound 11.234.52.0/24
CIDR/IP - Inbound 11.241.52.0/24
CIDR/IP - Outbound 0.0.0.0/0
更新2
RDS安全组规则
入站:
MYSQL/Aurora TCP 3306 33.140.253.74/32
MYSQL/Aurora TCP 3306 11.234.52.0/24
MYSQL/Aurora TCP 3306 11.241.52.0/24
出站:
All traffic All All 0.0.0.0/0
是与EC2 A在同一子网中的RDS实例?如果没有,请提供RDS子网(通常是私有子网)的路由表。
RDS有子网组,子网组至少有2个子网,请检查所涉及的所有子网的路由表。
请检查VPC安全组的RDS,如果可能,请在此处复制(哈希公共IP或其他私人信息)。 RDS有2个安全组,请将RDS中配置的安全组检查为VPC安全组。
更新2:谢谢,路由表看起来不错。我没有看到任何问题!
点击链接并复制入站和出站规则,谢谢!
以上是关于在单独的VPC中从EC2实例访问RDS的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法在对等互连后从另一个 VPC 中的 EC2 实例连接 AWS RDS 实例
AWS:如何将 *** 客户端连接到 RDS(*** 服务器 EC2 和 RDS 在同一个 VPC 中)
使用 terraform 在非默认 VPC 中创建 AWS RDS 实例