Docker ECS 上的容器在与 RDS Postgres 通信时超时
Docker container on ECS times out when communicating RDS Postgres
我在 ECS 上有一个 docker 化的 nodejs 应用程序,它应该连接到位于 Amazon RDS 上的 postgres 实例。
在本地,我能够 运行 docker 容器并连接 (read/write) RDS 数据库
当我将容器部署到 ECS 时,尝试 read/write 到 RDS Postgres 数据库时出现超时。
我像这样构建了 docker 容器
docker build -t my-app .
然后我 运行 我的 docker 应用程序
docker run -p 80:3000 XXXXXXX
我的 RDS 实例 运行ning myappdb.ceonhqpz1vl1.us-east-1.rds.amazonaws.com:5432/appdb
我认为这一定是端口问题,但我按上述方式发布了端口。所以我认为这一定有效。但是当我通过 AWS 上的浏览器 运行 应用程序并尝试 read/write 到数据库时,请求需要很长时间然后超时。
我现在不确定在哪里调试,我对 docker
有点陌生
有一个 RDS 实例入站流量源设置为我的本地 IP;这意味着到 Postgres RDS 实例的流量仅限于个人 IP 地址。我对其进行了更改,因此入站流量可以来自 anywhere
或 0.0.0.0
。这就是我想要的用例。
我在 ECS 上有一个 docker 化的 nodejs 应用程序,它应该连接到位于 Amazon RDS 上的 postgres 实例。
在本地,我能够 运行 docker 容器并连接 (read/write) RDS 数据库
当我将容器部署到 ECS 时,尝试 read/write 到 RDS Postgres 数据库时出现超时。
我像这样构建了 docker 容器
docker build -t my-app .
然后我 运行 我的 docker 应用程序
docker run -p 80:3000 XXXXXXX
我的 RDS 实例 运行ning myappdb.ceonhqpz1vl1.us-east-1.rds.amazonaws.com:5432/appdb
我认为这一定是端口问题,但我按上述方式发布了端口。所以我认为这一定有效。但是当我通过 AWS 上的浏览器 运行 应用程序并尝试 read/write 到数据库时,请求需要很长时间然后超时。
我现在不确定在哪里调试,我对 docker
有点陌生有一个 RDS 实例入站流量源设置为我的本地 IP;这意味着到 Postgres RDS 实例的流量仅限于个人 IP 地址。我对其进行了更改,因此入站流量可以来自 anywhere
或 0.0.0.0
。这就是我想要的用例。