弹性文件系统无法在不同的EC2实例之间保留数据?

时间:2017-07-18 08:11:01

标签: wordpress amazon-web-services amazon-ec2 elastic-beanstalk aws-elasticfilesystem

我正在尝试利用新鲜的wordpress安装来利用弹性beanstalk的力量。为了保持无状态,我试图使用EFS在ec2实例之间保存wp内容文件,但由于某种原因,我无法让我的EFS设置保留我的wp-content文件夹。

以下是我的efs.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/wp-content
      chown webapp:webapp /mnt/efs/wp-content
      mkdir -p /mnt/efs/wp-content/themes
      chown webapp:webapp /mnt/efs/wp-content/themes
      mkdir -p /mnt/efs/wp-content/plugins
      chown webapp:webapp /mnt/efs/wp-content/plugins
      mkdir -p /mnt/efs/wp-content/uploads
      chown webapp:webapp /mnt/efs/wp-content/uploads
commands:
  01_mount:
    command: "/tmp/mount-efs.sh"
container_commands:
  01-rm-wp-content-uploads:
    command: rm -rf /var/app/ondeck/wp-content
  02-symlink-uploads:
    command: ln -snf /mnt/efs/wp-content /var/app/ondeck/wp-content

好像它正在挂载和删除文件?每次自动创建新实例时,我都可以ssh进入实例并看到新实例挂载wp-content文件夹但没有现有文件?

提前致谢! 另外,我是否可以直接在AWS控制台中查看EFS中的文件? 感谢。

1 个答案:

答案 0 :(得分:0)

您需要设置以在实例重新启动时自动安装efs文件夹。

按照本文中提到的步骤进行操作。

http://docs.aws.amazon.com/efs/latest/ug/mount-fs-auto-mount-onreboot.html