AWS SAA系列

AWS Storage part 1

S3、EBS、EFS、Storage Gateway

RobertWang

--

Photo by Chris Barbalis on Unsplash

Object vs Block Storage

Object Storage顧名思義就是以一個Object為單位,一次儲存就是整個檔案,好處就是要擴展(scale)比較容易,AWS S3就是Object Storage,適用於較大的資料而且幾乎不會更動,或是需要被其他服務存取。,Block Storage則是將檔案切分很多個小塊,更新的話只需要針對異動的部分更新,速度上相對就會快很多,在AWS裡面Block Storage才可以被掛載(mounted),AWS EBS就是Block Storage適用於當資料變化頻繁更新的時候。

Amazon EC2 Instance Store

在上一篇EC2的介紹中有提到,EC2 Instance存放區,跟EC2 Instance在同一個硬體主機上,溝通不是透過網路所以有High IOPS,適合存放經常需要變更的資訊像是快取之類的,不同規格的EC2 Instance會有不同大小與數量的EC2 Instance Store,ephemeral特性,當實體終止、休眠或是停止的時候資料就會遺失,無法備份或是快照,需要長久的保存建議使用S3、EBS、EFS。

aws

Amazon Simple Storage Service (S3 )

Object storage,物件儲存服務,適用於靜態的內容,S3是Global的(仍需選擇region),也就是並不會放置於VPC內。內含有許多Bucket,使用者將資料(object)存放於bucket內,預設都是private。

每一個bucket需要有一個獨一無二的bucket name,對應一個url來存取。而且bucket是沒有容量限制,Object上限則是5TB並且支援分段上傳。

features

  • Versioning:支援版本控制,每次更新都是一個版本。
  • 跨region支援,實現跨多個可用區域的 99.999999999% 物件耐用性(11 9s durability)
  • 其設計提供一年內 99.99% 的可用性(4 9s availability )
  • 物件生命週期:參考下方Storage class。
  • 事件通知:當S3資源有異動可透過event 觸發SNS、SQS、Lambda。
  • 託管靜態網頁:前後端分離時可以用, S3 bucket name 必須等於 domain name。
  • 限制特定網站訪問:可以增加一個policy,附帶 aws:Referer指向特定網頁,可參考aws doc
  • Strong Read-After-Write Consistency:S3現在已是強一致性,可參考aws blog

Storage class

  • Standard:標準,自動跨AZs備份。
  • Standard-Infrequet Access:存取頻率較低,價格也較低
  • One Zone-Infrequet Access:單AZ換得更便宜的價格。
  • Glacier:最便宜存取速度最慢,透過S3轉換過去的檔案只能在S3操作,不能在Amazon Glacier直接操作。
aws

Lifecycle Rule

可以定義規則來轉換物件的Storage class,七天後轉換為Standard IA,十天後轉換為Glacier。

Amazon Athena

Amazon Athena是互動式查詢服務,高可用高效能,用SQL來查詢分析S3中的資料,適合分析log。

Amazon Glacier

可以經由S3轉換過來,或是直接上傳,讀取檔案要很長的等待時間(小時起跳),雖然價格便宜,但高頻率的存取資料會收取額外費用,所以較適合不常用到的資料存放。

Archive Retrieval Options

取得封存檔案的方式,依照速度有三種區分,越快價格相對高。

  • Expedited: 最快的方式,1–5分鐘內可以取得檔案。
  • Standard:3–5小時。
  • Bulk:5–12小時。

Provisioned Capacity

使用Expedited Retrieval最好要有相對的Provisioned Capacity(容量),可以幫助快速的存取檔案(150 MB/s of retrieval throughput)。

Amazon Elastic Block Store (EBS)

Block層級的儲存空間,適合搭配EC2使用,獨立於EC2之外,透過掛載的方式連接,速度比Amazon EC2 Instance Store慢,但資料可以永久保留不受到EC2影響,也可以透過snapshot快照來備份。一個EBS只會對應一個EC2 Instance,且存在於單個AZ。總共有下列四種類型:

  • General Purpose SSD :一般用途,能應付大部分的工作。
  • Provisioned IOPS SSD:高效能、低延遲、價格也相對高,適合重要的任務使用,像是密集型的資料庫工作。
  • Throughput Optimized HDD:價格較低的選擇,適合存取頻率高,資料量大的情境,像是大數據、資料倉儲與log處理。
  • Cold HDD:最便宜的選擇,適合不常使用的資料。
aws
aws

EBS Snapshots

EBS是單個AZ,透過備份Snapshot到S3,S3就是跨AZ的服務,就可以達到讓EBS有跨AZ被援的功能,或是要移動EBS到其他Region,可以透過移動snapshot的方式。可以設定Lifecycle Manager來定義snapshot的週期與存在的時間長短。

aws示意圖

Amzon Elastic File System (EFS)

EFS是一個簡單、Servless、高可用性、高擴展性的檔案儲存系統,可以搭配AWS運算服務(EC2、Lambda、ECS等等),支援同時數千個instance同時存取EFS。

是AWS全託管的服務,對於很少存取的檔案可以透過EFS Lifecycle management 轉換storage class,節省成本。

總結

S3是一種物件儲存服務。Amazon S3 透過可隨處存取的網際網路 API 來提供資料。適用於應用程式儲存資料或是託管靜態網頁,價格相對便宜。

EFS是一種檔案儲存服務,適合多個服務同時存取。

EBS是高效能Block儲存系統,跟EC2 Instance成對,讓EC2可以有低延遲的處理效能。

價格比較可參考下圖

EBS vs. EFS vs. S3

AWS Storage Gateway

Storage Gateway是AWS提供的雲地混合服務,能幫助使用者無痛轉換到雲端,節省儲存空間與成本。

  • Volume Gateway :iSCSi,有兩種模式, cached mode將資料寫入S3,常用的資料夾會保留本機快取,達到低延遲的效果;stored mode將資料留在本機,存取速度跟原本一樣,但增加非同步備份至AWS上。
  • File Gateway:NFS,將資料存放至S3。
  • Tap Gateway:雲端虛擬磁帶櫃 (VTL,virtual tape library),可以存檔至 Amazon S3 Glacier 或 Amazon S3 Glacier Deep Archive 裡面。
  • AWS Storage Gateway Hardware Appliance:可以透過硬體的形式安裝,適合沒有虛擬化資源的應用場景,關鍵字:no virtualized computing resources。

資料來源

--

--

RobertWang

好好學習,天天向上,期待大AI時代來臨