使用OSS時,您可以根據業務數據的變化合理規劃存儲類型、利用預付費與后付費策略等方式有效降低使用成本。
注意事項
確認Bucket容量增長是否符合預期
通過Bucket存儲數據時,將根據數據的存儲容量以及存儲類型收取對應的存儲費用。您可以通過定期查詢賬號級別的OSS用量情況,導出CSV用量明細表,查看當前賬號下各個Bucket對應的存儲容量數據,以此判斷存儲容量增長是否符合預期。具體步驟,請參見查詢賬號級別的用量情況。
如果存儲容量增長異常,可以考慮采用修改ACL為私有權限、配置Bucket Policy等方式,避免其他用戶以未授權的方式對OSS資源進行各類操作,例如上傳大量不符合預期的Object引起存儲容量突增、惡意訪問Object引起大額的外網流出流量費用等。更多信息,請參見降低因賬號密碼泄露帶來的未授權訪問風險。
通過轉換存儲類型降低存儲成本
轉換存儲類型前
用戶A在OSS某個Bucket內以標準存儲-本地冗余類型存儲了100 TB的數據。當訪問不同比例的數據時,該用戶的每月成本說明如下:
存儲類型 | 數據總量 | 存儲費用(0.12 元/GB/月) | 數據訪問比例 | 外網流出流量費用(08:00 - 24:00(忙時)(0.50 元/GB) | 數據取回容量費用 | 總費用 |
標準存儲-本地冗余 | 100 TB | 12,288 | 10% | 5,120 | 0 | 17,408 |
50% | 25,600 | 0 | 37,888 | |||
100% | 51,200 | 0 | 63,488 |
假設以上案例中Bucket內的數據平均每月的訪問頻率為1到2次,且要求數據可以實時訪問。基于以上分析,考慮將存儲類型由標準轉為低頻訪問。
轉換存儲類型后
從下表可以看出:
如果每月訪問10%的數據,使用低頻訪問存儲相比標準存儲可以節省約22%的費用。
如果每月訪問50%的數據,使用低頻訪問存儲相比標準存儲可以節省約6%的費用。
如果每月訪問100%的數據,使用低頻訪問存儲相比標準存儲節省約1%的費用
存儲類型 | 數據總量 | 存儲費用(0.08 元/GB/月) | 數據訪問比例 | 外網流出流量費用(08:00 - 24:00(忙時))(0.50 元/GB) | 數據取回容量費用(0.0325 元/GB) | 總費用 |
低頻訪問-本地冗余 | 100 TB | 8,192 | 10% | 5,120 | 332 | 13,644 |
50% | 25,600 | 1,664 | 35,456 | |||
100% | 51,200 | 3,328 | 62,720 |
建議動作
參考以下生命周期規則配置,實現Bucket內的所有數據在距離其最后一次訪問時間30天后,存儲類型由標準轉換為低頻訪問。具體步驟,請參見基于最后一次訪問時間的生命周期規則。
假設該Bucket內存儲了1,000萬個文件,通過生命周期從標準轉為低頻訪問類型時,產生的Put類請求費用為10,000,000次×0.01元/萬次÷10000=10元。
通過資源包的方式降低使用成本
購買資源包前
請參考以上案例,獲取未購買資源包前的使用成本。
購買資源包后
結合以上案例,可以考慮購買低頻-本地冗余存儲包以及下行流量包抵扣相關計費項,不支持通過資源包抵扣的計費項使用按量付費的方式。
通過低頻-本地冗余存儲包抵扣低頻訪問-本地冗余容量費用
您可以通過購買規格為100 TB,購買時長為1個月的低頻-本地冗余存儲包用于抵扣低頻訪問-本地冗余存儲容量費用。
通過下行流量包抵扣外網流出流量費用
根據數據訪問比例對應購買10 TB、50 TB以及100 TB的下行流量包,用于抵扣通過外網訪問不同比例數據產生的外網流出流量費用。
低頻訪問-本地冗余數據取回容量僅支持按量付費,不支持通過資源包抵扣。
結合使用資源包后,費用匯總如下:
存儲類型 | 數據總量 | 低頻 - 本地冗余存儲包費用 | 數據訪問比例 | 下行流量包費用 | 數據取回容量費用 | 總費用 |
低頻訪問-本地冗余 | 100 TB | 7,370 | 10% | 4,874 | 332 | 12,576 |
50% | 24,371 | 1,664 | 33,405 | |||
100% | 43,008 | 3,328 | 53,706 |
從上表對比可以看出:
如果每月訪問10%的數據,使用資源包+按量付費的模式比僅使用按量付費可以節省約8%的費用。
如果每月訪問50%的數據,使用資源包+按量付費的模式比僅使用按量付費可以節省約6%的費用。
如果每月訪問100%的數據,使用資源包+按量付費的模式比僅使用按量付費可以節省約14%的費用。
建議動作
購買低頻-本地冗余存儲包以及下行流量包。具體操作,請參見資源包購買指南。
通過刪除不再需要保留的文件降低存儲成本
結合以上案例得知,Bucket內存儲的1,000萬個文件以低頻訪問類型存儲一段時間后,根據業務使用場景可能有40%數量的文件不再需要保留。您可以遵照以下說明刪除這部分文件。
確保要刪除的文件以低頻訪問類型存儲的時間要求至少30天,原因是不足30天的低頻訪問數據提前刪除涉及不足規定時間存儲容量費用。關于如何查看Object的LastModifiedTime,請參見ls(列舉賬號級別下的資源)。
刪除40%的低頻訪問文件。
如果刪除的文件有一定的規律,例如需要刪除的文件均滿足其LastModifiedTime在某個指定日期或指定天數之前,或者擁有相同前綴。建議配置生命周期規則實現自動批量刪除。具體操作,請參見基于最后一次修改時間的生命周期規則。
如果要刪除的文件其LastModifiedTime時間分散,并且沒有相同前綴。建議逐一調用DeleteObject手動刪除文件。具體操作,請參見刪除文件。
結合以上案例得知,通過生命周期自動刪除或者調用DeleteObject手動刪除40%數量的低頻訪問類型Object時,按Object被刪除時的存儲類型(即低頻訪問類型)收取Put類請求費用。產生的Put類請求費用為10,000,000次×40%×0.1元/萬次÷10000=40元。
重要Object刪除后無法恢復,請謹慎操作。
刪除后,不再產生費用。
清理歷史版本Object
Bucket開啟版本控制后,針對數據的覆蓋和刪除操作將會以歷史版本的形式保存下來。當Bucket累積了大量的歷史版本時,您可以結合生命周期規則刪除不必要的歷史版本,從而減少存儲成本。配置示例如下:
通過以上配置示例,OSS將自動刪除距離最后一次修改時間超過200天的歷史版本Object。具體步驟,請參見基于最后一次修改時間的生命周期規則。
清理過期碎片
分片上傳通過將待上傳的大文件(超過5 GB)分成多個較小的碎片(Part),充分利用網絡帶寬和服務器資源并發上傳多個Part,加快上傳完成時間,并在Part上傳完成之后調用CompleteMultipartUpload接口將這些Part組合成一個完整的Object。如果未調用CompleteMultipartUpload接口合并這些Part,這些Part將長期存儲在Bucket中,占用存儲容量,并產生存儲費用。建議您配置生命周期規則,達到指定天數或者指定日期時自動刪除碎片。配置示例如下:
通過以上配置示例,OSS將自動刪除生成時間早于2天的碎片。具體步驟,請參見基于最后一次修改時間的生命周期規則。
降低Bucket擁有者的外網流出流量和數據取回容量費用
假設Bucket擁有者授權其他用戶以外網的方式訪問該Bucket中的數據,并且希望通過請求者,而不是Bucket擁有者支付外網流出流量以及讀取低頻訪問類型數據的容量費用時,可以開啟請求者付費模式。具體操作,請參見開啟請求者付費模式。
下行流量包不支持抵扣開啟請求者付費模式后,請求者通過互聯網從OSS傳輸到客戶端產生的外網流出流量費用。通過請求者付費產生的外網流量僅支持按量付費。