π§°
AWS Toolbox A Collection of Awesome Tools and Scripts for Cloud Engineers.
Table of Contents
- AWS Toolbox π§°
Getting started
- What is the AWS Command Line Interface?
- How to install the AWS CLI
- Configure the AWS CLI for usage
- Some examples on how to use the AWS CLI to work with AWS Services
Shell & Python scripts categorized by AWS Service
General scripts
- delete_unused_security_groups.py - Deletes all unused security groups in a single AWS Region
- find_unused_security_groups.py - Finds all unused security groups in a single AWS Region
- alias - This file contains a bunch of easy to remember aliases that runs complex AWS CLI commands.
- tag_secrets.py - This script allows you to tag all your secrets in AWS Secrets Manager quickly.
- multi_account_execution.py - Gives you the ability to run Boto3 commands on all accounts which are specified in the aws_account_list.
CloudFormation scripts
- delete_stackset.py - Deletes all stack instances associated with a stackset and the stackset itself
CloudWatch scripts
- set_cloudwatch_logs_retention.py - Sets a CloudWatch Logs Retention Policy to x number of days for all log groups in the region that you exported in your cli.
CodePipeline
- slack_notification.py - Can be used in a lambda to enable AWS CodePipeline notifications on slack in a specific channel.
EC2 scripts
- delete_all_unattached_volumes.py - Deletes all unattached EBS volumes in all AWS Regions
- delete_all_unused_elastic_ips.py - Finds and deletes all unused Elastic IPs in all AWS Regions
- delete_all_unused_keypairs.py - Deletes all unused EC2 keypairs in all AWS Region
- delete_unused_keypairs.py - Finds and deletes all unused EC2 keypairs in a single AWS Region
- find_all_unattached_volumes.py - Finds all unattached EBS volumes in all AWS Regions
- find_all_unused_keypairs.py - Finds all used and unused EC2 keypairs in all AWS Regions
- find_unused_keypairs.py - Finds all used and unused EC2 keypairs in a single region
- asg_ssh.sh - A ssh wrapper for connecting quickly to EC2 instances in an Auto Scaling group.
- available_eip.sh - Shows Elastic IP addresses which haven't been associated yet.
- req_spot_instances.sh - Enables you to run a request for spot instances.
- resize_volume.sh - specifies the desired volume size in GiB as a command line argument. If not specified, default to 20 GiB.
ECS scripts
- delete_all_inactive_task_definitions.py - Deletes all inactive task definitions in the ECS service in all AWS Regions.
- publish_ecr_image.sh - Build a Docker image and publish it to Amazon ECR.
IAM scripts
- delete_iam_user - This script deletes iam users.
- key_rotator - This script rotates IAM user keys.
- assume_role.sh - This script uses Simple Token Service (sts) to assume a role (on the destination account).
Organizations & IAM Identity Center scripts
- assign_sso_access_by_ou.py - Assigns AWS Single Sign-On (SSO) access to a specified principal (user or group) for multiple AWS accounts within a specified Organizational Unit (OU).
- import_users_to_aws_sso.py - Imports users and groups from a CSV file into AWS SSO and adding the users to their respective groups.
- list_accounts_by_ou.py - Returns a list of acounts that are part of an Organizational Unit (OU)
- list_accounts_sso_assignments.py - The script lists all AWS accounts along with their assigned users, groups, and permission sets in a structured JSON format.
- remove_sso_access_by_ou.py - Removes AWS Single Sign-On (SSO) access to a specified principal (user or group) for multiple AWS accounts within a specified Organizational Unit (OU).
S3 scripts
- create_tar_file.py - Allows you to create tar file creation.
- delete_empty_buckets.py - Finds empty S3 buckets on your account and deletes them.
- list_file_older_than_number_of_days.py - Allows you to list all files older than N numbers of days.
- search_bucket_and_delete.py - Searches for your chosen bucketname and then deletes all (versioned)objects in that S3 bucket before deleting the bucket itself.
- search_file_in_bucket.py - Allows you to search file in S3 bucket.
- search_key_bucket.py - Searches for a single keys/object in an S3 bucket and let's you know wether it exists or not.
- search_multiple_keys_bucket.py - Searches for multiple keys/objects in an S3 bucket and let's you know wether it exists or not.
- search_subdirectory.py - Allows you to search subdirectory under nested folder structure.
SSM scripts
- parameter_delete.sh - Allows you to delete ssm parameters through a json file.
- parameter_register.sh - Allows you to import ssm parameters through a json file.
Tools
This list contains links to tools that automate or simplify the usage of AWS in the console, CLI or API's.
General
- Steampipe - Query AWS resources in a SQL like fashion.
- AWS Nuke - Remove all resources from an AWS account.
CI/CD
- Awesome CI - List of Continuous Integration services.
EC2
- AutoSpotting - AutoSpotting is the leading open source spot market automation tool, optimized towards quick/easy/frictionless adoption of the EC2 spot market at any scale.
ECS
- Awesome ECS - A curated list of awesome ECS guides, development tools, and resources.
- AWS Copilot CLI - The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on Amazon ECS and AWS Fargate.
- ECS Compose-X - A python app/lib to use your existing docker-compose files, add CFN resources definitions (or via Discovery) that takes care of all the complexity (IAM, Security Groups, Secrets, Volumes etc.) and generates curated CFN templates to deploy to AWS.
IAM
- AWS IAM Actions - Website that contains every IAM action including a way to generate your own policy.
- IAM Floyd - AWS IAM policy statement generator with fluent interface.
- IAM Zero - IAM Zero detects identity and access management issues and automatically suggests least-privilege policies.
Infra as Code
- Awesome CDK - Curated list of awesome AWS Cloud Development Kit (AWS CDK) open-source projects, guides, blogs and other resources.
- Awesome CloudFormation - A curated list of resources and projects for working with AWS CloudFormation.
- Awesome Terraform - Curated list of resources on HashiCorp's Terraform.
- CDK Snippets - This extension adds L1 construct snippets from CDK into Visual Studio Code.
- CloudFormation Snippets - This extension adds snippets for all the AWS CloudFormation resources into Visual Studio Code.
- Former2 - Generate CloudFormation / Terraform / Troposphere templates from your existing AWS resources.
- Open CDK Guide - This guide is an opinionated set of tips and best practices for working with the AWS Cloud Development Kit.
Lambda
- AWS Lambda Power Tuning - AWS Lambda Power Tuning is a state machine powered by AWS Step Functions that helps you optimize your Lambda functions for cost and/or performance in a data-driven way.
- Serverless Cost Calculator Comparison - Calculating the cost for AWS Lambda, Azure Functions, Google Cloud Functions. Providing good comparison or prediction on how the cost can vary depending on the memory, execution time, and number of executions on different cloud providers.
- Serverless Cost Calculator - Estimate AWS costs when running serverless applications on AWS Lambda.
S3
- s3s3mirror - A lightning-fast and highly concurrent utility for mirroring content from one S3 bucket to another.
Security
- Leapp - Cross-platform APP to manage Programmatic access in AWS.
- Prowler - Prowler is an Open Source Security tool to perform Cloud Security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness.
- AWS Security Tools - A curated list of Security tools that you can use on AWS.
SSM
- aws-gate - A Better AWS SSM Session manager CLI client.
- aws-ssm-ec2-proxy-command - Open an SSH connection to your ec2 instances via AWS SSM without the need to open any ssh port in you security groups.
- HQarroum/ssm-supercharged - AWS SSM integration with OpenSSH + EC2 Instance Connect + sshuttle.
Contributors
This project exists thanks to all the people who contribute.
See how you can contribute to this repository.
Author
Support my work
If you found this project helpful, please consider showing your support by buying me a coffee.