我在 AWS 上设置了这个环境:
私有云平台:
- 1 个公共子网
- 带有 Internet 网关的路由表
- 2 个私有子网
- 带 NAT 的路由表
我创建了一个具有私有子网的子网组,并将其附加到我的 RDS Postgres 实例。
我在同一个 vpc(私有子网)中拥有大量 Lambda,它们可以毫无问题地连接到数据库。我在 RDS 安全组上添加了入站规则以允许从 Lambda 安全组进行访问,一切运行正常。
我对托管 Django 应用程序的同一 vpc(私有子网)中的 EC2 执行了同样的事情。EC2 和 RDS 位于同一位置,az
在 RDS 安全组上添加了入站规则,并将 RDS 完全访问(仅用于测试目的)策略添加到 EC2 IAM 角色。
当我启动我的应用程序时,构建规范可以下载包并解析主机,所以我知道我的 nat 正在工作,但是当它运行时:(python manage.py migrate
连接到 RDS)它会超时:
django.db.utils.OperationalError: connection to server at "db-postgres-dev-postgresinstance-xxxxxxxx.xxxxxxxx.eu-central-1.rds.amazonaws.com" (x.xx.xx.xxx), port 5432 failed: Connection timed out
Is the server running on that host and accepting TCP/IP connections?
我的NACLS
是默认的,所以不会出现这个问题。
我该如何解决这个问题?