如何通过EC2 Linux实例将本地文件上传至AWS S3存储桶?
通过EC2 Linux实例上传本地文件至AWS S3的方法
1. 先将本地文件传输到EC2实例
由于aws s3 cp在EC2上执行时仅能访问实例本地的文件,你需要先把本地文件传到EC2,推荐使用scp命令:
- 替换以下参数:本地文件路径、EC2公网IP/域名、EC2用户名(Amazon Linux用
ec2-user,Ubuntu用ubuntu)、密钥对文件路径:
scp -i "/path/to/your-key-pair.pem" /local/path/your-file.txt ec2-user@ec2-xx-xx-xx-xx.compute-1.amazonaws.com:/home/ec2-user/
执行后,文件会被复制到EC2实例的/home/ec2-user/目录下。
2. 从EC2实例上传文件到S3
登录EC2实例后,执行aws s3 cp命令完成上传:
- 替换EC2内的文件路径和目标S3桶名:
aws s3 cp /home/ec2-user/your-file.txt s3://your-bucket-name/
- 若要自定义S3中的文件名,可修改命令:
aws s3 cp /home/ec2-user/your-file.txt s3://your-bucket-name/custom-filename.txt
可选:无需EC2中转,直接本地上传到S3
如果不需要通过EC2作为中间节点,可在本地安装AWS CLI并配置权限(需拥有S3上传权限),直接执行:
aws s3 cp /local/path/your-file.txt s3://your-bucket-name/
关键注意事项
- 确保EC2实例关联的IAM角色拥有
s3:PutObject权限,否则无法上传文件到S3。 - 本地机器需能通过SSH访问EC2:EC2安全组需开放22端口,密钥对文件权限需设为
400(执行chmod 400 /path/to/your-key-pair.pem)。
内容的提问来源于stack exchange,提问作者Chithal
相关产品推荐
相关产品推荐

