Amazon web services 部署时EFS符号链接失败

Amazon web services 部署时EFS符号链接失败,amazon-web-services,amazon-elastic-beanstalk,config,amazon-efs,ebextensions,Amazon Web Services,Amazon Elastic Beanstalk,Config,Amazon Efs,Ebextensions,因此,我使用AWS Elastic Beanstalk为我的PHP应用程序提供服务。我想安装EFS,以便永久存储通过我的应用程序上传的图像。 我已经创建了.ebextensions文件夹并创建了一个名为mount.config的文件,代码如下 packages: yum: nfs-utils: [] jq: [] files: "/tmp/mount-efs.sh" : mode: "000755" content:

因此,我使用AWS Elastic Beanstalk为我的PHP应用程序提供服务。我想安装EFS,以便永久存储通过我的应用程序上传的图像。 我已经创建了.ebextensions文件夹并创建了一个名为mount.config的文件,代码如下

packages:
  yum:
    nfs-utils: []
    jq: []
files:
  "/tmp/mount-efs.sh" :
    mode: "000755"
    content: |
      #!/usr/bin/env bash
      mkdir -p /mnt/efs
      EFS_NAME=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_NAME')
      mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $EFS_NAME:/ /mnt/efs || true
      mkdir -p /mnt/efs/questions
      chown webapp:webapp /mnt/efs/questions
commands:
  01_mount:
    command: "/tmp/mount-efs.sh"
container_commands:
  01-symlink-uploads:
    command: ln -s /mnt/efs/questions /var/app/ondeck/images/
在最后一行无法创建符号链接之前,一切正常

到目前为止,我所尝试的:

  • 在更改ondeck->current时直接在计算机上运行命令。这个很好用
  • 删除EC2实例并添加新实例。仍然失败
在我看到的日志中

ln:无法创建符号链接“/var/app/current/images/questions”:没有这样的文件或目录


有什么建议吗?原因可能是什么?

好的,我通过将ondeck替换为staging

并在容器\u命令下添加此行:

  01-change-permission:
    command: chmod -R 777 /var/app/staging/images