Увеличьте дальность памяти ECS с помощью EFS

одному из моих приложений, запускающих ECS (с fargate), требуется больше памяти, эфемерной памяти 20 ГБ недостаточно для моего приложения, поэтому я планирую использовать 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"
      }
    }

Я вижу, что он смонтирован, и мое приложение может получить доступ к смонтированной папке, но из-за высокой доступности и параллелизма количество моих задач ecs равно 6. Поскольку я использую одну EFS, она будет использоваться всеми задачами. Итак, проблема, с которой я столкнулся, заключается в предоставлении уникального смонтированного пути к файлу EFS для каждой задачи.

Я добавил что-то вроде этого / home / user / efs / {random_id}, но это я хочу сделать как часть жизненного цикла задачи, я имею в виду, что эта папка должна быть удалена, если моя задача остановлена ​​или уничтожена /

Итак, есть ли способ смонтировать efs как привязку или разрешить удаление папки на этапе уничтожения задачи?


person kcoder    schedule 31.03.2021    source источник


Ответы (2)


Хотя это может быть достигнуто теоретически, в этом есть много подвижных частей, поскольку жизненный цикл EFS (и точек доступа) отделен от жизненного цикла задач. Это означает, что вам нужно создавать точки доступа вне диапазона и на лету, И эти точки доступа (и их данные) не удаляются автоматически, когда вы завершаете свои задачи. При интеграции Fargate / EFS это не было основным вариантом использования. Основным вариантом использования было совместное использование одних и тех же данных между разными задачами (это то, что вы наблюдаете, но это не соответствует вашему варианту использования!) в дополнение к обеспечению постоянства точек для одной задачи..

Что вам нужно, чтобы легко решить вашу проблему, так это новая функция, над которой команда Fargate работает прямо сейчас и это позволит вам расширить локальное временное хранилище как свойство задачи. Я не могу сказать больше о сроках, но эта функция активно разрабатывается, поэтому вы можете подумать о ее перехвате, а не о создании сложного рабочего процесса для достижения того же результата.

person mreferre    schedule 31.03.2021

Теперь вы можете увеличить размер эфемерного хранилища до 200 ГБ, все, что вам нужно сделать, это установить эфемерный параметр в определении задачи Fargate.

"ephemeralStorage": {
    "sizeInGiB": 100
}
person ahj    schedule 08.07.2021