我的设置与这里介绍的设置非常相似 - 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" [email protected] -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