Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到Django后端的AWS Postgres实例_Django_Postgresql_Amazon Web Services_Django Database - Fatal编程技术网

连接到Django后端的AWS Postgres实例

连接到Django后端的AWS Postgres实例,django,postgresql,amazon-web-services,django-database,Django,Postgresql,Amazon Web Services,Django Database,我在AWS上创建了一个PostgreSQL数据库,我想用于Django项目 我修改了settings.py,使其具有 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': <db name>, 'USER': <user>, 'PASSWORD': <password>,

我在AWS上创建了一个PostgreSQL数据库,我想用于Django项目

我修改了settings.py,使其具有

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': <db name>,
        'USER': <user>,
        'PASSWORD': <password>,
        'HOST': 'projectdevelopment.foobar.us-east-1.rds.amazonaws.com',
        'PORT': '5432',
    }
}
projectdevelopment.foobar.us-east-1.rds.amazonaws.com
已直接从rds控制台中endpoint下的值复制


我是否缺少设置或配置错误?或者两者都有?

确保服务器已启动并从 亚马逊的末日

检查这个,他们有同样的问题


尝试使用
'ENGINE'='django.db.backends.postgresql\u psycopg2'
,检查此项

阅读:


尝试分配
数据库\u URL
,以便将RDS postgres连接到您的django应用程序

DATABASE_URL=postgis://<user>:<password>@<host>:<port>/<db-name>
在您的情况下,
数据库\u URL
将被删除

postgis://
@
projectdevelopment.foobar.us-east-1.rds.amazonaws.com
5432
/

  • 5432
    是postgres服务器使用的默认端口

看起来你用错了引擎。此外,如果您的应用程序没有使用诸如Elastic Beanstalk之类的托管服务,请确保将RDS实例的安全组添加到应用程序环境中,以便应用程序能够访问RDS实例

如果你使用弹性豆茎:或

如果您没有使用elastic beanstalk,最有可能的问题是VPC。请参阅讨论,直接使用RDS配置EC2。
官方文档对该场景进行了很好的解释。

您的主机字符串错误

(venv) duddits@dev:~/movina$ host projectdevelopment.foobar.us-east-1.rds.amazonaws.com
Host projectdevelopment.foobar.us-east-1.rds.amazonaws.com not found: 3(NXDOMAIN)


(venv) duddits@dev:~/movina$ dig  projectdevelopment.foobar.us-east-1.rds.amazonaws.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> projectdevelopment.foobar.us-east-1.rds.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30254
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;projectdevelopment.foobar.us-east-1.rds.amazonaws.com. IN A

;; AUTHORITY SECTION:
us-east-1.rds.amazonaws.com. 55 IN      SOA     ns-1420.awsdns-49.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 0 msec
;; SERVER: 109.197.120.67#53(109.197.120.67)
;; WHEN: Thu Jan 25 04:43:44 +07 2018
;; MSG SIZE  rcvd: 164
(venv)duddits@dev:~/movina$host projectdevelopment.foobar.us-east-1.rds.amazonaws.com
找不到主机projectdevelopment.foobar.us-east-1.rds.amazonaws.com:3(NXDOMAIN)
(venv)duddits@dev:~/movina$dig projectdevelopment.foobar.us-east-1.rds.amazonaws.com
;  DiG 9.10.3-P4-ubuntuprojectdevelopment.foobar.us-east-1.rds.amazonaws.com
;; 全局选项:+cmd
;; 得到答案:

;; ->>Headera您是从其他AWS资源(如EC2或Lambda)连接,还是从AWS外部连接?您是否已将RDS实例配置为可从AWS外部访问?如果我没记错的话,默认情况下只有通过VPC连接才能访问。如果它是一个非常新的实例,它可能需要一两个小时才能传播到您的DNS提供商。首先,确保可以将主机名解析为IP地址,例如通过执行
nslookup
或类似的DNS查询。例如
nslookup my.rdsinstance.us-east-1.rds.amazonaws.com 8.8.8
查询谷歌的公共DNS。是的,它可以公开访问。该实例已经存在了将近24小时。您可以使用pgadmin工具连接到该实例吗?如果已使实例可公开访问,是否可以使用公共IP而不是主机名进行连接?这个错误表明主机名无法解析。嘿@Batman,我想知道,有什么答案有用吗?
DATABASES['default'] = DATABASE_URL
(venv) duddits@dev:~/movina$ host projectdevelopment.foobar.us-east-1.rds.amazonaws.com
Host projectdevelopment.foobar.us-east-1.rds.amazonaws.com not found: 3(NXDOMAIN)


(venv) duddits@dev:~/movina$ dig  projectdevelopment.foobar.us-east-1.rds.amazonaws.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> projectdevelopment.foobar.us-east-1.rds.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30254
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;projectdevelopment.foobar.us-east-1.rds.amazonaws.com. IN A

;; AUTHORITY SECTION:
us-east-1.rds.amazonaws.com. 55 IN      SOA     ns-1420.awsdns-49.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 0 msec
;; SERVER: 109.197.120.67#53(109.197.120.67)
;; WHEN: Thu Jan 25 04:43:44 +07 2018
;; MSG SIZE  rcvd: 164