首页 > 解决方案 > 使用 EFS 增加 ECS Fargate 内存

问题描述

我的一个运行 ECS(带 Fargate)的应用程序需要更多内存,20GB 临时内存不足以满足我的应用程序,所以我打算使用 efs

volume {
    name      = "efs-test-space

    efs_volume_configuration {
      file_system_id = aws_efs_file_system.efs_apache.id
      root_directory = "/"
      transit_encryption      = "ENABLED"
      container_path = "/home/user/efs/"

      authorization_config {
        access_point_id = aws_efs_access_point.efs-access-point.id
        iam             = "ENABLED"
      }
    }

我可以看到它已安装并且我的应用程序能够访问已安装的文件夹,但由于 HA 并且具有并行性,我的 ecs 任务计数为 6。由于我使用的是 sone EFS,并且所有任务都将共享相同的 EFS。所以在这里我遇到的问题是为每个任务提供唯一的挂载 EFS 文件路径。

我添加了类似/home/user/efs/{random_id}的内容,但我想将其作为任务生命周期的一部分,我的意思是如果我的任务停止或销毁,则该文件夹应该被删除/

那么有没有办法在任务销毁阶段将 efs 挂载为绑定挂载或启用文件夹删除?

标签: amazon-ecsaws-fargateamazon-efs

解决方案


您现在可以将临时存储大小增加到 200GB,您只需在 fargate 任务定义中设置临时参数

"ephemeralStorage": {
    "sizeInGiB": 100
}

推荐阅读