【发布时间】:2021-02-27 05:02:33
【问题描述】:
我有一个 aws ecs fargate 集群。它是一个 ecs-fargate 集群,而不是一个 ecs-ec2 集群。我正在运行一些需要安装卷的容器。是否可以将 s3 存储桶挂载到这个 fargate 容器?
如果是这样,我该怎么做?
如果没有,我可以遵循哪些其他选项?我想保留这些数据以供以后使用(用于灾难恢复和以后访问)
【问题讨论】:
-
S3 不是您挂载的文件系统。您通过 HTTP api 与它进行交互,通常包装在 SDK 中。因此,在运行时,您可以从应用程序代码中调用 S3 api 来下载您需要的任何对象,执行您的操作,然后在完成后将数据重新上传到 S3。如果您需要更多文件系统,请查看 EFS
-
虽然有挂载S3的东西,但没有一个是好的。 S3 不是一个实际的文件系统,它是一个平面对象数据库,因此尝试将其用作本地文件系统充其量是低于标准的。您可以通过容器中的 API 与 s3 交互,也可以挂载 efs 卷:docs.aws.amazon.com/AmazonECS/latest/developerguide/…
-
你不能像那样在 S3 存储桶中移动。
-
最明显的解决方案是使用允许您挂载的 s3fs。但是,我做了一些小测试。 S3fs 首先在本地文件夹中缓存一个文件,然后开始从 s3 复制/读取。所以,如果你想复制一个 1 GB 的文件,它实际上会在操作过程中使用 2 GB。对我来说,这听起来像是一个糟糕的概念,仅适用于小文件。
标签: amazon-web-services amazon-s3 amazon-ecs aws-fargate