Amazon RDS:操作错误:(2003,“无法连接到 rds.amazonaws.com (110) 上的 MySQL 服务器”)

问题描述 投票:0回答:2

我已经使用 MySQL 数据库设置了 Amazon Relational Database Service (RDS),并尝试将其与我的 django 应用程序连接,但收到上述错误。我在

settings.py
中的数据库设置如下:

DATABASES = {
'default': {
    'ENGINE': config('db_engine'),
    'NAME': config('db_name'),
    'USER': config('db_user'),
    'PASSWORD': config('db_password'),
    'HOST': config('db_host'),
    'PORT': config('db_port')
}

}

我的数据库环境变量如下:

db_engine=django.db.backends.mysql
db_name=stagingdatabase
db_user=staginguser
db_password=stagingpassword
db_host=somestagingname.somestagingid.us-east-2.rds.amazonaws.com
db_port=3306

我知道端口是正确的,这是大多数出现此类错误的情况的解决方案。所有其他变量也都是正确的。

我无法 ping somestagingname.somestagingid.us-east-2.rds.amazonaws.com,即使其状态可用,因此我设置 RDS 的方式一定存在问题:

python mysql django amazon-rds
2个回答
3
投票

这似乎是一个网络问题,Django 服务器无法访问数据库,这可能会发生多种问题:

  • 它们位于不同且未连接的 VPN 或网络中。

  • 运行 Django 的 EC2 计算机的安全组不允许此出站流量到达此网络端口组合。

  • RDS 中的安全组不允许来自 EC2 计算机所在网络的 3306 端口的入站流量。

如果您处于使用 AWS 账户提供的默认网络的场景中,则可能会放弃第一个场景。此外,默认情况下,EC2 机器允许所有传出流量。

因此,我最好的建议是开始检查控制 RDS 入站流量的安全组。

有关更多信息:https://docs.aws.amazon.com/en_us/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html


-2
投票

3

+50 આએકસમસ્યાહોયલાગેલાગેછે,djangoસર્વરસર્વરસુધીપહોંચવામાંસક્ષમ,આઆસક્ષમસક્ષમનથીસક્ષમનથીસમસ્યાઓમાટેમાટેમાટે

તેઓઅલગ-અલગઅનેઅનકનેક્ટેડVPNઅથવાનેટવર્ક્સમાVPN ંછે.

EC2 મશીન માટે સુરક્ષા જૂથ જ્યાં Django ચાલી રહ્યું છે તેઆનેટવર્ક-પોર્ટસંયોજનમાંઆઆઉટબાઉન્ડટ્રાફ િકનેમંજૂરીઆપતુંનથી。

RDS માં સુરક્ષા જૂથ નેટવર્કમાંથી ઇનબાઉન્ડ ટ્રા ફિકનેમંજૂરીઆપતુંનથીજ્યાંEC2મશીન3306પોર્ટમાટ ેછે.

જો તમે AWS એકાઉન્ટ સાથે પ્રદાન કરેલ ડિફૉલ્ટ નેટટ ર્કિંગનોઉપયોગકરીરહ્યાંહોવતેવાદૃશ્યમાંહો વતોતેપ્રથમદૃશ્યનેકાઢીનાખવાનીશક્યતાછે。 EC2 型号ીનોમાટેમાન્યછે。

તેથીમારુંશ્રેષ્ઠસૂચનએછેકેતમારાRDSપરઆવતા ટ્રાફિકનેનિયંત્રિતકરતાસુરક્ષાજૂથપરતપાસસુરક્ષાજૂથપરતપાસ કરવાનુંશરૂકરો。

વધુમાહિતીમાટે:

https://docs.aws.amazon.com/en_us/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html 3

© www.soinside.com 2019 - 2024. All rights reserved.