AWS SAA系列
AWS Storage part 1
S3、EBS、EFS、Storage Gateway
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。
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直接操作。
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:最便宜的選擇,適合不常使用的資料。
EBS Snapshots
EBS是單個AZ,透過備份Snapshot到S3,S3就是跨AZ的服務,就可以達到讓EBS有跨AZ被援的功能,或是要移動EBS到其他Region,可以透過移動snapshot的方式。可以設定Lifecycle Manager來定義snapshot的週期與存在的時間長短。
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可以有低延遲的處理效能。
價格比較可參考下圖
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。
資料來源
- Data Cloud and software architecture
- aws doc
- Chameera Dulanga
- Storage Gateway FAQs
- aws(Amazon S3 Glacier)
- aws(Amazon Athena)