【发布时间】:2021-07-17 07:17:01
【问题描述】:
我是新的 AWS 用户,今天我在处理一个示例项目时遇到了困难。我成功创建了一个 docker 容器,该容器运行一个简单的 R 脚本,该脚本连接到我的 AWS RDS MySQL 数据库并创建并写入一些基本文件。我构建了一个公共 ECR 存储库,将我的 docker 映像推送到那里,并构建了一个 ECS 集群和任务,选择 Fargate 并使用我的存储库中的容器映像。我的任务运行了,我在查看日志时可以看到正在执行的 R 代码,但它永远无法连接到 SQL 数据库并随后退出。
我必须在 RDS 数据库的安全组中将我自己的 IP 地址列入白名单,以便我可以连接到它,所以我知道我可能必须为我的 ECS 任务也这样做才能建立该连接。但是,该 IP 地址不会因为执行任务的 Fargate 服务器没有静态 IP 而不断变化吗?我正在尝试继续使用免费套餐,因此我不确定是否要为此服务器设置弹性 IP 地址。
如果不是我遇到的同一问题,这两篇文章似乎很接近,但我无法找到解决方案。我没有找到任何其他信息。
https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-task-database-connection/
https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-static-elastic-ip-address/
最终目标是让这个示例项目在预定的固定时间间隔内成功运行,然后在那里运行实际脚本以帮助自动化事情并使我的生活更轻松,所以这个示例项目是朝着这个目标迈出的第一步。任何有关我遇到的问题的帮助或信息将不胜感激!
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-rds amazon-ecs