2011年11月26日 星期六

綁定Amazon EC2 + S3

以下的服務是免費第一年即可使用的服務
-------
Amazon EC2雖然已經具有8G EBS空間,可是如果安裝的是無桌面(無使用者介面)的AMI,例如:Amazon Linux。那要傳輸大量檔案至EC2時就比較困難一點,當然可以自行另外安裝FTP來解決,不過其實Amazon已經有解決方案了,而且還能增加5G免費的空間,那就是S3。

這篇討論的是如何將S3 mount(掛載)到EC2。

 

 

  1. 登入AWS Management Console
    點選S3,Create Bucket。這裡假設取名為 BUCKET_TEST

  2. 查看掛載工具 s3fs 最新版本
    http://code.google.com/p/s3fs/downloads/list
    假設此時最新版本為 s3fs-1.61.tar.gz

  3. 在EC2中下載s3fs工具
    透過terminal登錄到EC2主機中
    取得工具 wget http://s3fs.googlecode.com/files/s3fs-1.61.tar.gz

  4. 解壓
    tar vfzx s3fs-1.61.tar.gz

  5. 因s3fs使用許多非預設安裝的dev-lib,所以要依作業系統的版本查詢dependencies http://code.google.com/p/s3fs/wiki/InstallationNotes
    安裝dependencies

  6. 編譯及安裝 s3fs
    cd s3fs-1.61
    ./configure
    make
    sudo make install

  7. 若./configure出現錯誤,則應是dev-lib不完整,重新回到第5步查詢dependences

  8. 產生要連接至S3的密碼檔
    cd /etc/
    sudo touch passwd-s3fs
    sudo chmod 640 passwd-s3fs

  9. 填入S3密碼"Access Key ID:Secret Access Key"至密碼檔
    sudo nano passwd-s3fs
    填入"Access Key ID:Secret Access Key". 這二個Key必須要登入到AWS Management Console,並點擊右上的帳號-Security Credentials,網頁再次登入後可在Access Credentials-Access Keys中找到這二個Key
    填好後存檔 (ctrl+x)

  10. 到此就算是準備好了,開始掛載
    cd /usr/bin
    sudo s3fs bucketname mount_path,這裡假設要把剛剛新增的BUCKET_TEST掛載到/home/ec2-user/s3,那bucketname = BUCKET_TEST; mount_path=/home/ec2-user/s3。完整語法: sudo s3fs BUCKET_TEST /home/ec2-user/s3
    一陣連結後,cd /home/ec2-user ; ls ; 應可看到s3已經被掛載進來了。

  11. 因我們是用sudo也就是root去掛載s3,不能直接cd s3(也沒辨法sudo cd s3,因為cd是script)
    改用sudo -s,暫時把身份改為root,可下whoami查看是否已成為root

  12. 當身份是root時,就可以cd s3,並進行操作了
    當操作完畢時,記得下個exit 回到ec2-usr身份
這樣就結束EC2+S3綁定了

來測試一下S3,到AWS Management Console,切換頁籤至S3。點擊BUCKET_TEST, Upload一個檔案。回到terminal, ls就可以看到該檔案了。

沒有留言:

張貼留言