web-dev-qa-db-ja.com

コストエクスプローラーでバケットレベルごとのs3コストの内訳を取得するにはどうすればよいですか?

フィルタのサービスレベルを使用して、S3の総コストを取得できるようです。

ただし、バケットレベルごとのコストを取得したいと思います。

コストエクスプローラーで実行できますか?

そうでない場合、aws cliで内訳を取得できますか?

enter image description here

1
Anthony Kong

コスト配分タグの使用を検討します。

https://docs.aws.Amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.htmlhttps://docs.aws.Amazon.com/AmazonS3/ latest/dev/CostAllocTagging.html

請求ダッシュボードでコスト配分タグを有効にしてから、追跡するタグ(つまり、請求グループ)を追加する必要があります。

次に、各バケットの下で->プロパティ->詳細設定->タグはbillinggroupのようなタグを設定します:bucketname

Aws cliを使用してこのようなことを行うこともできますが、すべてのオブジェクトバージョンとレプリカのサイズを計算しないため、それほど正確ではないと思いますが、ボールパークの図では機能する可能性があります。

bucketlist="mybucket1 mybucket2"
echo -e "Bucket\tObjectCount\tTotalSize\n"
for x in ${bucketlist}; do 
    echo -en "$x\t"; aws s3 ls s3://$x --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {count=0; total=0}{count++; total+=$3}END{print count"\t"total" ("total/2^30"GB)\t$"(total/2^30)*0.023}'
done
2
Fitz