在这个问题上,我和用户处于类似的境地;将弹性豆杆环境与现有的RDS实例连接起来
我有一个Codestar项目(Django通过Bean秸秆),我无法让应用程序访问任何rds实例。在测试步骤(python manage.py test)期间尝试部署时,将引发以下错误消息;
django.db.utils.OperationalError: could not connect to server: Connection timed out
Is the server running on host "172.31.44.126" and accepting
TCP/IP connections on port 5432?我已经尝试过的事情
通过django和psql工作得很好
两者在本地工作良好,并在部署时提供相同的错误消息。
这可以通过本地ip和名称进行很好的连接。像\d和\l这样的查询返回精细的缩进实例,可以看到数据库。
EC2和rds实例都位于同一个vpc (只有一个)和子网(eu-west,可用性组2a)中。
我尝试过使用EBS工具来使用专用的rds实例和连接实例,并且应用程序无法连接到任何一个实例。
Settings.py
if 'RDS_DB_NAME' in os.environ:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ['RDS_DB_NAME'],
'USER': os.environ['RDS_USERNAME'],
'PASSWORD': os.environ['RDS_PASSWORD'],
'HOST': os.environ['RDS_HOSTNAME'],
'PORT': os.environ['RDS_PORT'],
}
}
else:
DATABASES = {
'default':
{
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'db_user',
'PASSWORD': 'db_pwd',
'HOST': 'db_host',
'PORT': '5432',
}
}发布于 2021-08-10 13:15:57
你的问题似乎是入站规则。您需要为安全组设置入站规则以连接到数据库。您可以为开发环境设置一个入站规则,也可以为ElasticBean秸秆设置另一个入站规则。有关设置安全组入站规则的信息,请参阅C使用安全组控制访问。
https://stackoverflow.com/questions/68723403
复制相似问题