【问题标题】:How do I mount an EFS endpoint on /etc/fstab with using Cloud Formation in User-data section?如何在用户数据部分使用 Cloud Formation 在 /etc/fstab 上挂载 EFS 端点?
【发布时间】:2018-09-28 06:04:29
【问题描述】:

当我在 CloudFormation 模板中的 User-data 部分编写 bash 命令时,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/

【问题讨论】:

  • 请在您尝试插入的问题中添加用户数据代码。
  • @Ashutosh 我已在描述部分添加。请看一看。
  • linux 消息中的任何内容(如错误消息。.)?
  • @gusto2 没有将 EFS sysytem-ID 放在 /etc/fstab 路径上。这将是逗号,冒号类型的问题。但我认不出来。

标签: bash amazon-cloudformation amazon-efs


【解决方案1】:

您可以在此处找到通过 UserData 安装 EFS 的工作示例 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 指南在此处复制相关位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    相关资源
    最近更新 更多