【新機能】S3のファイル数とバケットサイズがCloudWatchに追加されました

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

ども、大瀧です。
本日未明にS3の機能追加があり、ファイル数とバケットサイズがCloudWatchに追加されました!もう一つのアップデートであるS3 Event NotificationのDeleteイベント追加は以下のエントリーをご覧ください。

従来、S3バケットに保存しているファイルの数やバケットサイズは、個別にS3:Get*のAPIを呼び出して情報を取得する必要があり、特にサイズはファイル1つ1つのプロパティを見る方法しかありませんでした。今回のアップデートにより、AWS標準の監視サービスであるCloudWatchのメトリックス(監視項目)としてファイル数とファイルサイズの合計が取得できるようになりました。

設定方法

既定でS3の下記メトリクスがCloudWatchで取得されています。既存のS3バケットも対象です。

  • NumberOfObjects (オブジェクト数)
  • BucketSizeBytes (オブジェクトの合計バイト数)

メトリックスの取得が1日1回の周期という点に注意しましょう。手元で確認する限りでは、UTCの午前0:00頃にPutされるようです。

また、メトリックスはバケット単位なので、全バケットの集計をしたい場合は、スクリプトなどでの集計対応が必要です。

動作確認

CloudWatchの管理画面の[メトリックス]から[S3]をクリックすると、S3のメトリックス一覧が表示されます。

s3-cloudwatch

BucketSizeBytesはストレージクラスごとに項目が分かれていることに注意しましょう。RRS(Reduced Redundancy Storage)は通常(Standard)と別メトリックスになります。また、ライフサイクルポリシーでGlacierへの待避設定を有効にしている場合、Glacierに待避済みのオブジェクトは集計対象に含まれません。

CloudWatchのアラームをメトリックス毎に設定することもできますので、S3の使い過ぎを防止する目的で利用するのもよいかもしれません。

まとめ

S3の新機能、ファイル数とサイズのCloudWatchメトリクスについてご紹介しました。特別な設定なしに最初から使える機能ですので、ぜひ積極的に利用していきましょう!

参考URL