postgresql - 与 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 有点陌生
解决方案
RDS 实例入站流量源有一个设置为我的本地 IP;这意味着 Postgres RDS 实例的流量仅限于个人 IP 地址。我对其进行了更改,因此入站流量可以来自anywhere
或0.0.0.0
。这就是我想要的用例。
推荐阅读
- algorithm - 过滤数据结构 AND/OR/NOT 的算法(类似于 GraphQL 实现)
- android - Realm android中的求和查询是同步(阻塞)还是异步?
- typescript - 从选择菜单检查值时量角器打字稿问题
- angular - 在 Rxjs 中,如果您将一个值添加到数组中,然后立即将该数组作为可观察对象发出,这是否是一种反模式?
- flutter - 如何在 Flutter Stateless 小部件中切换
- r - 如何在 RMarkdown 的 PowerPoint 幻灯片中包含多个数字?
- python - 当我使用 pip install package 时,“Building wheel for xxx”是什么意思?
- spring-boot - Spring Data Couchbase - 单个服务器的连接问题
- javascript - 如何从画布/图表中删除左右填充?
- python - 如何从 json 文件中随机选择?