gpt4 book ai didi

amazon-web-services - 无法通过 RDS 代理连接到 RDS PostgreSQL 数据库实例

转载 作者:行者123 更新时间:2023-12-03 23:20:26 24 4
gpt4 key购买 nike

我正在尝试使用 RDS 代理来汇集和共享与带有 PostgreSQL 引擎的 RDS 数据库建立的连接。问题是我可以通过 ECS 实例或在 PgAdmin 中打开与数据库的连接,但是,我无法通过代理进行连接。为了尝试通过 PgAdmin 中的代理进行连接,我使用的是代理端点而不是 DB 端点,但连接尝试超时。
我已成功创建代理并与我的数据库关联,代理和数据库状态都可用。我已关注 example proxy setup并且数据库和代理使用相同的 VPC 安全组。
有任何想法吗?
enter image description here
enter image description here

最佳答案

在我看来,您是从 连接到代理的。 AWS 之外 .如果是这种情况,则其 not possible直接执行此操作:

Your RDS Proxy must be in the same VPC as the database. The proxy can't be publicly accessible, although the database can be.


您可以连接到 RDS,因为它可以公开访问。另一方面,RDS 代理只能从同一 VPC 内访问,例如,从一个实例。
因此,解决方案是在与您的 RDS 和代理相同的 VPC 中设置一个实例。该实例必须可使用 SSH 访问。
在实例上,您可以运行 pgadmin4 ,在 docker :
docker run --rm -p 8080:80 \
-e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \
-e 'PGADMIN_DEFAULT_PASSWORD=Fz77T8clJqJ4XQrQunGA' \
-d dpage/pgadmin4
该命令在设置 docker 后,将服务器 pgadmin4在实例上的端口 8080 上。
您可以检查实例是否正常工作:
curl localhost:8080
它可以给出以下表明它的工作原理:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="/login?next=%2F">/login?next=%2F</a>. If not click the link
但是,由于您的实例只能通过 ssh(端口 22)访问,要从本地工作站访问它,您必须 建立ssh隧道 :
ssh  -i <private-key>  -L   8080:localhost:8080 -N ubuntu@<public-instance-ip> -v
在上面,我的实例是 Ubuntu。对于 Amazon Linux 2,用户将是 ec2-user .
隧道会将端口 8080 从实例(即 pgadmin4 )转发到端口 8080 上的本地工作站。
然后你只需将浏览器指向 localhost:8080你应该看到 pgadmin4欢迎画面。
附言我用于验证的 RDS 和代理设置:
enter image description here
enter image description here
enter image description here

关于amazon-web-services - 无法通过 RDS 代理连接到 RDS PostgreSQL 数据库实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63278572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com