跳至內容

我要如何降低 Amazon S3 意外產生的高額成本?

3 分的閱讀內容
0

我 AWS 帳單上的 Amazon Simple Storage Service (Amazon S3) 使用量比預期的高。我想降低成本。

簡短描述

若要確定您產生的 Amazon S3 費用類型,請查看您目前的 Amazon S3 帳單和使用情況。您也可以使用 AWS 使用報告查看產生費用的 S3 儲存貯體。

根據使用類型,請使用下列方法來協助您了解帳單:

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

若要降低 Amazon S3 帳單成本,請執行下列動作。

刪除不完整的分段上傳

啟動分段上傳後,Amazon S3 即會保留所有的檔案上傳部分,直到您完成或結束分段上傳。如果您未完成分段上傳,Amazon S3 即會繼續儲存上傳的部分,並且您需要支付儲存費用。

當您執行 abort-multipart-upload AWS CLI 命令來結束分段上傳時,該命令會刪除未完成的上傳部分。但是,當您結束分段上傳時,其他工具可能會保留不完整上傳的部分。

若要刪除不完整的分段上傳,請使用下列最佳做法:

刪除物件的先前版本

**重要:**Amazon S3 無法還原您從儲存貯體刪除的資料。

如果您在儲存貯體上啟用了 S3 版本控制功能,那麼每個物件可能會有多個版本,這些版本都會增加您的儲存成本。

若要檢閱您的物件版本,請使用 Amazon S3 主控台或執行 ListObjectVersions API 呼叫。然後,刪除您不需要的物件版本

在啟用版本的儲存貯體中,您必須指定物件版本 ID 才能永久刪除物件版本。如果您對物件執行刪除請求,則 Amazon S3 會向該物件新增刪除標記。刪除標記會變成目前的物件版本,而物件則會變成上一個版本。但是,Amazon S3 不會刪除該物件及其版本。

若要管理物件版本,請執行下列動作:

檢閱儲存類別變更成本

當您將物件從一個儲存類別變更為另一個儲存類別時,可能會產生費用。

此外,AWS 還會對您在 S3 Glacier flexible Retrieval 和 S3 Glacier Deep Archive 中儲存的每個封存物件收取 40 KB 的額外中繼資料費用。依照 S3 標準費率向您收取 8 KB 的費用,依照 S3 Glacier Flexible Retrieval 或 S3 Deep Archive 費率向您收取 32 KB 的費用。

如需詳細資訊,請參閱使用 Amazon S3 生命週期轉換物件

最佳做法是將多個小型物件彙整成少量的大型物件,以減少開銷成本。

當您設定了將整個儲存貯體的物件轉換至另一個儲存類別的生命週期組態規則時,就會產生 Amazon S3 費用。若要確定生命週期規則是否導致成本增加,請查看 AWS CloudTrail 事件歷史記錄Amazon S3 伺服器存取日誌中的 PutBucketLifecycleConfiguration 呼叫。此外,請檢查 S3 生命週期動作的日誌。

為了最佳化儲存成本,最佳做法是使用 S3 Intelligent-Tiering 儲存類別,該儲存類別會根據您的存取需求自動移動資料。

您也可以使用 S3 儲存類別分析來判斷每個儲存類別中有多少資料。

**注意:**您必須為每個儲存貯體設定 S3 儲存類別分析。

檢閱您的資料擷取成本

您儲存在下列儲存類別中的物件會產生資料擷取成本:

  • S3 標準 – IA
  • S3 單區域-IA
  • S3 Glacier Flexible Retrieval
  • S3 Glacier Deep Archive 儲存類別

例如,您會從 S3 Glacier Flexible Retrieval 儲存類別中擷取 1,500 萬個物件。擷取總成本是以您選擇的大量擷取選項為基礎。

下列範例是標準擷取的成本:

  • 擷取請求為 15,000,000 / 1,000 * $0.05 = $750。
  • 擷取為 100,000 * $0.01 = $1,000。
  • 總成本為 $1,750。

下列範例是快速擷取的成本:

  • 擷取請求為 15,000,000 / 1,000 * $10 = $150,000。
  • 擷取為 100,000 * $0.03 = $3,000。
  • 總成本為 $153,000。

對於儲存在 S3 Glacier Flexible Retrieval 中的物件,大量截取不會產生費用。若要有助於監控不同的儲存請求和資料使用情況,請使用 S3 Storage Lens 儀表板

監控儲存貯體的請求

請使用下列方法來監控對儲存貯體的請求,並查看大量請求所產生的費用:

若要減少資料傳出費用的成本,您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體存取儲存貯體。Amazon EC2 執行個體必須位於 Amazon Virtual Private Cloud (Amazon VPC),其位置與儲存貯體的 AWS 區域相同。

查看儲存貯體大小的變化

若要比較儲存貯體的目前大小和先前的大小,請完成下列步驟:

  1. 開啟 Amazon S3 console (Amazon S3 主控台)。
  2. 選擇 Buckets (儲存貯體),然後選取您的儲存貯體。
  3. 選擇 Management (管理) 索引標籤。
  4. 選擇 Metrics (指標)。

或者,執行以下 ls AWS CLI 命令:

aws s3 ls --summarize --human-readable --recursive s3:///bucket-name

**注意:**將 bucket-name 替換為您儲存貯體的名稱。

輸出範例:

2021-10-07 21:32:57 452 Bytes foo/bar/car/petrol
2021-10-07 21:32:57 896 Bytes foo/bar/truck/diesel
2021-10-07 21:32:57 189 Bytes foo/bar/hybrid/battery
2021-10-07 21:32:57 398 Bytes vehicles.txt

Total Objects: 4
Total Size: 2.9 MiB

 您也可以使用 CloudWatch 來監控您的儲存指標。若要監控每日、每週及每月的儲存貯體大小變化,請使用 S3 Storage Lens。

檢閱個別儲存貯體的成本

若要識別哪個儲存貯體產生較高的成本,請在您的儲存貯體上啟用成本配置標籤。然後,使用 AWS Cost Explorer 檢查您的儲存貯體。如需詳細資訊,請參閱如何尋找 Amazon S3 儲存貯體的成本?

了解您的使用量與費用的關係

您的使用量報告會以每小時位元記錄儲存使用量,而您的帳單報告則以每月 GB (GB-months) 記錄儲存使用量。若要了解您的儲存使用量與儲存費用的關係,請將每小時位元轉換為每月 GB。若要查看範例轉換,請參閱 Amazon S3 常見問題集中的使用 Amazon S3 時如何收費和計費?

您可以從 AWS 帳單與成本管理儀表板下載 Amazon S3 使用量報告。或者,建立 S3 Storage Lens 儀表板以取得詳細的儲存空間和計費指標。

相關資訊

Amazon S3 定價

如何使用 Amazon Athena 來分析 Amazon S3 伺服器存取日誌?

AWS 官方已更新 7 個月前