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

Как создать и примонтировать Amazon EFS на Ubuntu EC2

5 min read AWS Обновлено 08 Nov 2025
Amazon EFS на Ubuntu EC2 — создание и монтирование
Amazon EFS на Ubuntu EC2 — создание и монтирование

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

Amazon Elastic File System (EFS) — это управляемая файловая система по протоколу NFS, которая автоматически масштабируется при добавлении или удалении файлов. Коротко: сетевой диск, который растёт и сжимается по мере необходимости.

Диаграмма EFS и EC2

Что в этой статье

  • Создание EFS через веб-консоль AWS.
  • Настройка сетевого доступа (VPC, подсети, Security Group).
  • Установка драйверов efs-utils и монтирование на Ubuntu EC2.
  • Альтернативные способы монтирования, рекомендации по безопасности и устранению неполадок.

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

  1. Аккаунт AWS (создайте, если нет).
  2. Запущенный экземпляр Ubuntu EC2 с правами SSH и корректной Security Group.

Когда стоит использовать EFS и когда нет

  • Подходит, если вам нужен общий сетевой файловый доступ между несколькими EC2-инстансами и совместимость с NFS.
  • Не подходит для высокопроизводительных блочных баз данных; для них лучше использовать Amazon EBS или специализированные решения.
  • Не лучший выбор при строгих требованиях к задержке на уровне локального диска.

Важно: EFS обеспечивает совместный файловый доступ, но имеет сетевую задержку и стоимость, отличную от локальных дисков.

Вход в AWS

Перейдите на страницу входа в AWS и авторизуйтесь. После входа вы увидите панель управления.

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

После успешного входа откроется консоль управления AWS.

Консоль управления AWS

Создание EFS

  1. В консоли AWS найдите сервис EFS.

Поиск EFS в консоли

  1. На панели EFS нажмите «Create file system».

Создание файловой системы

  1. На шаге «Configure Network Access» выберите VPC и подсети, в которых будут созданы mount target’ы. Выбирайте VPC, доступную в вашем регионе.

Настройка сетевого доступа

  1. Опционально добавьте теги в виде key:value. При желании включите Lifecycle Policy для перехода в класс Infrequent Access — но в этой инструкции оставим его отключённым. Оставьте режимы throughput и performance по умолчанию.

Настройка системы и теги

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

Политика жизненного цикла

  1. Оставьте остальные опции по умолчанию и переходите дальше.

Настройка клиентского доступа

  1. Проверьте конфигурацию и нажмите «Create file system».

Проверка и создание

  1. После создания дождитесь состояния Mount Target = Available.

Создание EFS успешно

Совет: откройте инструкции по подключению (Mount instructions), они показывают DNS-имя и варианты монтирования.

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

Настройка Security Group

Перед подключением убедитесь, что Security Group EC2 разрешает входящий трафик NFS (порт 2049) от Security Group EFS или нужных источников.

  1. Откройте Security Group инстанса.

Выбор EC2-инстанса

  1. Редактируйте Inbound Rules и добавьте правило, разрешающее NFS (TCP порт 2049) от Security Group, ассоциированной с EFS.

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

  1. Сохраните правила.

Настройка Security Group для NFS

Важно: безопаснее указывать Security Group, а не «0.0.0.0/0». Так вы ограничите доступ только EC2-инстансам внутри вашего VPC.

Монтирование EFS на Ubuntu EC2

Подключитесь к вашему инстансу по SSH и выполните команды ниже.

Обновите индекс пакетов:

sudo apt-get update

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

Установите пакет nfs-common (клиент NFS):

sudo apt-get install -y nfs-common

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

Установите binutils (требуется для сборки пакета):

sudo apt-get install -y binutils

Установка binutils

Клонируйте репозиторий amazon-efs-utils и соберите пакет (это даёт помощник монтирования efs):

git clone https://github.com/aws/efs-utils
cd efs-utils/
./build-deb.sh

Сборка пакета efs-utils

Установите сгенерированный deb-пакет:

sudo apt-get -y install ./build/amazon-efs-utils*deb

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

Создайте директорию для точки монтирования:

mkdir -p ~/efs

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

Этот способ использует amazon-efs-utils и упрощает опции, включая TLS.

sudo mount -t efs fs-218e3690:/ ~/efs

Монтирование через EFS mount helper

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

Если вы предпочитаете nfs-common или хотите задать низкоуровневые опции:

  1. Отмонтируйте, если ранее монтировали:
sudo umount ~/efs
  1. Смонтируйте с нужными опциями NFSv4.1:
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:/ ~/efs

EFS примонтирован на Ubuntu

Монтирование с TLS (шифрование в транзите)

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

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

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

Автоматическое монтирование при старте (fstab)

Для автоматического монтирования добавьте строку в /etc/fstab. Пример для efs-utils с TLS:

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

Примечание: обязательно используйте опцию _netdev, чтобы монтирование выполнялось после поднятия сети.

Проверка и контроль

  • Проверьте статус монтирования:
df -h | grep efs
mount | grep efs
  • Создайте файл и убедитесь, что он видим с другого инстанса, подключённого к той же EFS.

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

  • Mount Target доступен (Available) в консоли EFS.
  • Security Group разрешает TCP 2049 между EC2 и EFS.
  • Директория успешно смонтирована и чтение/запись работают с ожидаемыми правами.
  • (Опционально) TLS включён, если требуется шифрование в транзите.

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

  • Ограничьте доступ по Security Group, указывая только доверенные группы/инстансы.
  • Рассмотрите включение шифрования в покое (если требуется соответствие): при создании EFS можно включить шифрование.
  • Для персональных данных изучите соответствие требованиям локального законодательства и GDPR при передаче данных в облако.

Отказоустойчивость и производительность

  • EFS автоматически масштабируется и распределяет данные.
  • Для более высокого throughput используйте режимы производительности/throughput (см. документацию AWS).
  • Для рабочих нагрузок с низкой задержкой и интенсивными записями предпочтительнее EBS.

Устранение неполадок (быстрый чеклист)

  • Если монтирование не работает: проверьте Security Group и Network ACL.
  • Проверьте DNS-имя mount target: убедитесь, что используется корректное региональное имя.
  • Проверьте логи dmesg и /var/log/syslog для ошибок NFS или permission denied.
  • Убедитесь, что в fstab указана опция _netdev для сетевых файловых систем.

Модель принятия решения (Mermaid)

flowchart TD
  A[Нужен общий файловый доступ между EC2?] -->|Да| B{Нужны низкая задержка и блоковое хранилище?}
  A -->|Нет| C[Не использовать EFS]
  B -->|Да| D[Использовать EBS или специализированный диск]
  B -->|Нет| E[Использовать EFS]
  E --> F[Выбрать режим производительности и lifecycle policy]

Альтернативы

  • Amazon EBS — блочное хранилище, привязывается к одному инстансу (подходит для баз данных).
  • Amazon FSx — файловые системы с другими протоколами и характеристиками (Windows/NetApp).
  • Самостоятельный NFS-сервер на EC2 — даёт полный контроль, но требует управления и резервирования.

Роли и чеклист перед внедрением

  • Сетевой инженер: проверить VPC, субсети, Security Group.
  • Администратор Linux: установить nfs-common и efs-utils, настроить точки монтирования.
  • DevOps/архитектор: выбрать режимы throughput и lifecycle policy.
  • Безопасность: проверить шифрование и доступы.

Заключение

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

Краткое резюме:

  • Создайте EFS в нужном VPC и подсетях.
  • Настройте Security Group для TCP 2049.
  • Установите efs-utils и смонтируйте с опцией tls для шифрования в транзите.

Важно: тестируйте производительность и права доступа на раннем этапе внедрения.

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

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

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Панель полей PivotTable в Excel — руководство
Excel

Панель полей PivotTable в Excel — руководство

Включить новый Пуск в Windows 11 — инструкция
Windows

Включить новый Пуск в Windows 11 — инструкция

Как убрать дубликаты Диспетчера задач Windows 11
Windows

Как убрать дубликаты Диспетчера задач Windows 11

Как просмотреть историю просмотров Reels в Instagram
Социальные сети

Как просмотреть историю просмотров Reels в Instagram