Amazon S3 コンソール、CloudWatch、S3 Storage Lens の間でストレージとサイズのメトリックスに違いがあるのはなぜですか?
Amazon Simple Storage Service (Amazon S3) コンソールの「合計サイズを計算」、Amazon CloudWatch の 1 日あたりのバケットストレージ、Amazon S3 Storage Lensの「合計ストレージ」を比較しています。これらのメトリクスに相違があるようです。
簡単な説明
この不一致が見つかった場合は、次の条件を確認してください。
- オブジェクトのバージョニングをオンにしました。
**注:**Amazon S3 のオブジェクトのバージョニング機能は、バケット内のオブジェクトの複数のバージョンを保持します。デフォルトでは、Amazon S3 オブジェクトバージョニングはバケットでオフになっているため、この機能を明示的にオンにする必要があります。 - 不完全なマルチパートアップロードが存在します。
**注:**不完全なマルチパートアップロードは Amazon S3 コンソールには表示されませんが、CloudWatch と Storage Lens メトリクスではストレージの一部として計算されます。
レポートの不一致の原因を特定するには、オブジェクトバージョニングを有効にしているかどうかを確認してください。また、バケットにマルチパートアップロードがないか確認してください。これら 2 つの要因により、CloudWatch で計算されるバケットサイズと S3 Storage Lens の合計ストレージメトリクスの値が増加する可能性があります。Amazon S3 コンソールでオブジェクトの合計サイズを計算する場合、これらの要素は当てはまりません。詳細については、「CloudWatch のバケットの Amazon S3 デイリーストレージメトリックス」を参照してください。
**ヒント:**Amazon S3 に不完全なマルチパートアップロードがある場合は、ライフサイクル設定ルールの作成を検討してください。このライフサイクル設定ルールは、不完全なパーツを自動的にクリーンアップし、データストレージのコストを削減します。ライフサイクルルールは非同期で動作するため、操作に遅延が生じる可能性があることに注意してください。ただし、オブジェクトに削除のマークが付けられると、(オブジェクトがまだ削除されていなくても)ストレージ料金は請求されなくなります。
Amazon S3 モニタリングメトリクスは 1 日に 1 回記録されることに注意してください。そのため、これらの指標には最新の情報が表示されない場合があります。ただし、CloudWatch は AWS リソースとアプリケーションをリアルタイムで監視します。また、S3 コンソールとストレージレンズはストレージメトリクスを報告するために基数 2 の変換 (/1024) を使用し、CloudWatch はデフォルトで基数 10 の変換 (/1000) を使用します。
解決策
CloudWatch のデイリーストレージメトリクス
CloudWatch では、BucketSizeBytes メトリクスが Amazon S3 と Amazon S3 Glacier のすべてのストレージタイプ、オブジェクトバージョン、および不完全なマルチパートアップロードをキャプチャします。この値は、すべてのオブジェクトサイズ、バケット内のメタデータ (現在のオブジェクトと以前のオブジェクトの両方)、および未完了のマルチパートアップロードサイズを合計して計算されます。たとえば、BucketSizeBytes メトリクスは、以下のすべてのオブジェクトストレージクラスの Amazon S3 バケットに保存されるデータ量 (バイト単位) を計算します。
- S3 Standard
- S3 Intelligent-Tiering
- S3 Standard-IA
- S3 One Zone-IA
- S3 Reduced Redundancy Storage
- S3 Glacier Deep Archive
- S3 Glacier Flexible Retrieval
- S3 Glacier Instant Retrieval
CloudWatch のNumberOfObjects では、バケット内の以下の値がカウントされます。
- すべてのストレージクラスのオブジェクトの総数。バージョニングが設定されているバケットの場合、これには現在のオブジェクトバージョンと以前のオブジェクトバージョンの両方と、削除マーカーが含まれます。
- 不完全なマルチパートアップロードのパートの総数
たとえば、同じオブジェクトに 2 つのバージョンがある場合、その 2 つのバージョンは 2 つの別々のオブジェクトとしてカウントされます。
S3 Storage Lens ダッシュボードの「合計ストレージ」メトリクス
合計ストレージメトリクスは、S3 Storage Lens ダッシュボードの [バケット] タブで確認できます。このメトリックは、不完全なマルチパートアップロード、オブジェクトメタデータ、削除マーカーを含むストレージの合計をキャプチャします。最新でないバージョン、不完全なマルチパートアップロード、または削除マーカーによって占められている容量の正確な構成を確認するには、個々のメトリクスを確認してください。
- 現在のバージョンのバイト数
- 最新バージョン以外のバイト数
- マルチパートアップロードバイトが不完全です
これらのメトリクスは AWS 無料利用枠で利用できます。
また、オブジェクト数メトリクスには、最新バージョンと以前のバージョン、削除マーカー、および未完了のマルチパートアップロードオブジェクト数に関する情報が含まれます。詳細なレベル情報については、メトリクスを確認してください。
- 現行バージョンのオブジェクト数
- 以前のバージョンのオブジェクト数
- マーカーオブジェクト数を削除
- 不完全なマルチパートアップロードオブジェクト数。
詳細については、Amazon S3 Storage Lens メトリクス用語集 を参照してください。
Amazon S3 コンソールの「合計サイズの計算」
Amazon S3 コンソールからバケットのサイズを計算するには、合計サイズの計算アクションを使用できます。次に Amazon S3 はバケットのストレージサイズを計算します。ただし、マルチパートアップロード、および以前のバージョンまたは最新以外のバージョンは合計バケットサイズには含まれないことに注意してください。Amazon S3 は、バケットに保存されている各オブジェクトの現行バージョンまたは最新バージョンのオブジェクトの合計数のみを計算します。たとえば、バケットにオブジェクトのバージョンが 2 つある場合、Amazon S3 のストレージ計算ツールはそれらを 1 つのオブジェクトとしてのみカウントします。その結果、Amazon S3 コンソールが計算する数は CloudWatch が報告する数よりも小さくなります。
不完全なマルチパートアップロード
不完全なマルチパートアップロードによって占められているサイズを確認するには、S3 Storage Lens ダッシュボードの [バケット] タブにある [不完全なマルチパートアップロードのバイト数] メトリックを確認します。
不完全なマルチパートアップロードのリストを確認するには、list-multipart uploads コマンドを実行します。
aws s3api list-multipart-uploads --bucket BUCKET_EXAMPLE
**注:****BUCKET\ _EXAMPLE ** を自分のバケット名に置き換えてください。
次に、list-parts コマンドと uploadID 値を使用して、マルチパートアップロードに含まれるすべてのオブジェクトを一覧表示します。
aws s3api list-parts --bucket BUCKET_EXAMPLE --key large_test_file --upload-id EXAMPLE_VALUE
**注:**BUCKET_EXAMPLE を自分のバケット名に、EXAMPLE_VALUEを UploadId の値に置き換えてください。
ライフサイクルルールの作成
マルチパートアップロードを自動的に削除するには、ライフサイクル設定ルールを作成しますします。
- Amazon S3 コンソールを開きます。
- [管理] タブを選択します。
- [新しいポリシーの作成] を選択します。
- ポリシーの名前を追加します。
- 選択-期限切れの削除マーカーまたは不完全なマルチパートアップロードを削除を選択します。
- (オプション) バケットがバージョニングされていない場合は、[不完全なマルチパートアップロードを削除]を選択します。
オブジェクトバージョニング
Amazon S3 バケットのさまざまなバージョンのオブジェクトを確認および監査するには、Amazon S3 インベントリリストを使用してください。Amazon S3 インベントリリストファイルには、ソースバケット内のオブジェクトのリストと各オブジェクトのメタデータが含まれています。インベントリリストファイルには、バケット名、オブジェクトサイズ、ストレージクラス、バージョン ID などのメタデータ情報がキャプチャされます。現在のバージョンと以前のバージョンが占めるサイズを計算するには、S3 Storage Lens ダッシュボードのメトリクス (現在のバージョンのバイト数と**以前のバージョンのバイト数)**をそれぞれ確認します。
関連情報
関連するコンテンツ
- 質問済み 8ヶ月前lg...
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前