S3 Storage Lensを使って不完全のアップロードを検出し、S3のコストを削減


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

AWS S3へ巨大なファイルをアップロードする際、より高速に転送するには「Multipart Uploads 」を利用することが推奨されています。

Multipart Uploadsは下記のように流れます。

  1. アップロードが開始
  2. オブジェクトパーツがアップロードされ
  3. すべてのオブジェクトパーツがアップロードされると、マルチパートのアップロードが完了

途中で、完了していないMultipart Uploadsはどうなりますか?

Multipart Uploads の完了リクエストが正常に送信されなかった場合、 S3 はパーツを組み立てず、オブジェクトを作成しません。したがって、パーツは Amazon S3 に残るため、Amazon S3 に保存されたパーツに対して料金が発生します。

これらのパーツは、パーツのアップロード時に指定されたストレージクラスに従って課金されます。

つまり、何らかの事情で、ファイルアップロードが中途半端な状態で終了してしまった場合、中途半端なデータが裏側で残り課金され続けるということのようです。

S3バケット内の不完全なマルチパートアップロードを手動で一覧表示できますか?

CLIで不完全なデータを確認

aws s3api list-multipart-uploads --bucket (バケット名)

確認結果

file

見づらいですね、複数のファイルのことを分かりましたが、トータルサイズなど直ぐわかりません。

「S3 Storage Lens」という機能はできます!!

Amazon S3 Storage Lensとは?

Amazon S3 Storage Lens は、使用状況とアクティビティのメトリクスを集約して、Amazon S3 コンソールページにあるアカウントスナップショットにこの情報を表示します。
S3 Storage Lens のダッシュボードを使用して、インサイトと傾向を可視化し、外れ値にフラグを付け、推奨事項を受け取って、ストレージコストの最適化とデータ保護のベストプラクティスの適用を行うことができます。

S3 Storage Lensを使用して、Multipart Uploadsを含むAWSアカウントとS3バケットを検出します。また、これらの不完全なMultipart Uploadsの結果として存在するデータの量を確認することもできます。

S3 Storage Lens のダッシュボード

AWSが既にデフォルトのダッシュボード「default-account-dashboard」を作成されています。
これを利用すれば、十分です。

やってみる

Amazon S3コンソールから「Storage Lens」の「ダッシュボード」をクリック
file

「default-account-dashboard」のダッシュボードを選択します。
デフォルトはログインしているAWSアカウント内全てS3の状況を表示されます。
file

一番下の[上位 N の概要]セクションまでスクロールして、
メトリックには、「未完了のMPUバイト数」を選択します。これは、マルチパートアップロードが不完全なスコープ内の合計バイト数を示しています。
file

③不完全なマルチパートアップロードバイトを含む上位バケットを表示されてます。

S3ライフサイクルを使って自動的削除されるよう

S3コンソールでバケットを選択した後、[管理]タブを選択します。ここでは、[ライフサイクルルールの作成]を選択します。
file

「delete-incomplete-mpu-7day」のライフサイクルルールに名前を付け
file

「期限切れの削除マーカーまたは不完全なマルチパートアップロードを削除する」にチェックすると
「不完全なマルチパートアップロードを削除」にチェックし、日数に「7」を入力すれば完了です。
file

ライフサイクルルールの作成とステータスの確認
file

最後に

この記事は、S3 Storage Lensを使用して不完全なMultipart Uploadsを含むS3バケットを検出し、S3ライフサイクルを使用してS3バケットの1つで不完全なMultipart Uploadsを自動的に中止しました。
どなたかの参考になれば幸いです〜。

参照

https://aws.amazon.com/jp/blogs/aws-cloud-financial-management/discovering-and-deleting-incomplete-multipart-uploads-to-lower-amazon-s3-costs/
https://aws.amazon.com/jp/blogs/aws/s3-storage-lens/
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/storage_lens.html

Last modified: 2024-02-07

Author