在 AWS ECS 上挂载 S3 存储桶

Posted

技术标签:

【中文标题】在 AWS ECS 上挂载 S3 存储桶【英文标题】:Mount S3 Bucket on AWS ECS 【发布时间】:2017-10-19 02:53:27 【问题描述】:

我正在尝试在 AWS ECS 上设置 Jenkins 服务器,但我不得不将 S3 挂载到我的 Docker 容器。

谁能提供可以使用 ECS 服务挂载 s3 存储桶的任务定义? soi 可以将我的 Jenkins 工作区存储在 s3 上

【问题讨论】:

【参考方案1】:

考虑到 S3 是一个具有非常特殊特性的存储平台;它不允许部分更新,它实际上没有文件夹结构等等。从表面上看,它可能与文件系统有很多相似之处,但它不是为一体而构建的,也不应该被用作一体。

您可以创建 EBS 或 EFS 卷并将其附加到 Docker 容器。或者,您可以使用或创建一个插件,使用 S3 具有的特定 API 在 S3 上存储一些数据。

【讨论】:

我可以直接在 ECS 服务中挂载 EFS 还是需要先挂载到 EC2 上??【参考方案2】:

您可以在您的 EC2 实例中安装 s3fs(或者可以为您的 ECS 集群使用自定义 AMI)。在 EC2 实例中挂载 S3 存储桶,然后您可以随时共享主机路径。

【讨论】:

以上是关于在 AWS ECS 上挂载 S3 存储桶的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 IAM 角色通过 aws sdk (java) 从 ECS 容器调用 s3 存储桶

使用s3fs-fuse在AWS Linux实例上挂载S3存储桶

从 S3 事件触发 ECS 任务

如何将 AWS S3 存储桶与远程非 AWS 服务器上的文件同步?

使用 CORS 在 AWS S3 存储桶上获取

如何将 ECS 凭证与 AWS JS 开发工具包一起使用