[轉載]AWS使用小記之EC2(Elastic Compute Cloud)

@Deprecated 博客搬家致使圖片丟失了,經驗教訓告訴咱們仍是須要有專門的圖片服務器才行。這篇文章也已經基本過期了。前段時間忙於創業和技術探索,最近終於慢慢開始有了本身的時間,能夠寫一寫東西。目前主要用的技術是 DirectShow 相關的東西,還買了一套通信框架 UDX ,關於 H264 編解碼之類的問題是我頭疼已久的問題(最近用硬件解決了,硬件是王道啊)。天天都會抽時間上來寫寫東西。node

 

在十月中旬的時候,忽然萌生了想法,建一個本身的網站,因而開始尋覓DNS,爺爺給推薦了 name.com ,很給力。對比了網上所謂的十大美國主機以後,我發現不如買個Linode來的實在,正當我糾結於一個月十幾刀的價格的時候,爺爺又一次出現了。此次給我推薦了Amazon Web Services的EC2,又一次給力的推薦。sql

 

EC2,全名 Elastic Compute Cloud ,正如這個名字所說的同樣,是爲開發者們提供的一個彈性(便可控制可調整)計算的Web服務。個人主要需求是一臺VPS,因此我只須要在EC2上運行一個實例就好了。幸運的是AWS在從2010年11月份開始推出一項推廣措施,即 AWS Free Usage Tier ,主要包括如下內容(我友情翻譯一下):數據庫

 

AWS免費層(每個月):服務器

  • Amazon EC2(亞馬遜彈性計算雲,雲計算服務的核心即基礎,提供很是彈性的實例管理)Linux微型實例750小時的使用權(613M內存且支持32位和64位平臺)——(750h>31*24h,也就是說你能夠整月都開着這個實例)*
  • Amazon Elastic Load Balancer(or Elastic Load Balancing,亞馬遜彈性負載均衡,在EC2基礎上實現的負載均衡服務)750小時使用加15GB的數據處理空間(這個沒用過,因此很差評價)*
  • Amazon Elastic Block Storage(亞馬遜彈性塊存儲,能夠理解成EC2的硬盤)10GB空間,外加100萬次IO、1GB快照空間、1萬快照GET請求和1000次快照PUT請求*
  • Amazon S3 Storage(or Amazon Simple Storage Service,亞馬遜簡單存儲服務,相似於網絡硬盤,我用Gladinet把它變成了個人Dropbox之一,固然它的利用價值遠不止這些)5GB空間,外加2萬次GET請求和2000次PUT請求*
  • 貫穿於全部服務(除Amazon CloudFront服務外)的共30GB(包括15GB的流入流量和15GB的流出流量各半)的網絡流量*
  • Amazon SimpleDB(亞馬遜簡單數據庫服務,非關係型數據存儲,提供了不少給力的特性如運行時修改數據模型且自動索引等,有點相似於nosql,但更像一個削除了繁雜的關係查詢的精簡版關係數據庫,我的觀點^^,有時間多研究研究)25機器小時(即一臺機器運行一小時)以及1GB的空間**
  • Amazon Simple Queue Service(亞馬遜簡單消息隊列服務)10萬個請求**
  • Amazon Simple Notification Service(亞馬遜簡單通知服務,這個服務很是給力,想一想之後只須要簡單配置就能夠實現各類「推」的場面,目前這個服務還處於beta階段,有時間必定要試用下)10萬個請求、10萬個HTTP通知以及1000個郵件通知**
  • Amazon Cloudwatch (亞馬遜雲服務監控,這個應該是EC2上比較高級的一個功能,有針對性的監控並有警報響應)10次警報**

幾點補充說明:網絡

  1. AWS Management Console是這些Web服務的統一管理界面,免費的,哈哈。
  2. 後面帶*的項適用於該層發佈後新註冊的用戶且有效期爲2010.11到2011.11共12個月。
  3. 後面帶**的項至關於已有收費機制的調整,沒有有效期限制和用戶限制。
  4. 全部的指標均是覆蓋四大服務區域(US – N. Virginia, US – N. California, EU – Ireland, and APAC – Singapore)的,即這四個區域的使用的全部指標一塊兒計算後去除無償使用層後再按標準收費。以第一條爲例,免費一個實例,就是說你只能在四個區域中選擇一個新建一個實例使用,而不是每一個區域各一個。

下面詳細介紹一下個人EC2的使用過程:負載均衡

 

Step 1. Sign Up and Sign In,即註冊一個Amazon Account並登錄

 

這裏不是很複雜,直接到EC2的界面上註冊(Sign Up)就是了,值得注意的是你須要有一張支持visa或者是mastercard的信用卡,來做爲支付手段。註冊結束以後信用卡里面會被扣掉$2(EC2 和EBS各一刀,確認你這我的存在用的,好像事後又還回來了),註冊完了以後就登陸到AWS Management Console上的EC2管理界面上了。框架

 

Step 2. New an instance,即新建一個實例。

 

先來看看咱們如今的AWS Management Console的EC2界面。熟悉一下這個界面。大概瞭解一下每一個塊顯示的是什麼內容。下圖是Dashboard的一個截圖。運維

新建分爲幾個小的步驟:nosql

  1. 選擇好區域,我選擇的是亞太地區,即新加坡機房。而後點擊Launch Instance,彈出一個窗口,開始新建實例。
  2. 第一步、選擇AMI,即亞馬遜機器鏡像,通俗點說就是選個已經配置好的GHOST,主要有三類:AMI(Quick Start,官方提供的AMI)、My AMIs(我本身的鏡像)、Community AMIs(社區裏的鏡像,也就是別人公開出來的鏡像),按需選擇,我我的選擇的是社區裏的某人公開出來的Cent OS 5.5 x86。
  3. 第二步、選擇你須要運行實例的個數,我的用戶一個就夠了。而後是實例類型,免費層範圍內的是Micro(微型),值得注意的是不一樣的AMI對應的機器的類型是不同的,某些是沒有微型的,系統老是有個適用範圍的。見圖。
  4. 第三步、選擇CPU和內存,就是選出一個你可用的序列號,沒什麼特別的意思。在這裏能夠啓用Cloudwatch(若是你有錢的話)。不上圖了,下一步。
  5. 第四步、加標籤,簡單說就是給你的這個實例貼上一些方便識別的標籤,就像運維在機房裏作的那樣,也不上圖了。
  6. 第五步、很是重要,選擇密鑰對。這個密鑰的主要功能是SSH登陸主機時候使用。取名以後建立,下載妥善保存該PEM文件。該文件其中包含了公私鑰信息。可根據不一樣的客戶端使用。
  7. 第六步、配置防火牆。即配置iptables規則。默認已經有一個配置了。這裏的注意點一些常用的端口要打開,好比你要遠程SSH用的22端口,HTTP用的80端口之類的。當你發現你配置的應用沒法訪問的時候不妨查看一下這裏的配置,粗心的我就常常犯這樣的錯誤。比較簡單,不上圖了。
  8. 第七步、確認以前全部的配置信息,肯定沒有錯誤以後,ready to go,點Launch。
  9. done。你能夠在Instance面板上看到你本身的實例了已經。

使用過程當中的TIPs:

 

SSH登陸

在實例管理的頁面上右擊你的實例,點選Connect就會有Linux下SSH鏈接該實例的方法了。我的用的電腦系統是WIN7,懶得每天到虛擬機裏去SSH,搞了個SecureCRT,而後在SSH的鏈接選項裏面配置了這個PEM文件就能夠練上去了,通常默認的用戶名是root,固然有些實例若是root不容許登錄的話會提示你應該用什麼用戶登陸。putty也有相似的功能,可是須要用 putty自帶的工具從pem文件中導出私鑰,我懶得搞。上張SecureCRT中會話選項的配置圖。ide

登陸上去以後想幹嗎幹嗎。

 

Elastic IP的配置

 

鏈接SSH的提示中用的是一個amazom的三級域名,即該實例的Public Dns,這個地址一般不會變,特殊狀況(實例中止後從新啓用)下會發生變更,針對這種狀況,能夠去到Elastic IP面板中,新建一個Elastic IP,而且分配給你須要使用的實例。這樣你就能夠把本身的域名解析到這個IP上,堅挺而穩定。Allocate New Address——分配IP地址。Associte——把分配的IP地址與實例關聯。

 

建立AMI和Snapshot

 

其實這兩個東西不是同樣東西,可是功能和操做方法都很相似,且有所關聯,因此放到一塊兒說一說。

先說AMI,當你的應用配置完畢以後,你能夠方便別人或者方便本身,把當前的實例作出一個鏡像,留待之後使用或者在社區中共享(把 Permission設置爲Public就能夠了)。在實例上右擊->Create Image(EBS AMI)->按需填寫。AMI建立成功以後能夠直接用這個鏡像起更多的實例(仍是那句話,若是你有錢)。

Snapshot,就是EBS的快照,其實每個AMI的建立都要求給出一個EBS的快照。咱們也能夠本身建立EBS的快照。在Snapshot的界面選擇Create Snapshot->選擇你要建立快照的Volume->確認就能夠了。

值得注意是在建立AMI或者Snapshot的時候機器都是會停掉的,會對使用形成必定的影響。固然,若是你擁有一個本身的集羣,這些也就不是問題了。

以上就是我使用的時候遇到的一些比較實用的內容。下面介紹一下EC2的具體資費,這個應該是你們最關心的東西。

 

EC2資費指南 (EC2官方收費標準)

 

按需運行實例(On-Demand Instances)

 

這種實例的收費方式最簡單,就拿個人實例(Linux Micro in Singapore,新加坡的Linux微型實例)來說,若是過了明年十一月份,免費層過時。按需運行:

運行一年的價格應該是:365d/y*24h/d*$0.025 per hour=$219=¥1457.445(今日匯率6.655

運行三年的價格應該是:$219*3=$657=¥4372.335

這種實例的優點是用多少算多少,按需來用,靈活性好,相對來講較貴。

 

保留定製實例(Reserved Instances

 

不知道這樣翻譯會不會有問題,呵呵。這種收費模式就是說你的需求相對固定的時候,能夠先花一筆錢,買下這個實例的使用權,而後要用的時候費率就相對打了一個比較大的折扣,由於需求的相對固定節約了運維的成本,天然整體的價格也就便宜下來了,仍是以個人實例爲例。在保留定製實例狀況下的收費:

運行一年的價格應該是:365d/y*24h/d*$0.01 per hour+$54=$141.6=¥942.348

運行三年的價格應該是:3*365d/y*24h/d*$0.01 per hour+$82=$344.8=¥2294.644

這種實例須要在一開始就定好你須要的實例類型,一旦肯定使用時就不能更改。比較適合我這種小用戶使用。

 

現貨競價實例(Spot Instances

 

這個翻譯可能更加驚悚,不過若是瞭解這個實例的話就會知道其實這個翻譯仍是比較恰當的。這個實例有點像競價的模式,價高者得,你能夠設置一個你對你的實例的要求和你能接受的每小時最大費率,而後把這個請求投入「拍賣場」,市場的價格是在供需平衡的原則基礎上波動的,一旦你是同等條件下的最最高出價人,那個階段你的實例就會被運行。我的感受這個有點像去青樓找紅牌,你掏出你這個月僅剩的一點點工資,去競價,說不定何時其餘人對XXOO的要求減小的時候,市場供求關係發生變更,供多求少的時候,價格跌下來,你一晚上春風的機會就來了。。囧一個。這個顯然不適合我這樣對持久性和穩定性要求比較嚴格的人(不要想歪了,我說的是網站的運營),它的適用範圍是:

  • Image and video processing, conversion and rendering (圖像和視頻的處理、轉換及渲染)
  • Scientific research data processing(科學研究數據的處理)
  • Financial modeling and analysis(金融建模及分析)

官方還給出了一個例子,我順手也翻譯成中文,有助於理解這種示例的使用模式:

假設你決定發起一個Spot請求——部署一個標準的小型(m1.small)實例在美國東北弗吉尼亞地區。你能夠在AWS的管理控制檯或使用亞馬遜的EC2 API看到最近1-2小時的現貨價格在0.030美圓/小時到0.060美圓/小時間波動,目前爲0.050美圓/小時。你決定要把0.045美圓/小時設置爲你能接受的最高價格。你經過使用亞馬遜的EC2 API或經過AWS的管理控制檯發起了該Spot請求。由於您的設置的最高價格比目前現貨價格低,因此沒有實例被啓動且您的請求仍然處於掛起狀態。

兩個小時後,現貨價格降低到0.045美圓/小時。在這個時間點上,您的請求可能會、也有可能不會被接受。這是由於您的最高價格剛好等於目前現貨價格,而這個價格可能請求的人比較多,你沒排上號。假設你的實例沒有啓動。三十分鐘後,現貨價格降低到0.039美圓/小時。由於這低於您的最高價,現貨競價實例將即時啓動,你的實例運行的第一個小時的價格就是0.039美圓。

繼續咱們的例子,三個小時後,現貨價格上漲至0.043美圓/小時。如今,若是你繼續運行實例,須要支付的價格0.043美圓/小時。你的實例不會被關閉,由於亞馬遜的EC2現貨價格仍低於您的最高價格。

一個小時後,現貨價格上漲至0.045美圓/小時。在這一時間點上,您的實例可能會、也可能不會被終止(跟上面的狀況差很少,由供求狀況決定),在這種狀況下,實例繼續運行了,你將被收取0.045美圓/小時。

最後,四個小時後,現貨價格上漲至0.055美圓/小時。由於這比您的最高價高,亞馬遜EC2將終止你的實例。系統運行多出的不滿整小時的部分不會收費,由於它是被亞馬遜EC2終止的。

PS:我是在Google翻譯的基礎上改得通順了些,因此請原諒這裏面出現那麼多「您」。

還有不少關於EC2的細節的東西我願意與大家分享,將會在隨後以編輯本文的形式發佈。

 

轉自: http://blog.2don.com/?p=20

相關文章
相關標籤/搜索