利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶
一、准备!!!
1、使用拥有足够权限的IAM账号登录AWS控制台
2、创建S3存储桶,给存储桶命名如“my-bucket”(如果使用已有存储桶,本步骤可略过)
3、有该S3存储桶访问权限的 IAM 用户,并为该IAM用户创建访问密钥
- 关于如何创建IAM用户,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_users_create.html#id_users_create_console
- 关于如何为IAM用户创建访问密钥,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html
- 关于如何为IAM用户设置权限策略,请参见:http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/access_policies_create.html
4、创建并启动Amazon EC2 Linux实例
二、安装s3fs-fuce工具
1、安装epel源
[root@ip-172-31-23-148 ~]#amazon-linux-extras install epel
2、安装s3fs-fuce工具
[root@ip-172-31-23-148 ~]#yum install s3fs-fuse
3、检测是否安装s3fs
[root@ip-172-31-23-148 ~]#which s3fs
/usr/local/bin/s3fs
三、创建IAM用户访问密钥文件
1、创建IAM用户访问密钥文件
- IAM用户访问密钥内容可以写入当前用户默认密钥文件比如“/home/ec2-user/.password”或者用户自己创建的文件(也可以不是隐藏文件)
- 命令格式:echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名]
- 命令举例:下面的例子将在当前用户默认路径创建密钥文件:
- echo AKIAIOEO4E2VOHLxxxxx:2LXBboddEpRLmWl48i3+b4ziwPL3bJ4vxxxxxxxx > /home/ec2-user/.password
2、设置密钥文件只能够被当前用户访问
- 命令格式:chmod 600 [密钥文件名]
- 命令举例:下面的例子将设置密钥文件只能被当前用户访问(也可以是root用户,但是一般用普通用户)
- chmod 600 /home/ec2-user/.password
3、如果是在root用户下创建的password文件,那么该文件的所属是root用户,手动挂载就无法使用普通用户去挂载,所以需改变属主属组
- 命令格式:chown ec2-user.ec2-user [秘钥文件名]
- 命令举例:chown ec2-user.ec2-user /home/ec2-user/.password
四、手动挂载s3存储桶
1、挂载存储桶使用的命令是s3fs
2、s3fs的命令格式是:
- s3fs [S3存储桶名] [本地目录名] [OPTION]
- option是可选项,格式是 –o <option_name>=<option_value>,常用的options有:
- passwd_file= :指定挂载的密钥文件
- url= :设置访问s3的url http://s3.amazonaws.com
- endpoint :设置s3存储桶的endpoint us-east-1
- allow_other :设置allow_other允许所有用户访问挂载点目录,设置这个选项需要在 /etc/fuse.conf 文件添加user_allow_other选项
3、手手动挂载AWS中国宁夏区域S3存储桶
- 命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o url=http://s3.cn-northwest-1.amazonaws.com.cn -o endpoint=cn-northwest-1
- 北京区域:-o url=http://s3.cn-north-1.amazonaws.com.cn -o endpoint=cn-north-1
- 宁夏区域:-o url=http://s3.cn-northwest-1.amazonaws.com.cn -o endpoint=cn-northwest-1
- 命令举例:下面的例子将名为“my-bucket”的宁夏区域S3存储桶挂载到本地目录“/home/ec2-user/s3mnt”
- s3fs my-bucket /home/ec2-user/s3mnt -o passwd_file=/home/ec2-user/.password -o url=http://s3.cn-northwest-1.amazonaws.com.cn -o endpoint=cn-northwest-1
4、手动挂载AWS海外区域S3存储桶
- 命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]
- 命令举例:下面的例子将名为“my-bucket”的新加坡区域S3存储桶挂载到指定的本地目录“/home/ec2-user/s3mnt”
- s3fs my-bucket /home/ec2-user/s3mnt -o passwd_file=/home/ec2-user/.password -o endpoint=ap-southeast-1
5、查看挂载结果
[root@ip-172-31-23-148 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 488M 56K 488M 1% /dev tmpfs 498M 0 498M 0% /dev/shm /dev/xvda1 7.8G 1.2G 6.6G 15% / s3fs 256T 0 256T 0% /home/ec2-user/s3mnt
6、卸载挂载的s3存储桶
[root@ip-172-31-23-148 ~]# umount /home/ec2-user/s3mnt
[root@ip-172-31-23-148 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 488M 56K 488M 1% /dev tmpfs 498M 0 498M 0% /dev/shm /dev/xvda1 7.8G 1.2G 6.6G 15% /
7、如果想要设置开机自动挂载及其他详情,请参见:https://amazonaws-china.com/cn/blogs/china/s3fs-amazon-ec2-linux/
利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶的更多相关文章
- 在 Linux 实例上自动安装并运行 VNC Server
原文网址:https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.8208715.110.11.4c184ae8mlC7Yy 您可以使 ...
- 利用ganymed-ssh2远程执行其它Linux机器上的shell命令
实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求.事实上hadoop架构中,从nn上启动dn时,就是利用了免密码ssh登录.gany ...
- 在Linux实例上自动安装并运行VNC Server
#!/bin/bash ######################################### #Function: install vnc server #Usage: bash ins ...
- How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】
How to mount remote Windows shares Contents Required packages Basic method Better Method Even-better ...
- 如何在linux环境上挂载磁盘
1.1 fdisk -l 命令 查看可用的磁盘信息(如果没有显示可用的磁盘,可重启一下主机:reboot) 1.2 df –h 命令 可查看已挂的磁盘情况 1.3 pvs ...
- 使用 PuTTY 从 Windows 连接到 Linux 实例
启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. Note 启动实例后,需要几分钟准备好实例,以便您能连接到实例.检查您的实例是否通过了状态检查 - 您可以在 Instan ...
- 使用Putty连接Amazon EC2 Instance
Amazon的EC2中,默认是不允许使用用户名和密码直接连接Instance的,而是通过AWS (Amazon Web Service)提供的证书.在第一次使用EC2的时候,AWS会要求你创建一个证书 ...
- AWS之SSH登录:使用 PuTTY 从 Windows 连接到 Linux 实例
使用 PuTTY 从 Windows 连接到 Linux 实例 启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. 注意 启动实例后,需要几分钟准备好实例,以便您能连接到实例 ...
- Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长
Amazon EC2也就是亚马逊云服务免费VPS主机服务,内存是613MB,月流量是30GB,主机空间是30GB,可以免费使用一年,又加上Amazon服务器全球多个节点CDN和本身的名气,早在2010 ...
随机推荐
- 当 Go struct 遇上 Mutex
struct 是我们写 Go 必然会用到的关键字, 不过当 struct 遇上一些比较特殊类型的时候, 你注意过你的程序是否正常吗 ? 一段代码 type URL struct { Ip string ...
- Spring Boot demo系列(十):Redis缓存
1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 ...
- JVM JIT动态编译
一.概述 1.1 基本概念 a. 动态编译(dynamic compilation)指的是"在运行时进行编译":与之相对的是事前编译(ahead-of-time compilati ...
- 剑指Offer 55. 数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 示例 1: 输入: [7,5,6,4]输出: 5 思路:运用归并排序的特点 ...
- 问题:dependencyManagement和dependencies有什么区别
dependencyManagement和dependencies有什么区别 一.Maven的包管理 在maven中,dependencyManagement.dependencies和depende ...
- sqlserver2018 报错恢复
报错: Description: SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0xb2b1af16,但实际为: 0xac9393a2).在文件 'C:\Progr ...
- hdu3786 找出直系亲属 水题
题意:找出直系亲属Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- POJ1236 强连通 (缩点后度数的应用)
题意: 一些学校有一个发送消息的体系,现在给你一些可以直接发送消息的一些关系(单向)然后有两个问题 (1) 问你至少向多少个学校发送消息可以让所有的学校都得到消息 (2) 问至少加多少条边 ...
- 使用DirectX截屏
网上有很多关于DirectX截屏的文章,但大都是屏幕截图,很少有窗口截图,本文则两者都涉及到,先讲如何截取整个屏幕,再讲如何截取某个窗口,其实二者的区别不大,只是某个参数的设置不同而已,最后我们还将扩 ...
- Python中python-nmap模块的使用
目录 python-nmap的安装 python-nmap模块的使用 portScanner()类 环境: python 2.7.13 Windows和Linux默认都是不安装python-nmap ...