Amazon EFS


Amazon EFS или Elastic File System — файловое хранилище, которое можно использовать с интансами EC2. Можно рассматривать как NFS в облаке AWS.



Amazon EFS — файловое хранилище для EC2


Основные преимущества использования EFS:

  • малые операционные задержки
  • высокая пропускная способность


Как начать пользоваться:


Для инстансов присваивается efs security group, разрешающая доступ к порту 2049
Создается файловая система EFS
Создаем mount target
Устанавливается nfs клиент на ec2 машину
Каталог для монтирования и монтирование файловой системы EFS



Чтобы выполнить все действия нужно знать VPC ID, EC2 security group, EC2 sebnet ID



Значения получаются следующими командами

ws ec2 describe-vpcs



Из вывода нужно взять vpc id

aws ec2 describe-instances



Здесь будут security group ID и subnet ID



Создаем security group

aws ec2 create-security-group --region us-west-2 --group-name efs-sg --description "EFS Security Group" --vpc-id vps-dffdkngdfjgn



В качестве vpc id в примере указана последовательность dffdkngdfjgn



Добавляем правило в  firewall

aws ec2 authorize-security-group-ingress --group-id ID protocol tcp --port 2049 --source-group ID2 region --us-west-2



ID security-group получен на предыдущем шаге


Проверяем

aws ec2 describe-security-groups --group-id ID



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

aws ec2 create-file-system --creation-token UNIQUTOKEN --regios us-west-2



Получен уникальный идентификатор.



Создаем mount target

aws ec2 create-mount-target --file-system-id FSID --subnet-id fgfdfvdfv --source-group ID2 --regios us-west-2

FSID — копируем значение с предыдущего шага, вставляем.



В результате имеем mount target id и идентификатор EFS mount

aws efs describe-mount-targets --mount-target-id jnjnjn

Теперь монтируем на ec2 сервере



На сервере (CentOS 7):

curl -s http://ip/latest/meta-data/placement/availability-zone

## EFS : us-west-2a.OurfsID.efs.us-west-2a.amazonaws.com/

//availability-zone.file-system-id.efs.aws-region.amazonws.com:/


В выводе 'us-west-2a'



Теперь ставим клиент

yum instll nfs-utils



Создаем точку монтирования

mkdir /efsshare



Монтируем

mount -t nfs4 -o nfsvers=4.1,rsize=10408576,wsize=10408576,hard,timeo=600,retrans=2 us-west-2a.OurfsID.efs.us-west-2a.amazonaws.com:/ /efsshare



df покажет 6 exabytes, использовать можно любой объем и платить только за него.

df -h /efsshare



Добавляем строку в /etc/fstab чтобы раздел примонтировался после перезагрузки машины

mcedit /etc/fstab

us-west-2a.OurfsID.efs.us-west-2a.amazonaws.com:/ /efsshare nfs4 nfsvers=4.1,rsize=10408576,wsize=10408576,hard,timeo=600,retrans=2 0 0



Читайте про автоматическое монтирование дисков и разделов с настройкой в /etc/fstab и про управление виртуальными машинами в AWS

Сказать спасибо
Categories: