使用 .ebextensions 文件挂载 EFS

Mounting EFS using .ebextensions file

我正在使用 AWS Elastic Beanstalk 部署 PHP 应用程序。我想使用我已经构建的 EFS。我正在使用 .ebextension 文件夹,使用以下 link 作为指南:

https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/instance-configuration/storage-efs-mountfilesystem.config

我已经在 .ebextension 文件夹文件中配置了 storage-efs-mountfilesystem.config 文件:

option_settings:
  aws:elasticbeanstalk:application:environment:
    FILE_SYSTEM_ID: fs-12345678
    MOUNT_DIRECTORY: '/efs'

当我查看从 Elastic Beanstalk 启动的 EC2 实例时,我没有看到 EFS 安装。我想弄清楚这里可能是什么问题?在 .ebextension 文件夹中的文件中包含 EFS 详细信息,以便在定期部署软件时可以持久安装它不是更好吗?

基于评论中的附加信息。

问题是由于:

/opt/elasticbeanstalk/bin/get-config: No such file or directory

此文件仅适用于 EB 环境 运行 Amazon Linux 1,不适用于 Amazon Linux 2。由于使用 PHP 7.4 running on 64bit Amazon Linux 2/3.0.storage-efs-mountfilesystem.config 失败,因为它需要 Amazon Linux 1.

在这种情况下,通常有两个选项来纠正问题:

  1. 使用亚马逊 Linux 1.
  2. 或调整storage-efs-mountfilesystem.config与亚马逊合作Linux 2.

需要注意的是,Amazon Linux 1 和 2 之间存在 许多差异。从旧版本迁移到新版本的一般步骤如下: