All Projects → boyter → aws-s3-bucket-purger

boyter / aws-s3-bucket-purger

Licence: MIT license
A program that will purge any AWS S3 Bucket of objects and versions quickly

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to aws-s3-bucket-purger

s3-db
Document DB API for AWS S3
Stars: ✭ 97 (+438.89%)
Mutual labels:  s3, bucket
Terraform Aws S3 Log Storage
This module creates an S3 bucket suitable for receiving logs from other AWS services such as S3, CloudFront, and CloudTrail
Stars: ✭ 65 (+261.11%)
Mutual labels:  s3, bucket
serverless-s3bucket-sync
Serverless Plugin to sync local folders with an S3 bucket
Stars: ✭ 24 (+33.33%)
Mutual labels:  s3, bucket
Bucket-Flaws
Bucket Flaws ( S3 Bucket Mass Scanner ): A Simple Lightweight Script to Check for Common S3 Bucket Misconfigurations
Stars: ✭ 43 (+138.89%)
Mutual labels:  s3, bucket
terraform-aws-cloudtrail-s3-bucket
S3 bucket with built in IAM policy to allow CloudTrail logs
Stars: ✭ 38 (+111.11%)
Mutual labels:  s3, bucket
Cloudexplorer
Cloud Explorer
Stars: ✭ 170 (+844.44%)
Mutual labels:  s3, bucket
benji
📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).
Stars: ✭ 18 (+0%)
Mutual labels:  s3, bucket
s3cli
Command line tool for S3
Stars: ✭ 21 (+16.67%)
Mutual labels:  s3, bucket
s3-fuzzer
🔐 A concurrent, command-line AWS S3 Fuzzer. Written in Go.
Stars: ✭ 43 (+138.89%)
Mutual labels:  s3, bucket
terraform-aws-s3-bucket
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
Stars: ✭ 138 (+666.67%)
Mutual labels:  s3, bucket
terraform-aws-lb-s3-bucket
Terraform module to provision an S3 bucket with built in IAM policy to allow AWS Load Balancers to ship access logs
Stars: ✭ 29 (+61.11%)
Mutual labels:  s3, bucket
terraform-s3-user
A Terraform module that creates a tagged S3 bucket and an IAM user/key with access to the bucket
Stars: ✭ 20 (+11.11%)
Mutual labels:  s3, bucket
s3-edit
Edit directly a file on Amazon S3 in CLI
Stars: ✭ 69 (+283.33%)
Mutual labels:  s3
tech1-temple-aws
AWS Proofs of Concepts repository. No Longer Supported
Stars: ✭ 32 (+77.78%)
Mutual labels:  s3
Erasure
Chrome extension for deleting your YouTube comment history.
Stars: ✭ 48 (+166.67%)
Mutual labels:  delete
f3
f3 is a bridge between FTP and an s3-compatible object storage.
Stars: ✭ 23 (+27.78%)
Mutual labels:  s3
cachegrand
cachegrand is an open-source fast, scalable and secure Key-Value store, also fully compatible with Redis protocol, designed from the ground up to take advantage of modern hardware vertical scalability, able to provide better performance and a larger cache at lower cost, without losing focus on distributed systems.
Stars: ✭ 87 (+383.33%)
Mutual labels:  s3
muton
A feature toggle tool with support for feature throttling and multivariance testing.
Stars: ✭ 15 (-16.67%)
Mutual labels:  bucket
beekeeper
Service for automatically managing and cleaning up unreferenced data
Stars: ✭ 43 (+138.89%)
Mutual labels:  s3
gatsby-source-s3
A Gatsby source plugin to query against an S3 bucket (including images!)
Stars: ✭ 19 (+5.56%)
Mutual labels:  s3

aws-s3-bucket-purger

A program that will purge any AWS S3 Bucket of objects and versions quickly. Considerably faster then using the AWS CLI tools or doing it though the Console.

The problem.

You have a S3 bucket with millions of files, and those files have versions. Deleting on the CLI takes hours to days, and doesn't do incremental deleting. The console hangs when you click the "Empty bucket" option. This program solves that issue for you by spawning a configurable number but by default hundreds of threads to clean the bucket for you.

Features

  • Fast! Can delete the contents of a S3 bucket with 15 million objects in under an hour given enough CPU and network
  • Resumable. It starts deleting as it finds object keys, not afterwards so if you network crashes you can resume
  • Stateless, so you can run it on different machines and it will pick up from where it was before
  • Supports S3 Key Prefix filtering, so you can fan out if you have billions of objects.
  • MIT Licensed

To run, either install go and use go run main.go or download the supplied binary. You configure it by passing in environment variables which makes it easy to run on AWS infrastructure, such as a task on ECS for example.

AwsRegion=ap-southeast-2 S3Bucket=my.bucket aws-s3-bucket-purger

The above using the default level of concurrency can purge a bucket of 15 million objects/versions in under an hour, limited by CPU and bandwidth.

To remove specific keys filtered by prefix set the S3Prefix value,

S3Prefix=A AwsRegion=ap-southeast-2 S3Bucket=my.bucket aws-s3-bucket-purger

Will remove objects/versions that start with the prefix A.

Need even more speed? You can control the default level of concurrency by setting LoadConcurrency with a larger integer value. Keep in mind this value is set to be lower then the current S3 API limits so you may run into issues if you set this too aggressively.

LoadConcurrency=600 AwsRegion=ap-southeast-2 S3Bucket=my.bucket aws-s3-bucket-purger
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].