我想大家對於雲端有各種想像,而Amazon的雲端服務也是如雷貫耳,但是實際上究竟是什麼,就我而言,就像陷在五里霧中,雲深不知處啊。
與其看各種報導怎麼樣天花亂墜,不如自己親手體驗一下最準。
於是鎖定第一個要認識的目標,當然就是龍頭之一的Amazon了。而其中的Amazon Elastic Compute Cloud (Amazon EC2,之所以叫EC2,就是前面黑體字的縮寫啦),賣的就是雲端運算力,當然是最值得好好認識一下的。
其實說雲端運算聽起來很玄,那當然是背後有一套架構的設計,在你需要的時候,可以利用它的機制來增算運算的實體。
But,我們先不要陷入這麼龐大玄奧的世界中,我們就以先開一個運算實體為目標。
所謂的運算實體,簡單地說,就想成是安裝Server的OS,像是Ubuntu、RedHat甚至是Windows這樣即可。
這裡有一個好消息,就是2010年11月1日起,新申請Amazon Web Service的用戶,可以免費使用它的micro instance一年,只可惜我申請的早,不適用。不過micro instance其實也不貴啦,如果只是測試、練習用,開一整天都還買不到一杯咖啡吧。
接下來,就請大家先去看一下這2篇文章:
阿正老師教你免費玩Amazon EC2雲端主機!(上篇)
阿正老師教你免費玩Amazon EC2雲端主機(下篇):主機實戰篇)
申請帳號的流程在上篇。
怎麼啟用EC2 instance的在下篇。
我自己也是看著下篇一步一步完成的。
安裝用Putty連線後,就是一個Amazon自行開發的Linux環境。雖然EC2上可以安裝的作業系統有很多,不過可以在micro上執行的好像就有限,原本試著找比較熟的Ubuntu來裝,不過至少都要small的instance。因此在摸熟之前,就先和Amazon這個Linux相處一下吧。
不過Linux的發行版本眾多,在執行操作上也多少有點不同,而根據「Amazon Linux AMI User Guide」裡說:
...this version of the Amazon Linux AMI has been built to be binary compatible with the CentOS 5.x series of
releases, and therefore packages that are built to run on CentOS should run on the Amazon Linux AMI as well.
所以基本上Amazon的Linux是依循CentOS 5.x,所以套件管理上不是Ubuntu使用的apt-get,而是用yum,這點也是一開始就要知道,才能繼續玩下去,不然連安裝東西都不會了。
另外,這個Linux預設安裝的東西好像不多,連c compiler都沒有,所以就得先裝一下:
yum install gcc gcc-c++ autoconf automake
然後就可以編譯一些需要的程式了,像我就拿來編譯Ruby。
1/6:更新
Amazon Linux AMI User Guide(PDF)
Amazon Linux AMI Frequently Asked Questions
Amazon EC2論壇
請教一下
除了Amazon這塊bling bling的招牌之外
這「雲端」服務
跟目前現有的「虛擬主機」商提供的服務
有很大差別嗎
雲端是根基於虛擬主機, 雲端技術就是管理多台架設虛擬主機的主機的技術, 而如同雲會飄, 會聚集, 會分散一樣, (理論上)虛擬主機可以動態移動到不同的實體主機上, 可以Scale-out, Scale-up等.
如果拿來當Web伺服器來說,也許「虛擬主機」其實乍看之下差不多,不過Ec2基本上就是給你一個OS,你想搞什麼都可以,例如說寫一隻網路蜘蛛來抓Web上的資料,這就是一般「虛擬主機」做不到的了。
接下來就是VPS,其實EC2看起更像VPS,例如Linode、HyperVM,也是有完整的主機的掌控權,想要多少資源就加多少銀子上去。
不過EC2和一般VPS的不同在於,如果說你的網站只需要一個實體,但是因為臨時辦了cafequeen線上演唱會,而預期會有爆大量的人湧入,這時除了需要頻寬,其實應用程式也需要作load balance,以加速處理,這時就可以利用Amazon的技術,把原來的實體連開好幾個,以應付「瘋」湧而至的粉絲request。這就是一般VPS做不到的事。
By saying 虛擬主機, I mean Virtual Machine, Not VPS.
謝謝分享, 去年初或前年申請過, 但是換了Email帳號就可以享用免費的...
申請了, 也連進去了:
(金鑰的權限要改為400)
$ ssh -i xxxx.pem ec2-user@ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
__| __|_ ) Amazon Linux AMI
_| ( / Beta
___|\___|___|
See /etc/image-release-notes for latest release notes. :-)
[ec2-user@ip-xx-xxx-xx-xxx ~]$ uname -a
Linux ip-xx-xxx-xx-xxx x.x.xx.x-xx.xx.amzn1.x86_64 #1 SMP Fri Oct 22 18:48:49 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
top了一下, 真的有596M的記憶體呢.
top - 08:35:17 up 17 min, 1 user, load average: 0.00, 0.03, 0.07
Tasks: 48 total, 1 running, 47 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 610612k total, 187540k used, 423072k free, 4420k buffers
Swap: 0k total, 0k used, 0k free, 145320k cached
也可以用sudo來下命令. 晚點再把上週編譯的綠色版MySQL5.5.8和Nginx搬上去...
也對厚,弄個新帳號就可以玩免費的了。
看起來bizpro很有經驗,有機會再來分享一下吧。
過去一直很忙, 沒有去了解. 謝謝您的分享.今天花了些時間研究了一下, 有很多Ubuntu AMI, ubuntu的雲端運算也有, 做load balance, 等等, 根本不用自己準備機器, 總持有成本真的比自己架便宜, 省水省電省機房, 加上省管理. 而且一個月有750個小時免費, 起兩個instances, 一個跑DB, 一個跑Web, 一天運作8小時, 一個月也才480小時, 根本綽綽有餘. 等這個玩熟了, 再去研究google的appengine.
也是今年一月開始用免費的,
剩一個月就滿一年,
就要開始收費……
趕快把帳號密碼找出來登入console,
在要收費前停用,
免得意外多出一筆帳單出來。
我的事業沒那麼大,
大到要租機器來處理,
只是純體驗用。