【问题标题】:Not able to connect to Amazon RDS from EC2 Django Instance无法从 EC2 Django 实例连接到 Amazon RDS
【发布时间】:2021-06-13 06:52:39
【问题描述】:

我在 AWS 上部署了我的 Django 项目(这是我第一次这样做),在第一次学习之后我遇到了一个错误:

django.db.utils.OperationalError: (2005, "Unknown MySQL server host '****.*****.us-east-2.rds.amazonaws.com' (0)")

当我尝试迁移我的 Django 项目时。我尝试了多种解决方案,但都没有奏效。我尝试了命令 mysql -u username -p password -h ****.********.us-east-2.rds.amazonaws.com 但这也返回了错误。

ERROR 2005 (HY000): 未知的 MySQL 服务器主机 '*****.*********.us-east-2.rds.amazonaws.com' (2)

更新 2:我尝试在 AWS 文档 mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p 上使用命令,在使用 -u 和-p 和 Port 的输入,这改变了现在似乎连接无法到达服务器的错误,这似乎是一个合理且比以前更好的错误。

错误 2003 (HY000):无法连接到“******.******l2la.us-east-2.rds.amazonaws.com”上的 MySQL 服务器 (10060)

我在this 中读到了关于此的问题,他们正在讨论将实例绑定到 IP。如果这可能是问题所在,我该怎么做?

更新1: 截图: 第一 RDS 信息

EC2 实例信息

SGs信息

如果您需要任何日志或信息,请随时在 cmets 中询问。 谢谢

【问题讨论】:

  • RDS的安全组呢?
  • @Marcin 安全组(EC2 安全组 - 入站 sg-62b6d61b)在源和所有端口和入站流量中使用 sg-62b6d61b(默认)。对于出站,所有流量和端口都打开,目的地为 0.0.0.0/0。
  • 使用mysql客户端从实例手动连接到RDS怎么样?也没有或它唯一的 DJanog 特定问题?
  • @Marcin 我尝试在命令提示符中输入命令,在问题中提到它给出了几乎相同的错误。我无法使用任何方法连接到数据库它可以是 mysql -u 用户名 -p 密码 -h ****.********.us-east-2.rds.amazonaws.com 或 django 项目。
  • @Marcin 感谢所有帮助,不同的 SG 是它无法连接的原因。 RDS 的入站应该是您的 EC2 实例使用的 SG。我将用答案更新这个问题。我研究了 SG 以及它们是如何工作的……终于让它发挥作用了。

标签: mysql django amazon-web-services amazon-ec2 amazon-rds


【解决方案1】:

数据库的安全组应该在入站规则中保存一个值:

此规则应允许来自您的 EC2 实例的连接。设置 IP 地址或设置 EC2 实例的 SG。 您也可以使用实例的私有 IP 而不是公共 IP。 (不确定安全问题或优势。)

一年后更新:你应该使用私有 IP 而不是相同的安全性 group.DB 应该只能被 EC2 访问,而不能被公众访问。

【讨论】:

    猜你喜欢
    • 2019-04-03
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多