實作Cloud Storage 儲存空間級別、生命週期管理、物件版本 ...

文章推薦指數: 80 %
投票人數:10人

Storage Class 功能可以幫助您依照資料的存取頻率,以及使用效能需求,對您的值區物件套用不同的儲存級別。

以下是Google Cloud 的4個不同的儲存級別:. Skiptocontent Postauthor:MKT Postpublished:2020-07-23 Postcategory:GoogleCloudPlatform(GCP)/資料庫 Postcomments:0Comments 儲存空間級別、生命週期管理、物件版本管理功能以及節省預算 文章段落 一、儲存空間級別(StorageClass)如何設定儲存級別修改值區預設儲存級別二、物件的生命週期(Lifecycle)設定Lifecycle生命週期條件物件生命週期行為三、物件版本管理(ObjectVersioning)非當前版本(noncurrentversion)非當前版本物件的儲存費用版本管理的設定方式查看值區中的物件版本清單關閉版本控管功能 在GCP的眾多服務當中,CloudStorage是我們常會使用的儲存服務.不管是用來當作數據分析的資料存放空間,或者是儲存長期備份檔,作為影音傳遞服務的檔案儲存空間等等,CloudStorage是我們在數據當道的時代,扮演著重要的角色。

因此,今天的文章裡,筆者想為各位介紹三個CloudStorage功能,並搭配實作教學進一步整合這些功能,使您可以依照個人使用需求,做到更完善的儲存空間規劃。

在這篇文章裡面,您將會了解到: CloudStorage的儲存空間級別介紹及設定CloudStorage的生命週期管理功能設定物件版本管理功能的介紹和操作 接著就讓我們一起進入今天的主題吧! 一、儲存空間級別(StorageClass) StorageClass功能可以幫助您依照資料的存取頻率,以及使用效能需求,對您的值區物件套用不同的儲存級別。

以下是GoogleCloud的4個不同的儲存級別: 以下表格可以讓您了解四者之間的差異: StandardNearlineColdlineArchive特性已針對效能完成最佳化調整,適合存放時間短的資料,或者是經常存取的資料。

具備高耐久性,費用相較Standard低,存取速度快,適用於平均一個月存取不到一次的資料。

也具備高耐久性,資料可高速存取,費用在四個儲存等級中是次低的,不過存放資料的選擇上,更適合平均一季(90天)存取不到一次的資料。

適用於儲存一年存取不到一次的檔案。

如果有封存備份的需求,您可以選擇Archive等級來封存您的資料。

儲存在單一區域費用(Aais-east1)0.02/GB(USD)0.01/GB(USD)0.005/GB(USD)0.0015/GB(USD)最短儲存時間無30天90天365天資料取出費用free0.01/GB(USD)0.02/GB(USD)0.05/GB(USD) 在以上表格中,我們會發現,最短儲存時間越長,儲存資料的費用就越便宜,這是因為儲存等級本來就是依據不同的儲存檔案需求去設計。

比方說: 「如果我想要在CloudStorage上面做檔案的備份,而這些檔案可能是每三個月會被拿出來查看的資料」 這一類的檔案就適合將儲存等級設定成Coldline,以節省儲存費用。

但要留意的是,這些具有最短儲存時間限制的資料,都會酌收資料取出費。

而且,如果你在最短儲存時間內移動或是刪除Nearline、Coldline跟Archive的物件,還要額外收取提前刪除費用,所以在上傳檔案到CloudStorage前,最好先考慮好儲存檔案本身的存取頻率,再決定他們適合的儲存等級。

如何設定儲存級別 參照該步驟,我們可以在新建值區(Bucket)的時候,完成儲存級別設定: 按下GCS選單中的CREATEBUCKET,新增一個新的值區(如下圖): 在值區的命名規則中,Google的說明文件告訴我們:每個值區的名字都會在CloudStorage當中佔據一個命名空間,換句話說,每個值區的命名都必須是全球獨一無二的。

如果你想取的值區名稱已存在,CloudStorage會報錯通知(如下圖顯示)。

其他關於值區命名的規則,可以參考GCP的官方文件。

2.選擇儲存級別: 在設定儲存等級時,我們只要在CREATEBUCKET的第三個步驟Chooseadefaultstorageclassforyourdata,點擊我們需要的級別,再按下CONTINUE儲存級別設定的動作,完成其他選單上的步驟後,按下CREATE,新值區就會按照您所選擇的儲存等級套用設定到新產生的物件上。

修改值區預設儲存級別 以下是修改值區預設儲存級別的範例,請注意,這項修改只會對修改設定後放入值區的資料生效,原先在值區內的物件儲存級別並不會更動。

以下是設定步驟: 在CloudStorage介面找到欲變更儲存等級的值區名稱:在CloudStorage的值區清單裡面,選取欲變更的值區;接著在Bucketdetails裡面,找到EDITBUCKET,並點擊它。

(如下圖) 2.Defaultstorageclass:進入編輯值區的畫面(如下圖)以後,我們在Defaultstorageclass裡面,重新點選想要變更的等級,再按下藍色Save鍵,值區預設儲存等級修改就完成了。

了解以上設定後,我們可以知道,在不同的儲存條件下,我們可以透過更改StorageClass來降低物件儲存的費用,但如果都需要透過手動去進行變更,那恐怕有點麻煩,所以接下來,我們來看看Lifecycle可以幫我們做點什麼。

二、物件的生命週期(Lifecycle) 簡單來說,Lifecycle的概念就是:透過設定生命條件(生命週期條件)去觸發刪除檔案的作業,或是改用價格較低廉的儲存等級來保存物件(CloudStorage稱之為物件生命週期行為)。

回應在上個段落提到的問題,當我希望CloudStorage可以幫我自動管理我的物件級別,我就可以設定以下生命收期條件: 「我要在檔案新增三個月後,將值區內所有Coldline儲存級別的物件降級到Archive級別。

」 不過,設定的方式當然不是透過輸入中文語句來完成,實際操作方式,請看以下範例: 設定Lifecycle 生命週期的設定可以分為兩個部分: A.生命週期條件 B.物件生命週期行為 當A.的條件滿足,就會觸發B.行為,以下是一個實作的範例: 開啟值區(Bucket)圖形介面選單 2.在BucketLock,點選Addlifecyclerule的按鈕 3.SelectobjectconditionsandSelectaction,設定生命週期條件以及物件生命週期行為: 點開Addlifecyclerule以後會看到下圖的設定選單。

我在設定選單中的區塊1SelectObjectConditions設定Age50days當作生命週期條件,接著,我再從區塊2SelectAction物件生命週期中選擇Delete。

完成這個設定以後就表示: 「當有物件被上傳到這個值區滿50天,物件就會被自動刪除。

」 *貼心提醒,設定好生命週期,最晚要過24小時以後才會生效喔! 以下我們再繼續細看其他Lifecycle的設定: 生命週期條件 CloudStorage的生命週期條件,可分為以下五項,您可以在設定時選擇一到多個生命週中條件作為觸發條件: a.Age:存在的時間。

從物件產生的日期起算,滿了設定的天數後執行物件生命週期行為。

b.CreatedBefore:所有在這個您設定的日期或是在這個日期之前的物件,都會觸發物件生命週期行為。

c.MatchesStorageClass:設定所有我所選取的儲存等級作為觸發條件,執行物件生命週期行為。

d.NumberofNewVersion:只有開啟物件版本功能,該條件才會觸發。

輸入一個版本數字,條件就會套用在這個數字以上的版本,觸發物件生命週期行為。

e.IsLive:只有開啟物件版本功能,該條件才會觸發。

如果選noncurrent,所有非當前版本的物件就會被套用上這個條件;選擇Live,所有當前的版本就會被套用到這個選取條件,觸發物件生命週期行為。

物件生命週期行為 CloudStorage的物件生命週期行為,分為以下兩種,使用者只能選擇一個行為來執行: Delete:刪除達成生命週期條件的物件。

SetStorageClass:調整達成生命週期條件的物件成為指定的儲存級別:CloudStorage的設定中,提供的級別選項有三個,分別是:Nearline、Coldline跟Archive。

以上就是物件生命週期的介紹,剛剛我們在說明生命週期條件的介紹時,我們再下個段落會做詳細的介紹。

三、物件版本管理(ObjectVersioning) CloudStorage預設您的物件在遇到覆寫檔案的情況時,原先相同名稱的物件會被刪除,並且由新的檔案取而代之。

您可以透過開啟ObjectVersioning的功能,保留同名但是不同版本的物件,使它們並存在您的CloudStorage值區當中。

非當前版本(noncurrentversion) 相對於當前使用者在值區內的圖形化清單中可以看到的物件,也就是當前版本(liveversion),已經被刪覆寫或是刪除的物件版本,就成為了非當前版本。

為了辨識每個版本,每個物件版本還會有自己所屬的編號,被稱作generationnumber,當新的版本被上傳到值區時,它就會取代舊的同名物件成為新的當前版本;此時,CloudStorage也會為它產生一個新的generationnumber。

generationnumber就像身分證一樣,會綁定該物件直到它從CloudStorage上面被移除。

非當前版本物件的儲存費用 非當前版本(noncurrentversion)所產生的費用,跟現有值區當中的物件儲存費用相同。

以儲存在asia-east1的資料為例,如果你的值區裡面有1GB的非當前版本物件,當前版本的儲存等級為Standard時。

每個月就會產生0.02美金的費用。

版本管理的設定方式 您可以透過GCP的gsutil指令,撰寫Java或是C++程式,以及JSONAPI、XML等方式來開啟功能。

以下我們利用gsutil指令當作範例,在GCPCloudShell上執行開啟功能: 確認我們的值區(Bucket)名稱:版本管理的功能會套用在一整個值區,開啟設定以後,每當目前值區中介面顯示的物件被刪除或是複寫時,GCS就會自動產生非同步版本(noncurrentversion)開啟GCPCloudShell:在控制台右上方找到一個方形中有>_的按鍵,點選他開啟GCPCloudShell。

CloudShell是GCP一台免費的虛擬主機,我們可以透過它來操作GCP上面的服務。

3.輸入啟動版本控制指令: gsutilversioningsetongs://[BUCKET_NAME] 說明:BUCKET_NAME的欄位中,請輸入您想要開啟功能的值區名稱。

如果成功開啟版本控管,會看到CloudShell回覆截圖中的訊息:Enableversioningforgs://[您所輸入的值區名稱],如下圖所示: 查看值區中的物件版本清單 因為在設定好的值區圖形化介面裡,GCS不會自動將非當前版本的物件顯示出來,所以我們要透過指令,來列出清單中所有物件的版本。

在CloudShell輸入以下指令可以列出值區中的物件版本: gsutills-ags://[BUCKET_NAME] 而回傳的物件版本,會以物件名稱,加上一個編號(一個自動產生的序號,識別物件的版本) 回傳範例: gs://seminar-and-workshop/1.png#1592269813137298 gs://seminar-and-workshop/2020-03-25.png#1594371629190591 關閉版本控管功能 最後,如果想要關閉值區的版本控管功能,您可以在CloudShell輸入以下指令: gsutilversioningsetoffgs://[BUCKET_NAME] 當然,版本管理可以幫助我們在資料遺失時有個保險,不過當資料量累積的越來越多,費用也是會相當可觀的。

所以,如果能套用我們分享的物件生命週期功能,就可以讓我們節省儲存物件的費用;回顧這篇文章的內容,您可以透過進一步的功能設定,來幫助自己在使用CloudStorage時,節省多餘的開支,利用版本控管功能,可以救回遭到複寫或是刪除的檔案。

以上就是今天的內容,其他關於CloudStorage的功能跟妙招,我們有機會再繼續分享。

如果有需要專案開發、技術支援,歡迎填寫聯繫表單與我們聯繫! Tags:CloudStorage,儲存空間級別,物件版本管理功能,生命週期管理,節省預算 Readmorearticles PreviousPost一年一度的GoogleCloudNext大會免費線上參加攻略!NextPostCloudSQL的承諾使用折扣CommittedUseDiscounts YouMightAlsoLike Google的日語機器學習API!! 2019-04-16 機器學習前線!我開始使用GoogleCLOUDMACHINELEARNINGENGINE! 2019-04-15 CLOUDMACHINELEARNINGENGINE簡介(第2部分) 2019-04-09 發佈留言取消回覆CommentEnteryournameorusernametocomment Enteryouremailaddresstocomment EnteryourwebsiteURL(optional) CloudAce—免費研討會想快速瞭解GCP嗎? 現在就報名研討會免費了解吧! 每月固定舉辦,由專業講師親自講解, 特設Q&A環節,現場回答您所有疑問。

每場研討會名額有限, 快來一同進修吧! 掌握最新研討會資訊 近期文章 比SSH連線GCE更好管理!輕鬆以OSLogin掌握用戶資訊 雲端遷移AWS至GCP,MigrateforComputeEngine實作教學 GCP費用計算盲點破解,快速健檢你的GCP免費方案與承諾折扣 AD帳號登入GCP方法攻略!運用ADFS作為GCP外部身分認證 AD帳號登入GCP方法攻略!用CloudIdentity與GCDS/PS移轉帳號資料 文章分類 AI與機器學習(12) GoogleCloudPlatform(GCP)(38) GoogleWorkspace(4) Networking(3) 大數據分析(14) 虛擬機器(VM)(20) 資安與帳號管理(19) 資料庫(6) 進一步認識GCP聯繫我們



請為這篇文章評分?