我的设置与此处介绍的设置非常相似-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