当我对CloudFormation模板中的用户数据部分编写bash命令时,/etc/fstab/中没有插入EFS端点。
我的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/发布于 2019-02-21 13:10:06
您可以在此处https://github.com/Bit-Clouded/Glenlivet/blob/master/platforms/ecs-base.template#L275找到通过UserData挂载EFS的工作示例
#!/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指南,复制了此处的相关位。
https://stackoverflow.com/questions/52549267
复制相似问题