首页 > 解决方案 > 与 RDS Postgres 通信时,ECS 上的 Docker 容器超时

问题描述

我在 ECS 上有一个 dockerized nodejs 应用程序,它应该连接到位于 Amazon RDS 上的 postgres 实例。

在本地,我能够运行 docker 容器并连接(读/写)到 RDS 数据库

当我将容器部署到 ECS 时,尝试读取/写入 RDS Postgres DB 时出现超时。

我像这样构建了我的 docker 容器

docker build -t my-app .

然后我运行了我的 docker 应用程序

docker run -p 80:3000 XXXXXXX

我的 RDS 实例正在运行myappdb.ceonhqpz1vl1.us-east-1.rds.amazonaws.com:5432/appdb

我认为这一定是端口问题,但我如上所述发布了端口。所以我认为这必须有效。但是当我通过 AWS 上的浏览​​器运行应用程序并尝试读取/写入数据库时​​,请求需要很长时间然后超时。

我现在不确定在哪里调试,我对 docker 有点陌生

标签: postgresqlamazon-web-servicesdockeramazon-rdsamazon-ecs

解决方案


RDS 实例入站流量源有一个设置为我的本地 IP;这意味着 Postgres RDS 实例的流量仅限于个人 IP 地址。我对其进行了更改,因此入站流量可以来自anywhere0.0.0.0。这就是我想要的用例。


推荐阅读