1.账户权限
需要一个权限能完全访问EC2和S3服务的账户
2.创建S3存储桶
3.创建EC2
4.登录EC2安装软件包
- 使用Amazon EC2默认用户“ec2-user”和对应的私钥文件登录启动的Linux实例
- 安装需要的软件包
sudo amazon-linux-extras install epel
sudo yum install s3fs-fuse
- 检查是否安装成功
[ec2-user@ip-10-10-88-27 ~]$ s3fs
s3fs: missing BUCKET argument.
Usage: s3fs BUCKET:[PATH] MOUNTPOINT [OPTION]...
- 创建IAM用户访问密钥文件
echo AK:SK > /home/ec2-user/.passwd-s3fs ##注意:AK:IAM用户访问密钥ID SK:IAM用户访问密钥
- 设置密钥文件只能够被当前用户访问
[ec2-user@ip-10-10-88-27 ~]$ chmod 600 /home/ec2-user/.passwd-s3fs
- 创建挂载目录
[ec2-user@ip-10-10-88-27 ~]$ sudo mkdir /data
- 手动挂载
s3fs的命令格式是:
s3fs BUCKET MOUNTPOINT [OPTION]…
s3fs [S3存储桶名] [本地目录名] [OPTION]
OPTION是可选项,格式是 –o <option_name>=<option_value>,常用的options有:
名称 含义 缺省值
passwd_file 指定挂载的密钥文件
connect_timeout 设置超时连接等待的时间,单位秒 300
url 设置访问s3的url http://s3.amazonaws.com
endpoint 设置s3存储桶的endpoint us-east-1
allow_other 设置allow_other允许所有用户访问挂载点目录,设置这个选项需要
在/etc/fuse.conf 文件添加user_allow_other选项
手动挂载AWS中国宁夏区域S3存储桶:
s3fs yyj-s3fs-mount-bucket /data -o passwd_file=/home/ec2-user/.passwd-s3fs -o url=http://s3.cn-northwest-1.amazonaws.com.cn -o endpoint=cn-northwest-1
检查挂载结果:
挂载操作执行结束后,可以使用df -hT命令查看挂载是否成功。出现fuse.s3fs文件系统即表示挂载成功。用户就可以进入本地挂载目录去访问存储在S3存储桶中的对象。
[ec2-user@ip-10-10-88-27 ~]$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 476K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 1.6G 6.5G 20% /
s3fs fuse.s3fs 256T 0 256T 0% /data
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
[ec2-user@ip-10-10-88-27 ~]$ cd /data/
[ec2-user@ip-10-10-88-27 data]$ mkdir 1
[ec2-user@ip-10-10-88-27 data]$ ll
total 1
drwxrwxr-x 1 ec2-user ec2-user 0 Jul 23 02:56 1
S3存储桶出现创建的目录:
- 开机自动挂载
创建全局IAM用户访问密钥文件
[ec2-user@ip-10-10-88-27 ~]$ sudo cp /home/ec2-user/.passwd-s3fs /etc/passwd-s3fs
修改/etc/fstab文件:
[ec2-user@ip-10-10-88-27 ~]$ sudo vim /etc/fstab
/usr/local/bin/s3fs#yyj-s3fs-mount-bucket /data fuse _netdev,allow_other,url=http://s3.cn-northwest-1.amazonaws.com.cn,endpoint=cn-northwest-1 0 0
(不加_netdev选项开机自动挂载会不成功)
- 重启验证
重启完成之后再次使用df -hT命令,出现fuse.s3fs文件系统即表示开机自动挂载成功
参考链接:https://aws.amazon.com/cn/blogs/china/s3fs-amazon-ec2-linux/