字體:  

掛載 AWS S3 到 AWS EC2 Instance 使用教學

dyson6 發表於: 2017-5-04 15:35 來源: ADJ網路控股集團


最近剛好需要將 AWS S3 掛載到 EC2 上,步驟有點多,記錄一下。

一般常見的做法我們會透過 AWS 提供的 API 來存取 S3 上的檔案,但這樣做並不直覺,而且要通常要將原本存取檔案的程式寫法改成用 S3 API 存取檔案的寫法,有可能會需要修改許多支程式。

所以便有人萌生了將 S3 掛載到 EC2 Instance 的想法,就跟我們買一顆大容量的硬碟裝在電腦上一樣,讓我們的網站服務能夠像在同一部機器存取檔案一樣容易。(其實概念就像我們在實體機器上使用 NFS 來掛載網路硬碟一樣)

掛載細節如下:(請確認已開好 S3 bucket,且開好 IAM user 權限,且完成環境安裝)

第一部份: 環境安裝部份

Step 1:登入 EC2 後使用 sudo 權限
$ sudo su -

Step 2:先更新 apt-get
# apt-get update

Step 3: 準備安裝 s3fs-fuse 前所需的套件
On Ubuntu 14.04:
# apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config

On CentOS 7:
# yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

Step 4:進入 /tmp 資料夾
# cd /tmp

Step 5: 安裝 s3fs-fuse
Compile from master via the following commands:

QUOTE:


# git clone https://github.com/s3fs-fuse/s3fs-fuse.git
# cd s3fs-fuse
# ./autogen.sh
# ./configure
# make
# make install


完成以上步驟,就可以在 EC2 的 Ubuntu Instance 安裝好可掛載 S3 的環境,下面是掛載及卸載的部份

第二部份:
Step 1:新增 s3fs passwd 檔案

# touch /etc/passwd-s3fs

Step 2:編輯 s3fs 檔案

# vi /etc/passwd-s3fs

Step 3:填入設定 S3 bucket 時的 bucket name 及設定 IAM user 時得到的 access key id、secret access key

bucketName:accessKeyID:secretAccessKey

Step 4:更改 s3fs 檔案權限

# chmod 640 /etc/passwd-s3fs

Step5:新增 S3 bucket 所要掛載的位置

# mkdir /mnt/s3-drive

Step6:將 S3 bucket 掛載上去

# /usr/bin/s3fs <bucket-name> /mnt/s3-drive -o allow_other

當完成上述步驟我們就已經將 S3 bucket 掛載到 EC2 的 /mnt/s3-drive 了
我們可以用 df -h 來確認:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  1.3G  6.3G  17% /
udev            288M  8.0K  288M   1% /dev
tmpfs           119M  172K  118M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            296M     0  296M   0% /run/shm
s3fs            256T     0  256T   0% /mnt/s3-drive

恭喜!EC2 Instance 多了 256T 的空間了!

若想要卸載 S3 bucket 指令如下:

$ fusermount -u /mnt/s3-drive

以上就是如何掛載 AWS S3 到 AWS EC2 Instance 的簡易筆記~


參考資料:
https://coderwall.com/p/kdpssg
https://github.com/s3fs-fuse/s3fs-fuse
逢甲住宿推薦逢甲住宿台中旅店逢甲日租台中住宿台中逢甲民宿台中民宿台中一中住宿台中便宜住宿台中青年旅館