awscliによるS3バケットの利用容量取得

仕事で、S3のバケットごとの利用容量取得を行う必要があったので、その備忘。
スクリプトをわざわざ作るのは面倒だったので、とりあえず以下のコマンドで取得した。

Sponsored Links

aws s3 ls | awk '{print $3}' | xargs -I{} sh -c 'echo {}:$(aws s3 ls s3://{} --recursive --human-readable --summarize | awk -F: "/Size:/{print \$2}")'

 

ただまぁ…合計の容量だけほしいんだけど、全部舐めてから出力されるから、時間がかかる。
もうちょっと、パパッと取得する方法ないもんかなぁ…。

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 2 comments

  1. 匿名 Reply

    CloudWatch に S3 バケットの下記メトリクスがあります。

    ・BucketSizeBytes
    ・NumberOfObjects

    下記コマンドで S3 バケットの使用量(最新情報)を取得できます。

    aws cloudwatch get-metric-statistics \
    –namespace AWS/S3 \
    –metric-name BucketSizeBytes \
    –dimensions Name=BucketName,Value=${BUCKET_NAME} Name=StorageType,Value=StandardStorage \
    –start-time $(date –utc –iso-8601=seconds –date -1day) \
    –end-time $(date –utc –iso-8601=seconds) \
    –period 86400 \
    –statistics Sum \
    –query Datapoints[].Sum \
    –output text

Leave a Comment

メールアドレスが公開されることはありません。

*