現在我們來介紹 EC2 裡面的 Instance Storage 與 EBS 的差別,那我們開始吧!
在我們的 EC2 Instance 裡面,會有一個 Instance Storage,他們都會在同一個 Host 主機上,而我們可以透過網路連結到另外的外接硬碟空間,名叫 EBS Volume (Elastic Block Storage)。而 EC2 Instance 與 EBS Volume 會在同一個 AZ 之中,如下圖:
EBS Volume 可以進行備份,而 AWS 所提供的備份功能就叫做 EBS Snapshot。EBS Snapshot 有一個特點,他會進行漸進式的備份 (backup),也就是說,上次備份到的部分,下次就不會重複備份,只會加上新的部分,而這種漸進式的方法就叫做 Incremental,如下圖:
另外,EBS Snapshot 會與 EC2 Instance 在同一個 Region 中。
因此 EC2 Instance、EBS Volume、EBS Snapshot 三者的關係就會如下圖:
優點: Higher I/O,由於 Instance Storage 和 EC2 Instance 在同一個Host之中,因此具有很好的 I/O 處理能力。缺點
: Ephemeral,短暫存在。就是說當我們把 EC2 Instance 給刪除時,在 Instance Storage 的資料也會全部跟著消失。缺點
: No Backup,就算沒有實際把 EC2 Instance 砍掉,只要他所在的實體主機儲存硬碟故障,那麼資料也都會跟著消失,換句話說,他的 Durability 非常低,不適合存放長久資料。如下圖:
缺點
: Lower I/O,由於 EBS 與 EC2 之間連通內部網路會造成時間消耗,因此 I/O 的處理能力較低。
優點: Persistent,EBS Volume 的生命週期與 EC2 的出現消失無關,就算 EC2 砍掉,EBS Volume 的資料依舊會留存著。
優點: Backup,當我們創造 EBS Volume 時,在背後的 AZ 之中,AWS 會在背後幫我們建立多台儲存設備,簡稱 Nodes,來組成 EBS Volume,就算有一個儲存硬碟故障了,資料仍然能完整保存,提供較高的 Durability。
另外,不僅僅是 EBS Volume 上的 Backup 功能可以使用,我們還有 EBS Snapshot 來保護資料,就算 AZ 所有資料中心都無法使用,資料仍會保存在同一個 Region 底下的 EBS Snapshot。
Instance Storage 與 EBS 兩者優缺點比較如下圖:
(左為Instance Storage,右為EBS Volume)
整體而言相較於 Instance Storage,EBS為更常用的儲存選擇。原因很簡單,以使用者的角度來看,在儲存東西時最重要的就是「保障」,確保資料不會遺失,EBS也提供了相對較高的 Durability。
然而,我們仍然存在一個 EBS I/O 相對較低的問題,為了解決這個問題, AWS 提供給我們許多不同的 EBS Type 來選擇,在之後會有單元進行詳細說明。
那以上,是我們針對 EC2 儲存資源 Instance Storage 與 Elastic Block Storage (EBS) 之間的比較與介紹。
明天我們將接著介紹「EC2儲存資源 EBS Types 方案比較」。
長知識了,一直以為 EC2 Instance 和 Instance Storage 是同進退的,原來 Instance Storage 有可能單獨掛掉。