Как мне подключить конечную точку EFS в / etc / fstab, используя Cloud Formation в разделе User-data? - PullRequest
0 голосов
/ 28 сентября 2018

Когда я пишу команду bash в разделе «Пользовательские данные» в шаблоне CloudFormation, конечная точка EFS не вставляется в /etc/fstab/.

Моя команда bash выглядит следующим образом:

echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).${EfsFileSystem}.efs.aws-region.amazonaws.com:/ /mnt/ nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0" >> /etc/fstab

Я должен смонтировать конечную точку, используя

mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-fbxxxx.efs.us-east-1.amazonaws.com:/ /mnt/

1 Ответ

0 голосов
/ 21 февраля 2019

Вы можете найти рабочий пример монтирования EFS через UserData здесь https://github.com/Bit-Clouded/Glenlivet/blob/master/platforms/ecs-base.template#L275

          #!/bin/bash
          apt-get update -qqy && apt-get install -qqy nfs-common
          EC2_AVAIL_ZONE=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`
          DIR_SRC=$EC2_AVAIL_ZONE.${SharedDiskGp}.efs.${AWS::Region}.amazonaws.com
          mkdir /mnt/efs
          echo -e "$DIR_SRC:/ /mnt/efs nfs defaults 0 0" | tee -a /etc/fstab
          mount -a
          # restart docker service so efs mount can come into effect.
          service docker restart

Скопировал соответствующий бит здесь в соответствии с рекомендациями SO.

...