需要迫切帮助在 AWS 上使用 ECR + ECS 部署流式应用程序。不确定是网络问题还是其他问题

问题描述 投票:0回答:1

我必须在 AWS 上部署 Streamlit 应用程序,因此我使用 ECR + ECS。我已经在本地测试了 docker 镜像,它工作得很好,但是一旦我将镜像上传到 ECR 并尝试将其部署到 AWS ECS 上,事情就开始崩溃,我发现很难准确地找出问题所在。

我有一个streamlit应用程序,我将其docker化并在本地部署以进行测试,它工作得很好。 dockerfile 是这样的: DOCKERFILE https://imgur.com/Zp71oGN - dockerfile

我在一个全新的 VPC 上的 ECS 上创建了集群,该 VPC 使用两个公共可用子网创建,这两个子网都通过路由表并具有 Internet 网关访问权限。

对于 ECS 任务定义,这些是我的设置:

https://imgur.com/xH05CoG - ECS 任务定义的初始设置。 https://imgur.com/bMzt8kH - ECS 任务定义的更多设置。这是一些端口映射

完成任务定义并在集群上运行它后,我可以查看日志并看到以下内容: https://imgur.com/PXXRYP2 - 这表明它确实在 0:0:0:0:PORT 上运行

它配置正确并且运行顺利,以下是我在 EC2 中的入站出站规则设置: https://imgur.com/FEY3shK - EC2 的入站出站规则


我真的不明白问题可能是什么,我什至摧毁了整个 VPC,并创建了一个全新的 VPC,其中包含两个可访问互联网的公共子网,并将我的 ECS 集群托管在部署实例的集群上。 我编辑了我的 dockerfile 以确保公开端口并将其打开,我确保任务定义中具有正确的端口映射,我还像每个入站规则一样打开了此时我什至不知道什么问题可能是,你遇到过这样的事情吗? 这是我尝试连接时从 chrome 收到的错误,https://imgur.com/QBBWovy 当我将端口更改为随机端口(例如我没有公开的端口)时,加载需要很长时间,加载图标只是不断旋转,但如果我使用正确的端口,我会立即在 imgur 中得到先前的错误。 最后,是的,我也尝试过切换端口,我最初尝试了 8501,默认的 Streamlit 端口,然后我现在尝试 8000,但仍然没有运气。

amazon-ecs amazon-vpc streamlit amazon-ecr aws-networking
1个回答
0
投票

查看您的链接:https://imgur.com/QBBWovy 您似乎正在连接到一个 IP 地址?我假设这是您的 EC2 实例的公共 IP?

当您说您在本地测试成功时,您的意思是当您在 EC2 实例中手动启动容器并且能够从 EC2 公共 IP 地址访问 Streamlit 时吗?

您是否尝试过使用 Fargate 代替 EC2?

© www.soinside.com 2019 - 2024. All rights reserved.