Wednesday, 4 May 2016

AWS S3 - How much storage per storage class?

How much storage is my S3 bucket using?
$ aws s3 ls s3://mys3bucket --recursive  | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024/1024" GB"}'
3677.41 GB


How much storage is my S3 bucket using per storage class (S3 standard, S3 IA, Glacier)?

$ aws s3api list-objects --bucket mys3bucket --output json --query '[{StandardStorage: length(Contents[?StorageClass==`STANDARD`])}, {Size: sum(Contents[?StorageClass==`STANDARD`].Size)},{ReducedRedundancyStorage: length(Contents[?StorageClass==`REDUCED_REDUNDANCY`])}, {Size: sum(Contents[?StorageClass==`REDUCED_REDUNDANCY`].Size)},{GlacierStorage: length(Contents[?StorageClass==`GLACIER`])}, {Size: sum(Contents[?StorageClass==`GLACIER`].Size)},{StandardIAStorage: length(Contents[?StorageClass==`STANDARD_IA`])}, {Size: sum(Contents[?StorageClass==`STANDARD_IA`].Size)}]'
[
    {
        "StandardStorage": 15
    },
    {
        "Size": 150988212
    },
    {
        "ReducedRedundancyStorage": 0
    },
    {
        "Size": 0
    },
    {
        "GlacierStorage": 3486
    },
    {
        "Size": 4025652251655
    },
    {
        "StandardIAStorage": 0
    },
    {
        "Size": 0
    }
]


$ bc
150988212+4025652251655
4025803239867
4025803239867/(1024*1044)
3765755 <-- Note it lists in MBs


How to list S3 lifecycle policy:
$ aws s3api get-bucket-lifecycle --bucket mybucket
{
    "Rules": [
        {
            "Status": "Enabled",
            "Prefix": "",
            "Transition": {
                "Days": 14,
                "StorageClass": "GLACIER"
            },
            "ID": "Glacier"
        }
    ]
}

No comments:

Post a Comment