Amazon S3 でオブジェクトの使用状況(合計サイズ・平均サイズなど)を「プレフィックス別(フォルダ別)」で可視化する場合,Amazon S3 Storage Lens の「高度なメトリクスとレコメンデーション機能」で「プレフィックス集計」を設定する❗️
今回は AWS CDK で aws_s3.CfnStorageLens
を使って「プレフィックス集計」を設定してみた.設定の詳細な仕様は AWS CloudFormation ドキュメント参照📝
そして,Amazon S3 Storage Lens の設定をシンプルにするため
- 集計するプレフィックスの階層は
1
- 集計対象にするプレフィックスの最小サイズ閾値は
1%
(設定できる最低値) - 集計対象は新しく作った Amazon S3 バケットに限定
とした👌
サンプルコードを載せておく.ちなみに検証で使った kakakakakku-sandbox-storage-lens
バケットは既に削除してある🗑
import { Stack, StackProps, aws_s3, } from 'aws-cdk-lib' import { Construct } from 'constructs' export class SandboxCdkS3Stack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props) const bucket = new aws_s3.Bucket(this, 'Bucket', { bucketName: 'kakakakakku-sandbox-storage-lens', }) new aws_s3.CfnStorageLens(this, 'StorageLens', { storageLensConfiguration: { id: 'storage-lens', isEnabled: true, accountLevel: { bucketLevel: { prefixLevel: { storageMetrics: { selectionCriteria: { delimiter: '/', maxDepth: 1, minStorageBytesPercentage: 1, } } } } }, include: { buckets: [ bucket.bucketArn ] } } }) } }
そして prefix-1
から prefix-5
までのフォルダにサンプルファイルをアップロードして,数日待ったらプレフィックス別の使用状況を確認できるようになっていた👏
prefix-1/ prefix-2/ prefix-3/ prefix-4/ prefix-5/
以下にプレフィックス集計結果の一部を載せておく👀