如何创建关联EFS的AWS EC2实例模板?Auto Scaling Group挂载EFS咨询
实现Auto Scaling Group实例开机自动挂载EFS
完全可以通过Launch Template的User Data实现EC2实例启动时自动挂载EFS,前提是你已经确认amazon-efs-utils已安装、EC2实例的安全组允许NFS(端口2049)访问EFS的安全组。
不同系统的User Data脚本示例
Amazon Linux 2 系统
#!/bin/bash # 创建httpd配置文件的挂载目录 mkdir -p /mnt/efs/httpd-configs # 挂载EFS,替换fs-xxxxxx为你的EFS文件系统ID mount -t efs fs-xxxxxx:/ /mnt/efs/httpd-configs # 写入fstab,确保开机自动挂载 echo "fs-xxxxxx:/ /mnt/efs/httpd-configs efs defaults,_netdev 0 0" >> /etc/fstab # 可选:调整目录权限适配httpd服务(根据实际用户组调整) chown apache:apache /mnt/efs/httpd-configs
Amazon Linux 2023 系统
#!/bin/bash # 创建httpd配置文件的挂载目录 mkdir -p /mnt/efs/httpd-configs # 挂载EFS,替换fs-xxxxxx为你的EFS文件系统ID mount -t efs fs-xxxxxx:/ /mnt/efs/httpd-configs # 写入fstab,确保开机自动挂载 echo "fs-xxxxxx:/ /mnt/efs/httpd-configs efs defaults,_netdev 0 0" >> /etc/fstab # 可选:调整目录权限适配httpd服务(根据实际用户组调整) chown apache:apache /mnt/efs/httpd-configs
注:Amazon Linux 2023默认预装了amazon-efs-utils,若未检测到可先执行
dnf install -y amazon-efs-utils
验证与注意事项
- 实例启动后,执行
df -h查看挂载状态,确认/mnt/efs/httpd-configs已挂载EFS - 重启实例后再次检查挂载,确保开机自动生效
- 替换脚本中的
fs-xxxxxx为你的EFS文件系统ID,且EC2实例需与EFS处于同一区域、同一VPC子网 - 确保EFS的安全组已开放2049端口,允许EC2实例的安全组访问
内容的提问来源于stack exchange,提问作者Thomas Stokes
相关产品推荐
相关产品推荐

