首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >豆茎不能访问rds

豆茎不能访问rds
EN

Stack Overflow用户
提问于 2021-08-10 08:28:26
回答 1查看 199关注 0票数 0

在这个问题上,我和用户处于类似的境地;将弹性豆杆环境与现有的RDS实例连接起来

我有一个Codestar项目(Django通过Bean秸秆),我无法让应用程序访问任何rds实例。在测试步骤(python manage.py test)期间尝试部署时,将引发以下错误消息;

代码语言:javascript
复制
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工作得很好

  • 使用ipaddress和公共主机名(name.key.eu-west-2.rds.amazonaws.com)

两者在本地工作良好,并在部署时提供相同的错误消息。

  • 通过EC2实例连接到rds

这可以通过本地ip和名称进行很好的连接。像\d和\l这样的查询返回精细的缩进实例,可以看到数据库。

  • 改变vpc /子网

EC2和rds实例都位于同一个vpc (只有一个)和子网(eu-west,可用性组2a)中。

  • 旋转一个附加的豆茎实例

我尝试过使用EBS工具来使用专用的rds实例和连接实例,并且应用程序无法连接到任何一个实例。

Settings.py

代码语言:javascript
复制
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',
        }
}
EN

回答 1

Stack Overflow用户

发布于 2021-08-10 13:15:57

你的问题似乎是入站规则。您需要为安全组设置入站规则以连接到数据库。您可以为开发环境设置一个入站规则,也可以为ElasticBean秸秆设置另一个入站规则。有关设置安全组入站规则的信息,请参阅C使用安全组控制访问

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68723403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档