繁体   English   中英

Zappa + RDS 连接问题

[英]Zappa + RDS Connection Issues

我希望有人可以帮助我解决有关 VPC 的一些问题。 我对 AWS 还很陌生,我只是想构建一个示例 Web 应用程序,让我对所有东西都感到满意。 我一直在粗略地遵循本指南来尝试使用 Zappa + Django 设置一个基本项目。 我已经到了配置 VPC 并尝试添加 Django/zappa 可以与之通信的 Postgres 实例的状态。 根据那篇文章,我已经像这样设置了我的网络:

  • 连接到 VPC 的 Internet 网关
  • 4 个公共子网
  • 4 个私有子网
  • 2 个私有子网中的 Lambda 函数
  • RDS 在其他 2 个私有子网中具有子网组
  • 1 个公共子网中的 EC2 盒,允许 SSH 从我的本地 IP 将端口 5432 转发到 RDS 实例

当我尝试使用“python manage.py makemigrations”在本地机器上运行迁移时,我的问题就出现了。 我不断收到一条错误消息,指出“服务器是否在主机“zappadbinstance.xxxxx.rds.amazonaws.com”(192.168.x.xxx)上运行并接受端口 5432 上的 TCP/IP 连接?”。

我不确定我错过了什么步骤。 我按照本指南这篇文章来设置堡垒主机,我知道它正在工作,因为我能够 (1) 从我的终端 ssh 和 (2) 在我的本地机器上使用 PSquel 建立数据库连接。

我觉得我真的很接近,但我一定错过了一些东西。 任何帮助或指示将不胜感激。

首先,在设置这个方面做得很好 - 这是一个相当大的挑战。 我同意你的看法,你快到了。 由于您可以从本地系统连接 PSquel,因此可以从网络角度验证您的机器是否准确连接到 VPC RDS。

下一个要查看的区域是 Django 设置。 如果本地机器 Django 设置不正确,则会导致错误。 所以你的设置文件中的数据库部分在本地机器上应该是不同的。 正如您在上面的评论之一中所描述的,我相信您有'HOST': 'xxxxx.us-east-2.rds.amazonaws.com'当您运行python manage.py makemigrations ,django 尝试使用该主机名并连接到它。 不幸的是,这绕过了您精心构建的 ssh 隧道。

要解决此问题,您可以:

  1. 编辑您的本地 settings.py 以具有'HOST':'127.0.0.1'
  2. 编辑您的/etc/hosts文件以指向上面的 FQDN(但我不建议这样做,因为我经常忘记删除编辑)

应该很容易尝试上面的#1,看看是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM