工作疑問之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。 然后排錯。 


免責聲明!

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



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