複製鏈接
請複製以下鏈接發送給好友

亞馬遜EC2

鎖定
亞馬遜彈性計算雲(EC2,Elastic Compute Cloud)是一個讓使用者可以租用雲端電腦運行所需應用的系統。EC2藉由提供Web服務的方式讓使用者可以彈性地運行自己的Amazon機器映像檔,使用者將可以在這個虛擬機器上運行任何自己想要的軟件或應用程序。提供可調整的雲計算能力。它旨在使開發者的網絡規模計算變得更為容易。
中文名
亞馬遜EC2
外文名
EC2,Elastic Compute Cloud
方    式
提供Web服務

亞馬遜EC2簡介

Web服務界面 Web服務界面
亞馬遜EC2上的簡單的Web服務界面,可以讓您輕鬆的獲取和配置資源。它提供您對計算資源的完全控制,並運行於亞馬遜已獲實證的計算環境中。亞馬遜EC2縮短了獲取和啓動新的服務器實例時間到數分鐘,讓您能夠迅速調整,無論是增加還是縮減,適應您計算需求的變化。亞馬遜EC2讓您只需為實際使用的計算進行支付。亞馬遜EC2上提供開發工具來構建隔離故障應用程序並與日常故障隔離開。

亞馬遜EC2發展歷史

Amazon在2006年8月25日發佈EC2受限公眾Beta版本

亞馬遜EC2虛擬機

虛擬機 虛擬機
EC2使用Xen虛擬化技術。每個虛擬機,又稱作實例,能夠運行小、大、極大三種能力的虛擬私有服務器。Amazon利用EC2 Compute Units去分配硬件資源(一個ECU相當於一個Sandy Bridge級Xeon)。EC2系統提供以下的虛擬機實例類型
  • 微型實例
  • 默認配置了613MB的存儲器,一個虛擬核心上運行兩個ECU單位,免費試用一年(需信用卡收取一美金)
  • 小型實例
  • 默認配置了1.7 GB的存儲器,一個虛擬核心上運行一個ECU單位
  • 大型實例
  • 默認配置了7.5GB的存儲器,兩個虛擬核心上各運行兩個ECU單位
  • 極大實例
  • 默認配置了15GB的存儲器,四個虛擬核心上各運行兩個ECU單位

亞馬遜EC2操作系統

支持Windows以及Linux,所有平台使用微型(免費)實例可免費使用.

亞馬遜EC2自動配置

Amazon EC2自動配置容量的功能允許用户自動調整Amazon EC2的容量。假如用户的流量達到尖峯,自動配置功能可以自動增加更多的容量至虛擬主機上以維持性能。

亞馬遜EC2創建步驟

如果你已經準備好使用Amazon Web服務(AWS),那麼,至少有兩種做法可以用來創建以及使用AWS。一種做法是使用AWS API(應用程序編程接口)調用。建議你在大多數情況下使用第二種做法, 即AWS管理控制枱,亞馬遜的基於web的界面。
AWS管理控制枱的簡化流程:
(1)AWS註冊
(2)創建實例的安全組
(3)啓動Amazon EC2實例
(4)連接Amazon EC2實例
(5)添加Amazon EC2實例存儲 [1] 
AWS註冊
進行AWS註冊,單擊“註冊”,然後按照後續屏幕上的説明。註冊時,你會收到你的AWS賬號,之後會用到。
第一次註冊AWS,你會收到一個賬户,所有的AWS服務都會自動生成一個帳户。包括Amazon EC2服務,S3和EBS存儲服務等。雖然AWS能夠免費註冊,可以使用750個小時,但是,必須提供一個信用卡號,當你使用“收費”服務時,可以用來繳費。
亞馬遜使用你提供的電話號碼確認你的身份。你會很快收到自動電話系統的來電,系統將提示你輸入收到的驗證碼。一旦驗證碼經過驗證,你的帳户將被激活。
創建IAM用户
當訪問AWS服務時,該服務決定了你是否有權限訪問該服務資源。創建IAM用户,然後根據不同權限將用户添加到IAM組。接下來,使用一個特殊的URL訪問AWS。“賬户id”就是你的AWS帳户ID,沒有連字符,是你註冊AWS時獲得的AWS帳户。
創建IAM用户,開啓IAM控制枱,輸入註冊AWS時設置的電子郵箱和密碼,並按照提供的説明操作。創建IAM用户後,你就能獲得憑證,使用上述特殊的URL,登錄並且使用Amazon EC2。
創建安全組
安全組作為虛擬防火牆,控制着訪問相關實例的允許流量。將入站和出站的規則添加到安全組中來控制流量。入站規則能夠控制訪問與安全組相關實例的流量,如HTTP
出站規則控制着到達與安全組相關實例的目的地,可以發送的流量。然而,返回流量,如從主機接收到的響應,收到的流量是自動允許的。如果計劃在多個區域啓動實例,將需要在每區域區分別創建安全組。
創建安全組,開啓Amazon EC2控制枱:
為安全組選擇區域
點擊“創建安全組”,輸入一個新安全組的名稱和描述
在入站選項卡上,創建規則,比如:
允許進入實例的HTTP流量
允許進入實例的SSH流量
兩個AWS內部通信的實例,必須屬於同一安全組,或者一個實例的安全組必須配置為接收同一AWS帳户的另一個安全組的流量。安全組被限定區域,因此,在每個區域需要配備適當的安全組,有計劃地來運行應用程序
啓動Amazon EC2實例
可以使用AWS管理控制枱啓動實例。啓動實例之前,你必須完成第一個步驟是“註冊。”
通過訪問Amazon EC2控制枱,開始啓動程序,選擇“啓動實例”。選擇Amazon Machine Image(AMI)創建啓動實例的模板。接下來,通過選擇實例類型,為實例選擇硬件配置。選擇之前為實例創建的安全組,並使用之前創建的憑證,最後啓動實例。
為Amazon EC2實例添加EBS卷
啓動並且連接一個實例後,可以為實例添加一個EBS卷,或者添加其他存儲服務的存儲單元。打開Amazon EC2控制枱,選擇創建實例(EBS卷是敏感區域)的區域,選擇實例。你可以選擇卷的類型:標準的或者供應的IOPS。最後,附加捲。如果創建了一個空的卷,你需要將卷格式化才可以安裝。

亞馬遜EC2使用規則

EC2安全組在AWS中為虛擬機網絡安全策略基線提供了一個結構,它應當被視為第一道防線——一個必要但不充分的安全組件
企業AWS部署也應包括一個或多個VPC以便為網絡安全策略增加一個層。
確保AWS部署:
為每一個應用、應用層和管理用户組創建一個獨立的安全組,並使用專為特定工作負載或服務層需求而調整的策略:不要為每一個實例創建一個獨立的安全組;不要把所有的實例都放在同一個安全組。這種舊式的“護城河和城堡”式的防火牆策略明顯外強中乾,面對如今使用多重攻擊和內部試探在先針對性攻擊在後的攻擊方式已無法發揮防火牆作用;不要依靠VPC的默認AWS安全組。
仔細規劃網絡路由子網設計(VPC),並使用網絡之間的嚴格ACL。網絡ACL為互聯網和應用程序協議提供了精細化控制,例如GRE、IPSec、ICMP、HTTP、SSL、DNS以及源/目的IP地址範圍之間的流量限制。一方面VPC ACL獨立於安全組,另一方面兩者又相互協作。在不必要的流量和潛在有害的流量到達EC2實例和安全組策略之前,VPC ACL和安全組就就把它們剔除了。
當為網絡和實例進行ACL規則定義時,使用最低權限標準。只允許絕對需要的連接、端口和用户。 特別關注出站安全組策略。出站規則限制對特定地址的連接,例如Dropbox或中國黑客,以及可用於未授權數據泄露的端口(FTP)。
支持無所不在的日誌記錄:VPC流量日誌、CloudTrail、亞馬遜身份與訪問管理等等。事件日誌可提供故障問題排除、現場安全漏洞和隨時間推移安全策略完善所必須的詳細信息。 [2] 

亞馬遜EC2常見錯誤

亞馬遜Web服務讓企業相信他們擁有了自己的私有資源,但是有時候共享雲系統反咬一口虔誠的企業。在亞馬遜Web服務EC2實例中會看到一個錯誤RequestLimitExceeded,這也是反咬企業的錯誤之一。
如果你進行了過多的AWS調用,你的調用就會出現RequestLimitExceeded錯誤。然而,AWS並沒有明確多少調用算“過多”,很可能是因為這是一個複雜的且未公開的算法,AWS也有待進一步開發。但是這意味着沒辦法預測什麼時候這個錯誤會發生。
首先將AWS作為有約束的資源考慮,而且往返週期昂貴。正如你無法一次按字節閲讀一個文件,不要在一個小的組塊中詢問AWS。
如果你希望瞭解正在運行的每一個實例,可以對每一個實例運行一個單獨的AWS調用,或者使用靈活的API來針對AWS EC2實例列表的信息進行單獨請求。第一種方法更有可能導致問題。
第二種選擇是考慮你多久需要更新一下請求的AWS數據。假定你正在收集實例數據來進行手動擴展決定。頻繁更新數據增加了精準度,知道你收到了請求拒絕提示,而且不得不以指數方式退下。要平衡你所請求的數據頻率。
然而,在做了這些時候,所有的AWS調用需要防止請求限制異常,你必須決定如何處理。一些調用可以失敗,而且你可以基於邏輯嘗試一次;其他的調用需要局部再次嘗試直到成功為止。
對於第二種情況,很多管理員會編寫類似的代碼:
int backOffFactor = 0;
while(true) {
try {
amazonClient.someCall();
break;
} catch(AmazonServiceException e) {
if(e.getErrorCode().equalsIgnoreCase("RequestLimitExceeded")) {
quietSleepSeconds(++backOffFactor);
}
}
這個代碼是一種改進的強制性重傳延遲,通過使用重試之間的更長週期的休眠實現,使用一個實用功能來完成,即所有的管理員編寫休眠和捕捉/忽略“InterruptedException”,直到“過多”情況消失。你可以調整多快增加休眠時間,而且也可以創建最高上限限制休眠時間。
這並不是完美的代碼,而且可以作為一個lambda表達式在這些語言支持閉包中處理,但是表達了基本的意圖:假設失敗的可能,並且放慢失敗直到系統停止抱怨。 [3] 
參考資料