一、准备!!!

1、使用拥有足够权限的IAM账号登录AWS控制台

2、创建S3存储桶,给存储桶命名如“my-bucket”(如果使用已有存储桶,本步骤可略过)

3、有该S3存储桶访问权限的 IAM 用户,并为该IAM用户创建访问密钥

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存储桶的更多相关文章

  1. 在 Linux 实例上自动安装并运行 VNC Server

    原文网址:https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.8208715.110.11.4c184ae8mlC7Yy 您可以使 ...

  2. 利用ganymed-ssh2远程执行其它Linux机器上的shell命令

    实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求.事实上hadoop架构中,从nn上启动dn时,就是利用了免密码ssh登录.gany ...

  3. 在Linux实例上自动安装并运行VNC Server

    #!/bin/bash ######################################### #Function: install vnc server #Usage: bash ins ...

  4. How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】

    How to mount remote Windows shares Contents Required packages Basic method Better Method Even-better ...

  5. 如何在linux环境上挂载磁盘

    1.1      fdisk -l 命令 查看可用的磁盘信息(如果没有显示可用的磁盘,可重启一下主机:reboot) 1.2      df –h 命令 可查看已挂的磁盘情况 1.3      pvs ...

  6. 使用 PuTTY 从 Windows 连接到 Linux 实例

    启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. Note 启动实例后,需要几分钟准备好实例,以便您能连接到实例.检查您的实例是否通过了状态检查 - 您可以在 Instan ...

  7. 使用Putty连接Amazon EC2 Instance

    Amazon的EC2中,默认是不允许使用用户名和密码直接连接Instance的,而是通过AWS (Amazon Web Service)提供的证书.在第一次使用EC2的时候,AWS会要求你创建一个证书 ...

  8. AWS之SSH登录:使用 PuTTY 从 Windows 连接到 Linux 实例

    使用 PuTTY 从 Windows 连接到 Linux 实例 启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. 注意 启动实例后,需要几分钟准备好实例,以便您能连接到实例 ...

  9. Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长

    Amazon EC2也就是亚马逊云服务免费VPS主机服务,内存是613MB,月流量是30GB,主机空间是30GB,可以免费使用一年,又加上Amazon服务器全球多个节点CDN和本身的名气,早在2010 ...

随机推荐

  1. day-04-列表

    列表的初识 容器型数据类型,可以承载大量的数据,有序的数据 why:int bool str:'123 True 太白' str: 存储少量的数据. str:切片还是对其进行任何操作,获取的内容全都是 ...

  2. 翻译:《实用的Python编程》08_03_Debugging

    目录 | 上一节 (8.2 日志) | 下一节 (9 包) 8.3 调试 调试建议 假设程序崩溃了: bash % python3 blah.py Traceback (most recent cal ...

  3. 考前自救题库NABCD分析

    考前自救题库NABCD分析 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-初次邂逅,需求分析 项目名称:考前自救题库(暂定) 项目简介:本产品计 ...

  4. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之创建实例-12

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之创建实例-12  欢迎加QQ群:1026880196  进行交流学习 实例创建 1.  创建 2. 查 ...

  5. (三)LDAP 新增用户

    LDAP 新增用户 图一: 图二:LAM 配置 图三: 图四:全局配置   输入LAM控制台的密码,默认是LAM 图五:

  6. Maven精简笔记

    Maven基本命令 1.mvn complile:编译命令,将src/main目录下的代码以及资源文件进行编译,在项目目录中生成target目录用来存放编译好的 class 文件等等 2.mvn cl ...

  7. 《机器学习Python实现_10_02_集成学习_boosting_adaboost分类器实现》

    一.简介 adaboost是一种boosting方法,它的要点包括如下两方面: 1.模型生成 每一个基分类器会基于上一轮分类器在训练集上的表现,对样本做权重调整,使得错分样本的权重增加,正确分类的样本 ...

  8. hdu3449 有依赖的背包问题

    题意:       给你一些物品,每个物品有自己的价值和花费,每个物品都对应一个箱子,每个箱子有价钱,买这个物品必须买相应的箱子,给你一个价钱,问最多可以获得多少价值 <提示:多个物品可能同时对 ...

  9. POJ1698 最大流或者匈牙利

    题意:       一个人他有n个任务,每个任务都有一些限制:  (1)只能在一个星期中指定的日子去做,比如周1 2 6啥的  (2)总工作量有几天,就是一共要工作几天  (3)必须在几周之内完成,就 ...

  10. Django中的模型(操作数据库)

    目录 Django配置连接数据库 在Django中操作数据库 原生SQL语句操作数据库 ORM模型操作数据库 增删改查 后台管理 使用后台管理数据库 模型是数据唯一而且准确的信息来源.它包含您正在储存 ...