教學文章 13 Sep 2008 05:41 pm

推到 Twitter!
推到 Plurk!


HOWTO Build EC2 image



Amazon EC2 是 Amazon 近年來推出的一個服務,主要是賣 computing power,拿來幹極盡邪惡的壞事相當適合。而如果對於網站有擴充需求或僅短期內有大量機器需求的網路公司也相當有幫助(當然架構要設計的比較適合扔上 ec2,或對如何自動 deploy 上 ec2 的工具以及流程比較熟稔)。

玩法通常是 build 自己的特定需求的幾個 image,如 web application / db server / memcache server blahblah 。static data 或 db 就設定塞到 s3ebs 去。如果短期有 event 需要因應大量訪客,狂開 ec2 通常就可以應付,而且可以省下蠻多機器和人力維護的費用(因為如果也只有這麼一次,買機器相當不划算)。

然而 Amazon EC2 並不是 dedicated server,也不保證資料完整性,它的玩法是出租 computing power 讓客戶跑自己的環境解決問題。因此如果要利用 EC2 弄 website,通常是 build 自己的 web production image、server image,打開打開打開 deploy,deploy,deploy 連接連接連接。

* 首先,如果你對玩 EC2 有興趣,個人強烈建議一定要裝的工具是由 Amazon 官方推出的 Elasticfox ( FF extension ),相當有用。

* 註冊 amazon web serivces,會拿到幾組東西。
* Access Key ID
* Secret Access Key
* pk-XXXXX.pem
* cert-XXXXXX.pem

- 管理你的 Amazon Instance

* 打開 Elasticfox,在 Credencials 填入 “account name”(自定), “Access Key ID”,”Secret Access Key”。稍待片刻 (or refresh)之後,就能見到可用的 (public)Amazon Machine Image。

credencials

這裡的 AMI 都是包好的 clean image,可以開起來對 image 上下其手之後,再包成自己專用的 image(塞去 S3),以便下次開啟或大量複製。

ami

任選一個按右鍵 launch 之後就可以把機器打開了。打開以後會像這樣子…

圖片 9

值得注意的是,連過去管理是吃 key 不是吃密碼的,所以記得要去 “Key Pairs” 產生 Key。然後預設 Firefall 是通通開起來,所以要記得去 “Security Groups” 加規則讓 port 22 可以過。

ssh -i key_file root@aws-public_dns 就可以連過去可以管理了。

- 打包專屬的 AMI

裝完需要後的 package,就可以把這個已經通通弄好的環境包成 AMI。

* 首先需要將三樣東西 scp 去 /mnt 下
* “Key Pairs” 產生的 Key
* pk-XXXXX.pem
* cert-XXXXXX.pem

- 產生 image 檔

ec2-bundle-vol -d /mnt/ -c cert-XXXXXX.pem -k pk-XXXXX.pem -u ACCOUNT_NUMBER(Your AWS Profile 裡面的那串數字) -r i386 -p TEST_AMI(你想取的名字)

blahblahblah 就會在 /mnt 生出一堆檔 …

ec2-upload-bundle -b TEST_AMI -m TEST_AMI.manifest.xml -a Access_Key_ID -s Secret_Access_Key

開始扔上 S3。扔完之後會回吐 mainfest 的網址:

https://s3.amazonaws.com:443/TEST_AMI/TEST_AMI.manifest.xml

回 AMI 列表 Register ,把路徑 TEST_AMI/TEST_AMI.manifest.xml submit 上去,過了幾秒就會出現你剛剛包的 image (private)。

ami

之後就可以大量的把需要的環境叫起來。所以如果你只是測試玩玩的話,要記得關機器,因為每小時都要算錢,是直接從信用卡裡扣錢的 :Q (月結)

大概就是這樣子,操作步驟看起來蠻簡單的,不過沒有人帶的話,要花上很多功夫去看文章和猜設定 ..。所以最後要強烈感謝強者壞人長輩不嫌棄在下很笨,親自出手指點 <(_ _)>。

我自己 run 過一遍之後,把過程記在這裡。

Creative Commons License

3 Responses to “HOWTO Build EC2 image”


  1. on 28 Sep 2008 at 8:54 pm 1.Blog.XDite.net » Deploy Application on EC2onRails said …

    [...] - 需要知識: * 知道如何使用 Capistrano deploy code 到 WebApp 上。 * 知道 EC2 是什麼,擁有 AWS 帳號 * 會使用 Elasticfox 開 AMI,熟悉 Elasticfox 的操作步驟。( 可以看之前筆者寫的這一篇 包 EC2 image 的 HOWTO) [...]

  2. on 03 Apr 2009 at 1:26 pm 2.李大人愛說笑 said …

    亞馬遜(Amazon) EC2 推出長期租用…

    Amazon EC2 推出 Reserved Instance (長期租用)!
    http://aws.amazon.com/ec2/

    Amazon EC2 是亞馬遜推出的一項雲端運算服務,主要賣 Computing Power。如果公司的系統架構設計適合放上 EC2,或對如何自動套用上 E…

  3. on 30 Jun 2009 at 10:31 am 3.Smashing said …

    但是cert-XXXXXX.pem去哪裡拿,Amazon只給private key,沒有給public key阿,真苦惱~

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply