• 利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶


    一、准备!!!

    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/  

     

  • 相关阅读:
    走进小楼满院星空
    极致美
    关于文件夹的所有文件名称修改以及输出
    Math类的常用方法
    Automation Framework Design 自动化框架设计思想
    选择适合入门的自动化测试框架TestNG 基于Java语言的入门选择之一
    MAC系统如果碰到报错信息:sudo:command not found
    UI自动化测试框架Gauge 碰到无法识别Undefined Steps 红色波纹标记
    如何搭建测试平台体系
    Selenium自动化测试框架Ride使用XLRD对于Excel测试数据的管理和操作
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/13504463.html
Copyright © 2020-2023  润新知