Amazon彈性計算云服務(Elastic Compute Cloud, EC2)是Amazon云計算環境的基本平臺。本節主要介紹EC2體系的基本架構,側重介紹其中涉及的一些基本概念,最后簡單介紹服務中經常使用的一些命令。
EC2的主要特征
EC2向用戶提供了下面列舉的一些非常有價值的特性。
(1)靈活性:EC2允許用戶對運行的實例類型、數量自行配置,還可以選擇實例運行的地理位置,可以根據用戶的需求隨時改變實例的使用數量。
(2)低成本:EC2使得企業不必為暫時的業務增長而額外的租用服務器等設備。EC2的服務都是按小時來收費的,而且價格非常合理。
(3)安全性:EC2向用戶提供了一整套安全措施,包括基于密鑰對機制的SSH方式 訪問、可配置的防火墻機制等,同時允許用戶對它的應用程序進行監控。
(4)易用性:用戶可以根據Amazon提供的模塊自由構建自己的應用程序,同時EC2還會對用戶的服務請求自動進行負載平衡。
(5)容錯性:利用系統提供的諸如彈性IP地址之類的機制,在故障發生時EC2能最大程度地保證用戶服務仍能維持在穩定的水平。
EC2基本架構及主要概念
EC2的基本架構如圖3-11所示。

1. Amazon 機器映像(AMI)
AMI(Amazon Machine Image)是Amazon機器映像,它是一個可以將用戶的應用程序程序、配置等一起打包的加密機器映像。AMI是用戶云計算平臺運行的基礎,所以,用戶使用EC2服務的第一步就是要創建一個自己的AMI,這和使用PC首先需要操作系統的道理相同。AMI存儲在S3中,目前Amazon提供的AMI有以下四種類型。
(1)公共AMI:由Amazon提供,可免費使用。
(2)私有AMI:用戶本人和其授權的用戶可以進入。
(3)付費AMI:向開發者付費購買的AMI。
(4)共享AMI:開發者之間相互共享的一些AMI。
初次使用EC2時,用戶可以以Amazon提供的AMI為基礎創建自己的服務器平臺,也可以用EC2社區提供的腳本來創建新的AMI (對用戶的要求比較高),一般來說,便用Amazon提供的AMI即可。選好AMI后,將AMI打包(壓縮),加密并分割上傳,最后再使用相關的命令將AMI恢復即可。
2.實例(Instance)
用戶創建好AMI后,實際運行的系統稱為一個實例,實例和我們平時用的主機很像。EC2服務的計算能力是由實例提供的。按照Amazon目前的規定,每個用戶最多可以擁有20個實例。每個實例自身攜帶一個存儲模塊(Instance Store),臨時存放用戶數據。 當用戶實例重啟時,它其中的內容還會存在,但如果出現故障或實例被終止,存儲在其中的數據將全部消失。因此,Amazon建議把重要數據保存在EBS中(下文介紹這種方法)。按照計算能力劃分,實例被分成標準型和高CPU型。標準型實例的CPU和內存是按一定比例配置的,對于大多數的應用來說已經足夠了。如果用戶對于計算能力的要求比較高,可以選擇高CPU型的實例,這種實例的CPU資源比內存資源要高。為了屏蔽底層硬件的差異,準確地度量用戶實際使用的計算資源,EC2定義了所謂的CPU計算單元。一個EC2計算單元被稱為一個ECU (EC2 Compute Unit)。表3-2是目前可選的實例類型和其相關配置。

如果按照使用的方式劃分,頭例被分為按需實例(On-demand Instance)和預留實例(Reserved Instance)。按需實例不需要提前支付任何費用,需要時直接使用,用完后按小時付費即可。如果需要使用預留實例的話,則必須首先對所需實例做出預定,并為這些實例預先支付一定的費用。需要注意的是,實際使用的實例必須和預留的實例是同一類型且在同一個可用區域,只有這樣才可以享受到相應的優惠。可用區域的概念將在 在后面介紹。