工作疑问之AWS S3挂在到ec2主机

这个问题以前处理过,不过是在ubuntu 16上。今天因为工作需求要在Amazon Linux上再做一下。所以在这个里 整理下方法。注:Amazon Linux 你可以卡做事centos操作系统。

其实做完之后才发现这 没多大区别。操作都是一样的。

要完成S3挂载到主机需要一些准备工作做:

1.主机安装s3fs 这个命令。

2.aws IAM 中创建一个只用拥有S3 权限的账号。拿到 Access key ID 和 Secret access key(需要有一定的aws操作基础)

开始安装s3fs:

这个东西去github 找就行了 找到之后 git clone https://github.com/s3fs-fuse/s3fs-fuse.git 

下载完成后编译安装 在github下载页面的read me 有编译安装的步骤 这里我在贴一下:

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse

./autogen.sh

./configure

make

sudo make install

这是centos的安装方式,当然你也可以在read me找到其他的安装方式。

install完成之后可以试试看 s3fs 这个命令有没有被全局安装,如果没有 你能在 s3fs目录下的src目录里找到它

创建密码文件

这个是能否挂载和操作S3凭证。一般我把这个文件放在当前用户家目录的 .ssh 目录中名字随便。

echo   Access key ID:Secret access key > .ssh/passwod

chmod 600 .ssh/passwod 

挂载命令:

s3fs  -o nonempty  app-record-dev  /home/ec2-user/S3 -o uid=1000 -o gid=1000 -o umask=007 -o passwd_file=/home/ec2-user/.ssh/s3pwd    -o url=https://s3.cn-north-1.amazonaws.com.cn    -o endpoint=cn-north-1

-o nonempty 后面的是桶的名字;

/home/ec2-user/S3  挂载到本地的路径

uid  gid  这两个值可以用id 命令查看。加上之后可以避免一些出现莫名其妙的错误。

 -o url  这个是S3 的外网访问路径。

运行挂载命令之后 如果没有报错就可以用df -Th  看看 S3是否没挂载到目录。

注意:有些时候运行 挂载 命令后没有报错,但是一旦查看挂载,或者运行其他的linux命令 会被行死。 这种情况救不回来,只能直接reboot。 然后排错。 

猜你喜欢

转载自www.cnblogs.com/lycould/p/9340466.html