难以使用 RDS 端点通过 Bastion ec2 实例连接到 RDS

问题描述 投票:0回答:0

我在尝试设置 SSH 隧道以通过堡垒 ec2 实例连接到私有 RDS Aurora 集群时遇到了困难。

当我在我的 python 脚本和 pgadmin 中使用 RDS 端点解析到的私有 IP 时,它工作正常。 但是,如果我从私有 IP 更改为实际的 RDS 端点 (..us-west-2.rds.amazonaws.com),我的脚本和 pgadmin 都不会连接。他们给出超时错误。

供参考: db_ip = RDS 的 ip 或端点,bastion_endpoint = ec2 实例的端点,bastion_user = ec2-user,key_path = 身份密钥文件的路径

with sshtunnel.SSHTunnelForwarder(
                (bastion_endpoint, 22),
                ssh_username=bastion_user,
                ssh_private_key=key_path, 
                remote_bind_address=(db_ip, 5432),
                local_bind_address=('', 5433)) as server:

奇怪的是,当我使用 powershell 直接打开 SSH 隧道时:

ssh -i <identity key> -f -N -L 5433:<rds ip>:5432 ec2-user@<ec2 endpoint> -v

然后运行psql:

psql -hlocalhost -U<user> -p5433 -d <database>

Psql 连接很快。

但是,如果我换到端点:

ssh -i <identity key> -f -N -L 5433:<rds endpoint>:5432 ec2-user@<ec2 endpoint -v
psql -hlocalhost -U<user> -p5433 -d <database>

Psql 连接...最终。在询问密码之前需要几分钟,然后再给我提示需要几分钟。

我可能配置不正确吗?据我所知,一切都设置好了。就像它在 IP 上工作正常,只是在端点上不行。

amazon-ec2 amazon-rds
© www.soinside.com 2019 - 2024. All rights reserved.