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

Categories: