利用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/  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM