Гид по технологиям

Amazon EFS на Ubuntu EC2: настройка и монтирование

• 6 min read • Cloud • Обновлено 09 Nov 2025
Amazon EFS на Ubuntu EC2: настройка и монтирование
Amazon EFS на Ubuntu EC2: настройка и монтирование

Обложка: логотип Amazon EFS и пример файловой системы

О чём эта статья

Amazon Elastic File System (EFS) — управляемая файловая служба, реализующая протокол NFSv4.x. Она автоматически масштабируется по мере добавления и удаления файлов. Это альтернатива традиционным NFS-серверам и удобный способ снабдить несколько EC2-инстансов общим файловым хранилищем.

Ключевые темы:

  • создание файловой системы EFS в консоли AWS;
  • настройка сетевого доступа и правил безопасности;
  • установка efs-utils и монтирование на Ubuntu EC2 тремя способами: помощник EFS, NFS-клиент, TLS-монтирование;
  • проверка, отладка и рекомендации по безопасности.

Важно: статья предполагает, что вы знакомы с запуском EC2-инстансов и основными операциями в AWS. Если нужно — сначала создайте Ubuntu EC2 инстанс в выбранном регионе.

Краткие определения

  • EFS: управляемая файловая система с доступом по NFS.
  • Mount target: сетевой узел в подсети VPC, через который экземпляры подключаются к EFS.
  • efs-utils: пакет от AWS, который упрощает монтирование EFS и поддерживает TLS.

Предварительные условия

  1. AWS аккаунт.
  2. Ubuntu EC2 инстанс с доступом к нужной VPC/subnet.
  3. Права IAM, позволяющие создавать EFS (обычно — пользователь с правами администратора или эквивалентными).

Что мы сделаем

  1. Войдём в AWS Management Console и создадим файловую систему EFS.
  2. Настроим security group для доступа по NFS (порт 2049).
  3. Подключимся к Ubuntu EC2 и смонтируем файловую систему тремя способами.

Создание EFS в консоли AWS

Откройте AWS Console и найдите сервис “EFS”. Нажмите “Create file system”.

Страница входа AWS

Вы увидите панель EFS. Нажмите “Create file system” и пройдите этапы настройки.

AWS Management Console со списком сервисов

На шаге конфигурации сети выберите VPC и подсети, в которых вы хотите создать mount targets. Для каждого Availability Zone EFS создаёт mount target в указанной подсети.

Выбор VPC и подсетей для EFS

На странице настроек системы при необходимости добавьте теги. По умолчанию оставьте Lifecycle Policy, режим производительности и throughput без изменений, если у вас нет специальных требований.

Настройки системы: теги и политика lifecycle

Шифрование можно включить отдельно. Для простоты в этом примере используем параметры по умолчанию.

Опции lifecycle и шифрования

Проверьте настройки клиента и создайте файловую систему.

Обзор конфигурации перед созданием

После создания дождитесь, пока состояние Mount Target изменится на Available.

Успешно созданная файловая система EFS и статус mount target

Откройте инструкцию по монтированию, чтобы увидеть рекомендуемые команды и endpoint для вашей файловой системы.

Инструкции по монтированию EFS в консоли

Настройка security group для доступа по NFS

Вы должны разрешить трафик NFS (порт 2049) от security group ваших EC2-инстансов к security group EFS. Обычно добавляют правило Inbound в security group EC2 с источником — security group EFS.

Страница экземпляра EC2 и связанный security group

Отредактируйте входящие правила и добавьте правило для NFS.

Редактирование входящих правил security group

Разрешите доступ для security group EFS на порт 2049 и сохраните изменения.

Добавление правила для порта NFS 2049

Подключение и монтирование EFS на Ubuntu EC2

Подключитесь по SSH к вашему Ubuntu-инстансу и выполните обновление локального репозитория пакетов:

sudo apt-get update

Обновление пакетов на Ubuntu

Установите nfs-common, который нужен для NFS-клиента:

sudo apt-get install -y nfs-common

Установка пакета nfs-common

Установите binutils, если требуется для сборки пакета efs-utils:

sudo apt-get -y install binutils

Установка binutils

Клонируйте репозиторий efs-utils и соберите пакет .deb:

git clone https://github.com/aws/efs-utils
cd efs-utils
./build-deb.sh
sudo apt-get -y install ./build/amazon-efs-utils*deb

Сборка и установка efs-utils

Установка драйверов EFS

Создайте каталог для монтирования, например в домашней директории:

sudo mkdir -p /home/ubuntu/efs
sudo chown ubuntu:ubuntu /home/ubuntu/efs

Монтирование с помощью EFS mount helper (рекомендуется)

Mount helper упрощает монтирование и поддерживает опцию tls для шифрования трафика в транзите.

sudo mount -t efs fs-218e3690:/ /home/ubuntu/efs

Замените fs-218e3690 на ваш файловый идентификатор EFS (виден в консоли).

Монтирование EFS через помощник mount helper

Монтирование через стандартный NFS-клиент

Если по какой-то причине вы не используете efs-utils, можно смонтировать напрямую по NFSv4.1:

  1. Отмонтируйте предыдущую точку монтирования, если она занята:
sudo umount /home/ubuntu/efs
  1. Смонтируйте через nfs4 с рекомендованными параметрами:
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-218e3690.efs.eu-west-3.amazonaws.com:/ /home/ubuntu/efs

Параметры rsize/wsize и прочие можно адаптировать под вашу сеть и рабочую нагрузку.

EFS смонтирован через NFS

Монтирование с использованием TLS (шифрование трафика)

Для шифрования трафика в полёте используйте опцию tls через efs-utils:

sudo umount /home/ubuntu/efs
sudo mount -t efs -o tls fs-218e3690:/ /home/ubuntu/efs

Монтирование EFS с TLS

TLS защищает данные при передаче, но не шифрует данные на стороне сервера (для этого включайте шифрование at-rest в настройках EFS при создании).

Автоматическое монтирование при загрузке

Чтобы автоматически монтировать EFS при старте инстанса, добавьте запись в /etc/fstab. Пример для mount helper с TLS:

fs-218e3690:/ /home/ubuntu/efs efs _netdev,tls,_netdev 0 0

Для NFS-варианта запись может выглядеть так:

fs-218e3690.efs.eu-west-3.amazonaws.com:/ /home/ubuntu/efs nfs4 defaults,_netdev 0 0

После изменения /etc/fstab проверьте командой:

sudo mount -a

Если возникают ошибки, проверьте systemd journal и логи монтирования.

Проверка и отладка

Проверка базовой доступности:

df -h | grep efs
ls -la /home/ubuntu/efs
touch /home/ubuntu/efs/testfile && echo OK > /home/ubuntu/efs/testfile && cat /home/ubuntu/efs/testfile

Полезные команды для отладки:

  • просмотр syslog и journalctl для ошибок монтирования;
  • telnet host 2049 или nc -zv host 2049 для проверки сетевого доступа на порт NFS;
  • проверка правил security group и маршрутизации между подсетями.

Типичные причины проблем:

  • неверный security group (нет разрешения на порт 2049);
  • mount target ещё не в статусе Available;
  • проблема с маршрутами VPC или ACL подсети;
  • DNS-имя EFS не резолвится внутри VPC (проверьте настройки DNS VPC).

Рекомендации по безопасности

  • Ограничьте источник доступа к порту 2049 только тем security group, которым требуется доступ.
  • Используйте TLS для шифрования транспорта, если требуется защита данных в полёте.
  • Включите шифрование данных at-rest при создании EFS, если требуется конфиденциальность на уровне хранения.
  • Контролируйте права POSIX в точке монтирования — EFS использует POSIX-права, назначаемые на уровне файлов и директорий.

Альтернативы и когда EFS может не подойти

  • Если вам нужен блочный диск, используйте EBS (Elastic Block Store).
  • Для объектного хранения и доступов по HTTP(S) используйте Amazon S3.
  • Если приложения требуют низкой задержки локального диска и высокой производительности на одном инстансе, EBS или локальные NVMe могут быть предпочтительнее.

EFS хорош для совместного доступа нескольких инстансов и для рабочих нагрузок с характерной файловой моделью.

Роль‑ориентированные чек‑листы

DevOps / Системный администратор:

  • Создать EFS и mount targets в нужных подсетях.
  • Обеспечить правильные security group и маршруты.
  • Настроить автоматическое монтирование и мониторинг.

Разработчик:

  • Проверить доступность файловой системы с тестовой записи/чтения.
  • Убедиться, что права POSIX соответствуют требованиям приложения.

Архитектор:

  • Оценить требования по производительности и выбор throughput/режима.
  • Решить, нужно ли использовать lifecycle policy для хранения в Infrequent Access.

Критерии приёмки

  • Файловая система создана и mount target в состоянии Available.
  • EC2-инстанс успешно монтирует EFS и выполняет операции чтения/записи.
  • Ограничения безопасности соблюдены (port 2049 открыт только для нужных источников).

Мини‑методология развертывания (шаги)

  1. Создать EFS и убедиться, что mount targets созданы в нужных подсетях.
  2. Настроить security group (разрешить NFS между EC2 и EFS).
  3. Установить efs-utils на Ubuntu и проверить монтирование вручную.
  4. Добавить запись в /etc/fstab для автозагрузки и протестировать reboot.
  5. Настроить мониторинг и бэкапы, при необходимости включить lifecycle policy.

Короткая проверка после развертывания

  • Создайте файл в /home/ubuntu/efs на одном инстансе и прочитайте на другом.
  • Проверьте права и UID/GID, чтобы приложения корректно работали в распределённой среде.

Заключение

Мы рассмотрели создание Amazon EFS в консоли AWS и несколько способов монтирования на Ubuntu EC2: через efs-utils (рекомендуется), через стандартный NFS-клиент и с использованием TLS. Также привели советы по безопасности, отладке и автоматизации монтирования. EFS удобно использовать, когда требуется общая POSIX-совместимая файловая система для множества инстансов.

Важно протестировать выбранную конфигурацию под вашей рабочей нагрузкой и убедиться, что параметры throughput и режим производительности соответствуют ожиданиям.

В следующем шаге можно автоматизировать развертывание с помощью Terraform или CloudFormation и добавить мониторинг (CloudWatch) для метрик использования и производительности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро