【发布时间】:2021-10-17 01:06:14
【问题描述】:
有没有办法将 Django 连接到通过 SSH 连接到堡垒的私有 RDS?
我当前的 AWS 基础设施在 公共子网 和 两个私有子网 中有一个 EC2 堡垒,其中 postgres RDS DB 居住。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "aaaa",
"USER": "bbbb",
"PASSWORD": "cccc",
"HOST": "xxx.zzz.us-east-z.rds.amazonaws.com", # RDS Endpoint
"PORT": 5432,
}
}
使用终端我可以 ssh 进入堡垒并检查与 RDS 的连接,OK。
现在我想将上面的 Django 设置连接到 RDS,所以:
- 我将我的 RDS 连接到 https://dbeaver.com/ 软件(结果显示:已连接!)
- 现在在 Django 端,当我使用 AWS RDS 凭证编辑上面的 settings.py 时
并启动 django
python manage.py runserver我收到以下错误:
django.db.utils.OperationalError: could not translate host name "xxx.zzz.us-east-z.rds.amazonaws.com" to address: nodename nor servname provided, or not known.
我的期望是,由于 DBeaver 软件已连接到我的私有 RDS,我将能够将 Django 连接到 RD 实例。 (我已将此方法与公共 RDS 一起使用)
这个方法有什么我遗漏的吗?
【问题讨论】:
-
我也有同样的问题...你解决了吗
标签: python django amazon-web-services amazon-ec2 amazon-rds