This repository contains a collection of awesome tools and scripts for Developers and Engineers seeking to automate routine tasks on AWS Cloud.
Tip
If you're looking for expertise to elevate your cloud infrastructure, then don't hesitate to get in touch with me!
📚 Discover more about us
Towards the Cloud is a one-person agency with over 9 years of extensive hands-on experience in architecting and building highly scalable distributed systems on AWS Cloud using Infrastructure as Code for startups and enterprises.
Maximize your development speed by harnessing our expertise in crafting high-performance Cloud infrastructures.
- Expertise in AWS CDK: Leverage the full power of AWS Cloud Development Kit (AWS CDK) with our deep expertise. We architect and build infrastructure as code (IaC) solutions that are maintainable, scalable, and fully automated.
- Tailored Solutions: Your business is unique, and so are your cloud needs. We provide personalized consultations and solutions tailored to perfectly align with your project requirements and business goals.
- Cost-Effective and Efficient: Benefit from our streamlined processes and deep AWS knowledge to optimize costs without compromising on performance or security.
- One-on-One Attention: As a one-person agency, Towards the Cloud guarantees you receive dedicated support and expertise directly from an AWS Cloud Engineer. This ensures high-quality deliverables and swift decision-making.
- Seamless CI/CD: Empower your team to manage infrastructure changes confidently and efficiently through Pull Requests, leveraging the full power of GitHub Actions.
- delete_stackset.py - Deletes all stack instances associated with a stackset and the stackset itself
- 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.
- slack_notification.py - Can be used in a lambda to enable AWS CodePipeline notifications on slack in a specific channel.
- 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
- delete_tagged_security_groups.py - Finds and deletes all tagged security groups including in- and outbound rules
- 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.
- 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.
- delete_tagged_efs.py - Finds and deletes all tagged elastic file systems including mount targets
- 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).
- 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).
- 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.
- 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.
- 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.
This list contains links to tools that automate or simplify the usage of AWS in the console, CLI or API's.
- 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.
- 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.
- 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.
- Awesome CDK - Curated list of awesome AWS Cloud Development Kit (AWS CDK) open-source projects, guides, blogs and other resources.
- AWS CDK Starterkit - Create and deploy an AWS CDK app on your AWS account in less than 5 minutes using GitHub actions!
- 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.
- 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.
- s3s3mirror - A lightning-fast and highly concurrent utility for mirroring content from one S3 bucket to another.
- 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.
- 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.
- Steampipe - Query AWS resources in a SQL like fashion.
- AWS Nuke - Remove all resources from an AWS account.
This project exists thanks to all the people who contribute.
See how you can contribute to this repository.