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

无需DataSync,如何通过AWS会话管理器从EC2复制文件到EFS

将EC2实例文件复制到EFS(会话管理器环境,无需DataSync/SSH)

不存在名为AWS-copy的官方AWS工具,但你可以通过以下几种无需DataSync、仅在AWS会话管理器内操作的方法完成文件复制:

方法1:直接挂载EFS到EC2实例后本地复制

这是最直接高效的方式,步骤如下:

  • 确认EC2实例所在VPC已为目标EFS创建挂载目标,且EC2的安全组允许出站访问EFS的NFS端口(2049)。
  • 在EC2实例上安装NFS客户端:
    • Amazon Linux/RHEL系统:sudo yum install -y nfs-utils
    • Ubuntu/Debian系统:sudo apt-get install -y nfs-common
  • 创建EFS挂载目录:sudo mkdir /mnt/efs
  • 挂载EFS文件系统:
    sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <EFS文件系统ID>.efs.<AWS区域>.amazonaws.com:/ /mnt/efs
    
  • 复制文件到EFS:
    • 单文件:sudo cp /path/to/your/file /mnt/efs/
    • 目录(递归复制):sudo cp -r /path/to/your/directory/* /mnt/efs/
    • 更可靠的增量复制推荐用rsync:sudo rsync -av /path/to/your/directory/ /mnt/efs/

方法2:以S3为中转(适用于无法直接挂载EFS的场景)

如果因网络或权限限制无法直接挂载EFS,可借助S3作为临时中转:

  • 确保EC2实例的IAM角色具备S3读写权限(若未配置,可通过会话管理器临时添加权限)。
  • 将EC2上的文件上传到S3:
    aws s3 cp /path/to/your/directory s3://your-bucket-name/temp-folder/ --recursive
    
  • 挂载EFS到EC2(步骤同方法1),再从S3拉取文件到EFS:
    aws s3 cp s3://your-bucket-name/temp-folder/ /mnt/efs/ --recursive
    
  • 完成后可删除S3上的临时文件:aws s3 rm s3://your-bucket-name/temp-folder/ --recursive

关于scp报错的说明

scp是基于SSH的文件传输工具,仅用于本地与EC2、EC2之间的文件传输,无法直接对接EFS(EFS是NFS协议的共享存储),因此你之前的操作报错是预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 02:52:16