ECS 上的 Dockerized Django 应用程序中的 S3 上传问题

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

我在 AWS ECS 上运行的 Dockerized Django 应用程序中遇到 S3 上传问题。该设置包括 RDS 和 S3,我已经使用 docker run 和 Postman 成功在本地测试了文件上传。

但是,当我创建任务定义、启动具有负载均衡器和目标组的 ECS EC2 集群并尝试将文件上传到 S3 时,我遇到了 504 网关超时错误。在日志中,我看到消息“正在加载 s3:s3”,并且服务中断,然后重新加载。

对于 IAM,我将 S3FullAccess 添加到与我的 ecs 相关的所有 IAM 在安全组中,我允许所有流量(入站、出站)

在安全组中我允许所有流量(入站、出站)

向与 ECS 任务关联的 ecsTaskExecutionRole IAM 角色添加了 AmazonS3FullAccess 策略。 已确认的 IAM 角色更改已传播。

检查了ecsTaskExecutionRole的信任关系,以允许ECS承担该角色。

django amazon-s3 boto3 amazon-ecs
1个回答
0
投票

向与 ECS 任务关联的 ecsTaskExecutionRole IAM 角色添加了 AmazonS3FullAccess 策略。已确认的 IAM 角色更改已传播。

检查了ecsTaskExecutionRole的信任关系,以允许ECS承担该角色。

任务执行角色是 ECS 服务本身所承担的角色,以便拥有创建 ECS 任务所需的权限。 ECS 任务将具有一个单独的任务 IAM 角色,它可以让您在任务内运行的代码访问 AWS 服务。该角色是可选的,因此您可能还没有定义该角色。这是您需要进行设置的,以便为 ECS 中运行的代码提供访问其他 AWS 服务(例如 S3)的权限。

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