2012-06-14 36 views
6

EC2提供了一個非常方便的,按需可伸縮的機制來執行分配(並行izable)工藝和S3提供了可靠的存儲服務。如何建立一個快速,可靠的S3到EC2連接

我試圖使用EC2節點的ETL &分析過程,這個過程需要大量數據(100GB - 1TB)的攝取非常迅速(並多次在一天)和充足的計算資源被製成供持續時間短。

上述設計需要

  1. S3和EC2之間的高帶寬/快速連接。
  2. S3 - > EC2連接也應該是可靠的,因爲首發的調度,抽-中的數據,執行過程和終端節點,必須儘快做不僅節省成本,而且還因爲SLA的參與。

但目前還

  1. 拉數據輸出S3的的唯一手段似乎是通過HTTP,因此它是由EC2節點的下載帶寬約束。
  2. 同樣的數據攝取去在互聯網上,因此可以嚴格調度的目的,整個工作迫使足夠的緩衝不夠可靠。

在私有數據中心設置中,可以在存儲節點和物理節點之間建立一條更快的(例如10Gbps)專用線路。

是否有AWS能滿足上述要求的情況下,任何可能的替代方案/服務選項。

回答

5

很大程度上取決於各種各樣的事情 - 同一物理服務器上的其他EC2實例正在執行多少網絡活動,您在任何時候都會遇到的特定S3節點,無論您是否處於相同狀態地區作爲你的S3端點等

您可以基準自己,但即使如此,它會改變很多。有時候我每秒會得到幾兆字節的數據量,而其他時間則會有幾百千字節。

+0

亞馬遜還沒有發佈任何東西之間的可靠的數據傳輸,沒有任何其他來源獲得這些信息?是否有不同的定價模式可以靈活地選擇傳輸速度: – sandeepkunkunuru

+1

有沒有這樣的信息,因爲**它變化**。提高AWS網絡速度的唯一方法是使用羣集實例,這些實例可以在服務器之間獲得10千兆位連接,或者使用AWS昂貴的專用實例(http://aws.amazon.com/dedicated-instances/)來控制效果的其他人在您的服務器上。 – ceejayoz

2

至少我發現這個最近(雖然它可能提供了一段時間)。 Cloudberry提供真正快速的方式將數據從S3傳輸到EC2。速度範圍從40MBPS到50MBPS。這是過程。從http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx下載cb s/w。連接到S3。一旦看到文件右鍵單擊文件複製並選擇weburl。這將顯示該文件的weburl。複製整個URL和AWS VM使用wget來獲得url內容(wget的[複製鏈接]

我現在還在找工作的工具,從虛擬機數據複製到S3。S3cmd是緩慢的,打破過於頻繁。

+0

不確定是否回答了這個問題,但可能對我猜測的人有幫助。 – rainkinz

+0

這很有趣......你所說的是直接通過他們的url訪問S3文件比使用S3cmd快得多(和可靠)。這可能與cloudberry本身沒有多大關係,但只是訪問native/api vs REST/htttp的性質,以及大多數時候EC2節點和S3的下載和上傳速度並不糟糕。 – sandeepkunkunuru

+0

實際上s3cmd沒有任何本地接口(它是一個獨立的獨立開源工具)。事實上,唯一的協議似乎是http,在這種情況下,很難理解工具之間的差異,例如wget,捲曲,aws sdk,s3cmd等等。除了工具可能不是高性能的或可能性錯誤之外。 – sandeepkunkunuru