AWS Fargate 容器中的持久性

Posted

技术标签:

【中文标题】AWS Fargate 容器中的持久性【英文标题】:Persistence in AWS Fargate Containers 【发布时间】:2018-05-16 15:12:53 【问题描述】:

我在 Fargate 任务定义中有 2 个容器。其中一个容器是数据库服务器。我想保留数据目录。但是,在任务定义中设置卷时,Fargate 不支持 Source Path 字段。有谁知道谁在 Fargate 中设置持久性?

【问题讨论】:

把你的 yml 文件的代码,以便能够帮助你。记住 ! AWS EKS 将发布,因此它将涵盖很多内容:cloudassessments.com/blog/aws-reinvent-2017-keynote-andy-jassy/… 我也在寻找这个问题的答案。显然持久性尚不可用。 forums.aws.amazon.com/thread.jspa?messageID=816397&tstart=0 【参考方案1】:

AWS Fargate 终于支持 EFS 卷了!

【讨论】:

更多信息:***.com/a/50945077/752110【参考方案2】:

[Fargate] [Volumes]:至少允许 EFS 挂载到 Fargate 容器。

这是您可以信任的事情: https://github.com/aws/containers-roadmap/issues/53

在那之前你可以:

    在容器内定期生成数据库转储。 借助 AWS CLI/SDK,将其上传到 S3。 在需要时使用转储进行恢复。

【讨论】:

【参考方案3】:

我可以考虑 3 种方法来做到这一点:

使用与容器工作负载兼容的存储解决方案(longhorn 或 portwork 都是不错的选择) 使用 RDS 使用可以有多个数据副本的分布式数据库(但您必须注意关闭所有副本的情况)

【讨论】:

【参考方案4】:

AWS Fargate目前仅针对无状态容器解决方案,但我们永远不知道,也许 AWS 已经在为它制定解决方案了。

请记住,您与其他 AWS 客户共享同一主机。您的实例可以随时在另一台主机中终止并重新启动。您还可以随时扩展您的服务。

您可以使用以下任何选项:

将 RDS 用于通用数据库。

如果您的数据库不可用,您可以启动新的 EC2 并安装数据库

继续将 Fargate 用于其他服务。

【讨论】:

以上是关于AWS Fargate 容器中的持久性的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Linux 功能 SYS_NICE 和 DAC_READ_SEARCH 添加到 AWS Fargate 中的容器?

ECS 与 EFS 或 EBS 上的持久数据与 CloudFormation

在 AWS Fargate 中链接容器

指定 aws ECS/Fargate 容器依赖项无法部署

AWS ECS Fargate 容器运行状况检查命令

将命令行参数传递给 AWS Fargate 容器