You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Terraform管理的ElasticBeanstalk环境中如何为EC2自动挂载EFS?

解决方案核心思路

ElasticBeanstalk原生支持通过.ebextensions目录下的配置文件定义实例启动时执行的自定义操作,完全适配EB自主管理EC2生命周期的场景,弹性扩容新生成的实例也会自动执行该配置,无需单独声明EC2资源、也不需要使用remote-exec。

具体实现步骤
  • 首先在你的应用部署包根目录创建.ebextensions文件夹,新增efs-mount.config配置文件,配置内容可自定义安装NFS依赖、执行EFS挂载、写入fstab实现开机自动挂载的全流程逻辑
  • Terraform侧不需要修改EB资源的核心定义,只需保证你部署的应用版本包包含上述.ebextensions目录即可,也可以通过Terraform的aws_elastic_beanstalk_application_version资源直接关联包含该配置的应用版本
  • 额外需要配置EB实例的安全组放行EFS的NFS端口(2049)入站规则,同时保证EC2和EFS网络可达(同VPC或者已配置跨VPC访问)
.ebextensions配置文件示例

.ebextensions/efs-mount.config的yaml配置参考如下,替换对应参数即可直接使用:

files:
  "/opt/ebextensions/mount_efs.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      EFS_ID="替换为你的EFS文件系统ID"
      MOUNT_POINT="替换为你要挂载的目标路径,比如/data/efs"
      AWS_REGION="替换为你的资源所属区域,比如cn-north-1"
      # 安装nfs客户端,Amazon Linux 2023请将yum替换为dnf
      yum install -y nfs-utils
      # 创建挂载目录
      mkdir -p ${MOUNT_POINT}
      # 执行挂载
      mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 ${EFS_ID}.efs.${AWS_REGION}.amazonaws.com:/ ${MOUNT_POINT}
      # 写入fstab实现开机自动挂载
      echo "${EFS_ID}.efs.${AWS_REGION}.amazonaws.com:/ ${MOUNT_POINT} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0" >> /etc/fstab

commands:
  01_mount_efs:
    command: "/opt/ebextensions/mount_efs.sh"
    ignoreErrors: false
Terraform侧配套配置参考

需要补充安全组规则放行EFS访问,示例代码:

resource "aws_security_group_rule" "eb_access_efs" {
  type                     = "ingress"
  from_port                = 2049
  to_port                  = 2049
  protocol                 = "tcp"
  security_group_id        = aws_efs_file_system.your_efs_sec_group.id # 替换为你的EFS绑定的安全组ID
  source_security_group_id = aws_elastic_beanstalk_environment.your_env.instance_security_group # 替换为你的EB环境实例安全组ID
}

内容的提问来源于stack exchange,提问作者user3454396

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:18:03