Amazon Elastic File System
Amazon Elastic File System (Amazon EFS) — это полностью управляемый облачный сервис для создания и использования файловых хранилищ, предоставляемый компанией Amazon Web Services (AWS). EFS реализует протокол NFSv4 (Network File System версии 4) и позволяет одновременно подключать одно и то же хранилище к множеству виртуальных машин (EC2-инстансов), контейнеров (в Amazon ECS, Amazon EKS) и локальных серверов (через AWS Direct Connect или VPN). Сервис автоматически масштабируется: при добавлении файлов ёмкость хранилища увеличивается, а при удалении — уменьшается, без необходимости предварительного выделения дискового пространства.
История и развитие
Сервис Amazon EFS был запущен в 2015 году как ответ на потребность клиентов AWS в простом, масштабируемом файловом хранилище с общим доступом. До появления EFS основным вариантом файлового хранилища в AWS был Amazon Elastic Block Store (EBS), который подключался к одному инстансу и не поддерживал одновременный доступ с нескольких машин. Первая версия EFS поддерживала только протокол NFSv4.1.
В 2016 году была добавлена поддержка шифрования данных в покое (с использованием AWS Key Management Service) и в пути (TLS). В 2018 году появился режим «One Zone» (EFS One Zone), который хранит данные в одной зоне доступности, что снижает стоимость, но уменьшает отказоустойчивость. В 2020 году была внедрена поддержка протокола NFSv4.0 и возможность использования EFS с контейнерными оркестраторами (Kubernetes через CSI-драйвер). В 2022 году компания представила EFS Replication — функцию репликации данных между регионами AWS для обеспечения аварийного восстановления.
Архитектура и устройство
Amazon EFS работает как распределённая файловая система. Данные хранятся на множестве серверов в нескольких зонах доступности (Availability Zones) внутри одного региона AWS. Сервис автоматически реплицирует данные в пределах региона для обеспечения отказоустойчивости (за исключением режима One Zone). Пользователь создаёт точку монтирования (mount target) в каждой зоне доступности, через которую виртуальные машины подключаются к файловой системе.
Ключевые компоненты
- Файловая система — логический контейнер для хранения файлов и каталогов. Каждая файловая система имеет уникальный идентификатор (fs-xxxxxxxx).
- Точки монтирования — сетевые интерфейсы (ENI), создаваемые в подсетях VPC. Через них EC2-инстансы подключаются к EFS.
- Политики доступа — IAM-политики, которые определяют, какие пользователи и роли могут выполнять операции с файловой системой (чтение, запись, монтирование).
- Контроль доступа на уровне файлов — стандартные права POSIX (владелец, группа, разрешения rwx).
Режимы производительности
Amazon EFS предлагает два режима производительности, которые выбираются при создании файловой системы и не могут быть изменены впоследствии:
- General Purpose — оптимизирован для низкой задержки (единицы миллисекунд). Подходит для веб-серверов, сред разработки, домашних каталогов пользователей. Задержка на операции чтения/записи составляет 1–3 мс.
- Max I/O — предназначен для приложений с высокими требованиями к пропускной способности и параллелизму (аналитика больших данных, научные вычисления, медиаобработка). Задержка выше (10–30 мс), но пропускная способность может достигать нескольких гигабайт в секунду.
Классы хранения
Сервис поддерживает несколько классов хранения, которые автоматически управляются политиками жизненного цикла:
- Standard — для часто используемых данных. Хранится в трёх зонах доступности (или одной в режиме One Zone).
- Infrequent Access (IA) — для данных, к которым обращаются реже (раз в несколько дней или недель). Стоимость хранения ниже, но выше плата за операции чтения/записи.
- Archive — для данных, которые практически не используются (доступ раз в год и реже). Самый дешёвый класс хранения, но с высокой стоимостью доступа.
Политики жизненного цикла позволяют автоматически перемещать файлы между классами в зависимости от времени последнего обращения. Например, файл, к которому не обращались 30 дней, перемещается в IA, а через 90 дней — в Archive.
Применение
Amazon EFS используется в широком спектре сценариев, где требуется общее файловое хранилище с поддержкой одновременного доступа:
Веб-серверы и CMS
EFS часто применяется для хранения статических файлов (изображений, CSS, JavaScript) и пользовательского контента (загрузок) в системах управления контентом (WordPress, Drupal, Joomla). Несколько веб-серверов могут подключаться к одной файловой системе, обеспечивая единое хранилище без дублирования данных.
Контейнерные приложения
В средах оркестрации контейнеров (Kubernetes, Amazon ECS) EFS используется как постоянное хранилище (Persistent Volume) для приложений, которым требуется общий доступ к данным между несколькими контейнерными экземплярами. Например, для хранения логов, конфигурационных файлов или очередей сообщений.
Научные вычисления и аналитика
Приложения, работающие с большими объёмами данных (геномные исследования, климатическое моделирование, обработка спутниковых снимков), используют EFS в режиме Max I/O для обеспечения высокой пропускной способности при параллельном доступе.
Домашние каталоги и среды разработки
EFS может служить централизованным хранилищем для домашних каталогов пользователей в корпоративных средах. Разработчики подключают EFS к своим рабочим станциям (через VPN или Direct Connect) и получают доступ к общим репозиториям кода, документации и инструментам.
Аварийное восстановление
С помощью функции репликации (EFS Replication) данные могут автоматически копироваться из одного региона AWS в другой. В случае сбоя в основном регионе можно быстро переключить приложения на резервную файловую систему.
Безопасность и управление доступом
Amazon EFS интегрируется с сервисами безопасности AWS:
- Шифрование — данные могут шифроваться в покое (с использованием AWS KMS или собственных ключей) и в пути (TLS). Шифрование включается при создании файловой системы.
- Сетевые политики — доступ к EFS ограничивается через группы безопасности (Security Groups) и сетевые ACL. По умолчанию доступ разрешён только изнутри VPC.
- IAM-политики — можно задать, какие пользователи или роли могут создавать, монтировать или удалять файловые системы.
- POSIX-права — стандартные разрешения на чтение, запись и выполнение для владельца, группы и остальных пользователей.
Стоимость
Ценообразование Amazon EFS основано на объёме хранимых данных (в гигабайтах в месяц) и классе хранения. Дополнительно взимается плата за операции доступа (чтение/запись) в классах IA и Archive, а также за передачу данных между регионами при использовании репликации. Сервис не взимает плату за операции в классе Standard. Для режима One Zone стоимость хранения примерно на 50% ниже, чем для Standard.
Ограничения
- Максимальный размер одного файла — 52 428 800 ГБ (52 ПБ), что практически не ограничивает использование.
- Максимальное количество файлов в одной файловой системе — не ограничено (определяется только ёмкостью хранилища).
- Максимальное количество одновременных подключений — до нескольких тысяч NFS-клиентов.
- Задержка — в режиме General Purpose составляет 1–3 мс, в Max I/O — 10–30 мс.
- Региональная доступность — сервис доступен во всех регионах AWS, за исключением некоторых правительственных регионов (AWS GovCloud).
Отличия от других файловых хранилищ AWS
| Параметр | Amazon EFS | Amazon EBS | Amazon FSx for Windows File Server |
|---|---|---|---|
| Тип доступа | Сетевой (NFS) | Блочный (iSCSI) | Сетевой (SMB) |
| Одновременный доступ | Да (множество клиентов) | Нет (только один инстанс) | Да (множество клиентов) |
| Масштабирование | Автоматическое | Ручное (изменение размера тома) | Автоматическое (до 64 ТБ) |
| Протокол | NFSv4 | EBS | SMB |
| Классы хранения | Standard, IA, Archive | gp2, gp3, io1, io2, st1, sc1 | SSD, HDD |
| Типичное применение | Общие файлы, веб-серверы, контейнеры | Базы данных, приложения с низкой задержкой | Windows-приложения, Active Directory |
Источники
- Документация Amazon Web Services: «Amazon Elastic File System User Guide» (AWS, 2024)
- Официальный блог AWS: «Announcing Amazon EFS One Zone Storage Class» (2020)
- Книга «AWS Certified Solutions Architect Study Guide» by Ben Piper, David Clinton (Sybex, 2021)
- Статья «Performance Comparison of Amazon EFS and Amazon EBS» в журнале «IEEE Cloud Computing» (2022)
- Документация Amazon Web Services: «Amazon EFS Pricing» (AWS, 2024)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →