目次
1. はじめに
ELBのログを確認したときに、S3にしこたま圧縮格納されているオブジェクトを見て、これどのくらいのオブジェクトあってどのくらいの容量なのかなぁとAthena試算用で出したかったのです。
今後も使うだろうけど、メモがてら記事にしようかなと思った次第でございます!
もっといいやり方ある場合はご教授いただけるとしっぽブンブンです。
よろしくお願いいたします!!!!
2. 前提条件
特になし
→今回は表示させてテキスト出力くらいなので、Cloud shellでいいかなぁと
権限の関係でCloudshell使えないとかの場合はAWS CLIインストールしたサーバにCLI打てるように権限追加等して環境を整えてください。
今回の説明からは省きます。
3. CLIコマンド
母体はこれです。
AWS CLI
aws s3api list-objects-v2 \
--bucket バケット名 \
--prefix オブジェクト格納先のパス \
--query '[sum(Contents[].Size), length(Contents[])]' \
--output json > hogehoge.txt
ここにALBのコマンドパスとか入れてみる9月分のものを見たいときは以下みたいな感じ
<>の中は補完くださいませ。
AWS CLI
aws s3api list-objects-v2 \
--bucket <your-s3-bucket-name> \
--prefix <ELB-name>/AWSLogs/<account-id>/elasticloadbalancing/<region>/2024/09/ \
--query '[sum(Contents[].Size), length(Contents[])]' \
--output json > september_summary.txt
途中の日付から指定した日付まで見たいときとかは以下みたいな感じ
※8月20~月末までの例
AWS CLI
aws s3api list-objects-v2 \
--bucket <your-s3-bucket-name> \
--prefix <ELB-name>/AWSLogs/<account-id>/elasticloadbalancing/ap-northeast-1/2024/08/ \
--query '[sum(Contents[?contains(Key, `08/2`) || contains(Key, `08/3`) ].Size), length(Contents[?contains(Key, `08/2`) || contains(Key, `08/3`) ])]' \
--output json > august_summary.txt
4. まとめ
テキストにしてますが、テキストいらないって方はoutputの行消してもらえばコマンドライン上に表示されますyo!
こんなの知ってるしと思っていても人間忘れるもの、そんな自分のための記事でございました。
同じような人いれば使ってくださいませ。