如同軟體需要硬體,資料分析的基石就是資料儲存。在處理的過程中,資料(data)需要在長期或暫時性的儲存地之間轉換才能順利且有效得被處理。隨著軟硬體科技的進步,各種數據都能被記錄下來;當數據量超過了既有基礎建設所能承載,使用者就會遇到「容量」的問題。
AWS 服務中最廣為人知的大概就是 Simple Storage Service(S3) 分散式雲端儲存服務。
S3可以存放無上限的資料量,單一物件上限5TB,每個物件有唯一的識別金鑰。因為S3幾乎甚麼檔案都能存的特性,它很好的解決了許多應用場景,也是很多人上雲的第一步,好比很多人在Google雲端服務中最常使用Google雲端硬碟。
使用前先認識基本元件幫助上手:
Buckets: 儲存貯體,存放物件Objects的容器,可以做為存取控制單位也可以用來識別用量與傳輸費用。
Objects: 上傳後的檔案會是一個物件,物件由物件資料與中繼資料組成,有唯一的識別金鑰。
Keys: 每個物件有唯一的金鑰可以定址。唯一的識別金鑰由Bucket、金鑰和版本 ID組成。
Versioning: 版本控制,有版本ID,可以還原檔案。
Regions: 目前有25個區域*,選擇靠近服務目標地可以減少延遲。
實作上傳檔案:
欲建立Bucket可以點選於右側的橘色”建立儲存貯體”按鍵,即出現以下畫面:
依序選填:
Bucket名稱
選定要建立的區域
預設封鎖公開存儲: 預設封鎖,如果有下載需求可調整
版本控制: 預設停用,如果更新後會有還原需求得(例如網頁)可以開啟。
標籤: 選用,但如果是有專案或權限等追蹤需求可以加上。
加密: 預設停用,如果重要資料可使用 Amazon S3 受管金鑰 (SSE-S3)於伺服器端加密或可使用儲存於AWS Key Management Service (AWS KMS) (SSE-KMS) 的 AWS KMS keys,但須注意後者會有額外成本。
以上基本設定完成即可建立bucket。
值得一提的功能是「生命週期管理」:
生命週期*是指檔案存在在S3不同儲存方案的週期,適當的安排可以更有效的做到成本控制。
在上傳檔案時可以選定要上到哪一種儲存體,不同儲存體有不同的對應方案。
回到bucket層,在bucket-level也可以在管理分頁找到可以處理批量檔案的”生命週期管理”
*區域: ( https://aws.amazon.com/tw/about-aws/global-infrastructure/regions_az/?p=ngi&loc=2 )
*生命週期分層( https://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html )