Amazon EBS vs S3 vs Instance Store

 

在這篇文章我們解決了幾個問題:

1amazon的存儲產品比較;介紹不同存儲的使用場景分析;

2s3-hosted images EBS-backed images的比較分析;

3、持久化存儲和非持久存儲在amazon中的體現;

一、EBSS3概述

在正式討論不同的存儲服務之前,我們大概瞭解一下Amazon提供存儲產品S3EBS

1  EBSElastic Block Storage)產品首頁的概述。

     EBS提供塊級別的存儲卷給EC2 實例使用,EBS卷通過網絡連接,獨立於虛擬機實例生命週期。EBS提供高可用,高可靠,可預期的存儲卷給正在運行的虛擬機,並呈現爲一個虛擬機設備。EBS尤其適合於數據庫應用、文件系統應用,或要求訪問裸塊級別存儲的應用。

2S3 Simple Storage Service)產品首頁概述

    S3是一個雲存儲(相應地EBS成爲雲硬盤也挺合適)。S3被設計成面向開發者易於進行規模擴展的產品。S3提供簡單的web服務接口,可實現通過網絡在任何時間、任何地點存儲和獲取任何數據。他給所有開發者使用與amazon用於運行自己的網站相同等級的可擴展、可靠、安全、快速、廉價的基礎設施。這個服務的目標是最大化可擴展性優勢,同時將這些優勢交付給開發者。

關於產品的定義,可以從這些地方去查看:http://aws.amazon.com/ebs/

二、EBS vs S3 vs Instance Store

    我嘗試着給Amazon提供的存儲服務進行分類,首先分爲兩大類,一是塊設備存儲服務,二是對象存儲服務。其中塊設備存儲服務包括本地存儲服務和EBS 存儲;對象存儲服務是S3AWSStorage & Content Delivery產品列表上,你會發現S3是一項單獨的服務,而EBS不在其中,EBS是基於EC2的一項子服務。兩者服務對象不是同一級的。  下面對不同的存儲做了簡單對比。

 

EBS

S3

服務對象

系統管理員

系統管理員/最終用戶

服務場景

1、作爲虛擬機硬盤,在虛擬機看來就像EBS就像本地的硬盤;當EC2實例失效時,EBS卷可以自動解除與該實例的關聯,從而可以關聯到新的實例。

2、存儲EBS-backed Images

1、存放S3-hosted Images

2、用戶可通過Http/REST API 存取文件。典型應用:網站可將靜態文件存放到S3中,通過CDN網絡分發到不同的區域中以提升性能;

2、可作爲虛擬機EBS卷的backup &snapshot   快照:第一個快照是全量快照,而後的都是增量快照。一般使用快照作爲新卷的起始點,所以當數據遭到破壞時就能通過回滾到某個快照來恢復數據。

連接類型

通過網絡連接

通過網絡連接。

服務機制

塊設備,可格式化爲任何OS可以識別的格式;

對象存儲,桶--對象二級結構。無需在其上建文件系統,對象存儲包括元數據、數據內容、數據屬性。

Key features

Data availability from replication across an Availability Zone

Data persistence independent of the life of the instance

The ability to create snapshots and incremental backups

 

不足

多用戶共享EBS存儲帶寬,服務質量(IO訪問的性能)會有波動。

單個文件<1T

單個文件<5G,高清視頻搞不定。

優點

1EBS提供了持久化的、具有獨立於主機的生命週期的、高可用的塊存儲設備,在這一設備上可以創建支持POSIX語義的本地文件系統(或是Windows本地文件系統)。

2、可針對EBS卷做snapshotEBS故障後可通過snapshot恢復EBS卷。

面向最終用戶,可直接當成雲網盤來使用。

容錯設計

 在不同的地方存放多份數據。

在不同的地方存放多份數據。

    物理宿主機使用的本地存儲稱爲Instance Store,這個存儲的典型特徵是非持久。計劃內或計劃外的重啓不會導致數據的丟失。當instance出現下述三種情況時,存儲在instance store上的臨時數據將會被清除。

1Failure of an underlying drive (底層驅動出現故障)

2Stopping an Amazon EBS-backed instance (使用EBS-backed作爲root device的實例Stop時。)

3Terminating an instance (虛擬機實例註銷)

instance Storeinstance的關係如下圖所示,Host computer指的就是物理宿主機。

   在申請虛擬機時,如果你看到自己在使用ephemeral 存儲就是指Instance Store這個非持久存儲。Amazon爲啥這樣設計instance Store呢?其實你就要理解一下亞馬遜的設計原則。當你關閉vm不使用,如果保留數據,那麼還是佔有資源,而Amazon的計費模式是關閉虛擬機就不計費的。所以亞馬遜默認你關機就所有數據都丟失。

 三、s3-hosted images EBS-backed images的比較分析;

1、在EC2中創建虛擬機instance時,會提示選擇Images的類型,有s3-hosted imagesEBS-backed images兩種,通俗地講就是虛擬機鏡像是存在S3或存在EBS兩類。如果你使用了s3-Hosted imagesImages需從S3存儲copyinstance Store Amazon通常會在物理宿主機緩存好被頻繁使用的Image,因此很多時候你感覺不到啓動S3-hosted images虛擬機因copy帶來的延遲。完成虛擬機鏡像copy後啓動EC2 instance

2、使用EBS-backed images的虛擬機啓動要快得多,當然這不是最重要的,最重要的是當你關閉虛擬機後,虛擬機的數據還在EBS上,就如同你在使用自己的電腦一樣,即使你關機了,數據仍在硬盤中。當然了,爲此,你得支付更多的銀子。

參考文檔:

http://aws.amazon.com/ec2/faqs/#What_is_the_difference_between_using_the_local_instance_store_and_Amazon_Elastic_Block_storage_for_the_root_device

http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/InstanceStorage.html

http://aws.amazon.com/documentation/

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章