Skip to content

Commit

Permalink
feat: reorganize sections in readme and update gh banner
Browse files Browse the repository at this point in the history
  • Loading branch information
dannysteenman committed Mar 11, 2024
1 parent e9bcc09 commit 8a3f04b
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 92 deletions.
141 changes: 49 additions & 92 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,43 @@
![AWS Toolbox](aws-toolbox-header.jpg)
# [![AWS Toolbox header](https://raw.githubusercontent.com/dannysteenman/aws-toolbox/main/icons/github-header-image.png)](https://towardsthecloud.com)

# AWS Toolbox 🧰

A Collection of Awesome Tools and Scripts for Cloud Engineers.

## Table of Contents

- [AWS Toolbox 🧰](#aws-toolbox-)
- [Table of Contents](#table-of-contents)
- [Getting started](#getting-started)
- [Shell \& Python scripts categorized by AWS Service](#shell--python-scripts-categorized-by-aws-service)
- [General scripts](#general-scripts)
- [CloudFormation scripts](#cloudformation-scripts)
- [CloudWatch scripts](#cloudwatch-scripts)
- [CodePipeline](#codepipeline)
- [EC2 scripts](#ec2-scripts)
- [ECS scripts](#ecs-scripts)
- [EFS scripts](#efs-scripts)
- [IAM scripts](#iam-scripts)
- [Organizations \& IAM Identity Center scripts](#organizations--iam-identity-center-scripts)
- [S3 scripts](#s3-scripts)
- [SSM scripts](#ssm-scripts)
- [Tools](#tools)
- [General](#general)
- [CI/CD](#cicd)
- [EC2](#ec2)
- [ECS](#ecs)
- [IAM](#iam)
- [Infra as Code](#infra-as-code)
- [Lambda](#lambda)
- [S3](#s3)
- [Security](#security)
- [SSM](#ssm)
- [Contributors](#contributors)
- [Author](#author)
- [Support my work](#support-my-work)

## Getting started

- [What is the AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)
- [How to install the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
- [Configure the AWS CLI for usage](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
- [Some examples on how to use the AWS CLI to work with AWS Services](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-services.html)

## Shell & Python scripts categorized by AWS Service

### General scripts

- **[delete_unused_security_groups.py](general/delete_unused_security_groups.py)** - Deletes all unused security groups in a single AWS Region
- **[find_unused_security_groups.py](general/find_unused_security_groups.py)** - Finds all unused security groups in a single AWS Region
- **[alias](cli/alias)** - This file contains a bunch of easy to remember aliases that runs complex AWS CLI commands.
- **[tag_secrets.py](general/tag_secrets.py)** - This script allows you to tag all your secrets in AWS Secrets Manager quickly.
- **[multi_account_execution.py](general/multi_account_execution.py)** - Gives you the ability to run Boto3 commands on all accounts which are specified in the aws_account_list.
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](https://towardsthecloud.com/contact)!
>
> <details><summary>📚 <strong>Discover more about us</strong></summary>
>
> <br/>
>
> 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.*
>
> #### Why Choose Towards the Cloud?
>
> - **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.<br/>
> - **Seamless CI/CD**: Empower your team to manage infrastructure changes confidently and efficiently through Pull Requests, leveraging the full power of GitHub Actions.
>
> <a href="https://towardsthecloud.com/contact"><img alt="Schedule introduction call" src="https://img.shields.io/badge/schedule%20introduction%20call-success.svg?style=for-the-badge"/></a>
> </details>
## Python and Bash Scripts, Sorted by AWS Service

### CloudFormation scripts

- **[delete_stackset.py](cloudformation/delete_stackset.py)** - Deletes all stack instances associated with a stackset and the stackset itself

### CloudWatch scripts
- **[set_cloudwatch_logs_retention.py](cloudwatch/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
### CodePipeline scripts
- **[slack_notification.py](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](ec2/delete_all_unattached_volumes.py)** - Deletes all unattached EBS volumes in all AWS Regions
- **[delete_all_unused_elastic_ips.py](ec2/delete_all_unused_elastic_ips.py)** - Finds and deletes all unused Elastic IPs in all AWS Regions
- **[delete_all_unused_keypairs.py](ec2/delete_all_unused_keypairs.py)** - Deletes all unused EC2 keypairs in all AWS Region
Expand All @@ -86,13 +59,11 @@ A Collection of Awesome Tools and Scripts for Cloud Engineers.
- **[delete_tagged_efs.py](efs/delete_tagged_efs.py)** - Finds and deletes all tagged elastic file systems including mount targets

### IAM scripts

- **[delete_iam_user](iam/delete_iam_user.py)** - This script deletes iam users.
- **[key_rotator](iam/key_rotator.py)** - This script rotates IAM user keys.
- **[assume_role.sh](iam/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](organizations/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](organizations/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](organizations/list_accounts_by_ou.py)** - Returns a list of acounts that are part of an Organizational Unit (OU)
Expand All @@ -113,89 +84,75 @@ A Collection of Awesome Tools and Scripts for Cloud Engineers.
- **[parameter_delete.sh](ssm/parameter_delete.sh)** - Allows you to delete ssm parameters through a json file.
- **[parameter_register.sh](ssm/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](https://github.com/turbot/steampipe)** - Query AWS resources in a SQL like fashion.
- **[AWS Nuke](https://github.com/rebuy-de/aws-nuke)** - Remove all resources from an AWS account.

### CI/CD
### Other scripts
- **[delete_unused_security_groups.py](general/delete_unused_security_groups.py)** - Deletes all unused security groups in a single AWS Region
- **[find_unused_security_groups.py](general/find_unused_security_groups.py)** - Finds all unused security groups in a single AWS Region
- **[alias](cli/alias)** - This file contains a bunch of easy to remember aliases that runs complex AWS CLI commands.
- **[tag_secrets.py](general/tag_secrets.py)** - This script allows you to tag all your secrets in AWS Secrets Manager quickly.
- **[multi_account_execution.py](general/multi_account_execution.py)** - Gives you the ability to run Boto3 commands on all accounts which are specified in the aws_account_list.

- **[Awesome CI](https://github.com/ligurio/awesome-ci)** - List of Continuous Integration services.
---

### EC2
## Tools
This list contains links to tools that automate or simplify the usage of AWS in the console, CLI or API's.

### EC2 Tools
- **[AutoSpotting](https://github.com/AutoSpotting/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

### ECS Tools
- **[Awesome ECS](https://github.com/nathanpeck/awesome-ecs)** - A curated list of awesome ECS guides, development tools, and resources.
- **[AWS Copilot CLI](https://github.com/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](https://github.com/compose-x/ecs_composex)** - 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

### IAM Tools
- **[AWS IAM Actions](https://www.awsiamactions.io)** - Website that contains every IAM action including a way to generate your own policy.
- **[IAM Floyd](https://github.com/udondan/iam-floyd)** - AWS IAM policy statement generator with fluent interface.
- **[IAM Zero](https://iamzero.dev)** - IAM Zero detects identity and access management issues and automatically suggests least-privilege policies.

### Infra as Code

### Infra as Code Tools
- **[Awesome CDK](https://github.com/kolomied/awesome-cdk)** - Curated list of awesome AWS Cloud Development Kit (AWS CDK) open-source projects, guides, blogs and other resources.
- **[AWS CDK Starterkit](https://github.com/dannysteenman/aws-cdk-starterkit)** - Create and deploy an AWS CDK app on your AWS account in less than 5 minutes using GitHub actions!
- **[Awesome CloudFormation](https://github.com/aws-cloudformation/awesome-cloudformation)** - A curated list of resources and projects for working with AWS CloudFormation.
- **[Awesome Terraform](https://github.com/shuaibiyy/awesome-terraform)** - Curated list of resources on HashiCorp's Terraform.
- **[CDK Snippets](https://towardsthecloud.com/blog/autocomplete-aws-cdk-constructs-vscode)** - This extension adds L1 construct snippets from CDK into Visual Studio Code.
- **[CloudFormation Snippets](https://towardsthecloud.com/blog/autocomplete-cloudformation-resources-vscode)** - This extension adds snippets for all the AWS CloudFormation resources into Visual Studio Code.
- **[Former2](https://github.com/iann0036/former2)** - Generate CloudFormation / Terraform / Troposphere templates from your existing AWS resources.
- **[Open CDK Guide](https://github.com/kevinslin/open-cdk)** - This guide is an opinionated set of tips and best practices for working with the AWS Cloud Development Kit.

### Lambda

### Lambda Tools
- **[AWS Lambda Power Tuning](https://github.com/alexcasalboni/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](http://serverlesscalc.com)** - 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](https://cost-calculator.bref.sh)** - Estimate AWS costs when running serverless applications on AWS Lambda.

### S3

### S3 Tools
- **[s3s3mirror](https://github.com/cobbzilla/s3s3mirror)** - A lightning-fast and highly concurrent utility for mirroring content from one S3 bucket to another.

### Security

### Security Tools
- **[Leapp](https://github.com/Noovolari/leapp)** - Cross-platform APP to manage Programmatic access in AWS.
- **[Prowler](https://github.com/prowler-cloud/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](https://github.com/0xVariable/AWS-Security-Tools)** - A curated list of Security tools that you can use on AWS.

### SSM

### SSM Tools
- **[aws-gate](https://github.com/xen0l/aws-gate)** - A Better AWS SSM Session manager CLI client.
- **[aws-ssm-ec2-proxy-command](https://github.com/qoomon/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](https://github.com/HQarroum/ssm-supercharged)** - AWS SSM integration with OpenSSH + EC2 Instance Connect + sshuttle.

### Other Tools
- **[Steampipe](https://github.com/turbot/steampipe)** - Query AWS resources in a SQL like fashion.
- **[AWS Nuke](https://github.com/rebuy-de/aws-nuke)** - Remove all resources from an AWS account.

---

## Contributors

This project exists thanks to all the people who contribute.

[![Code Contributors](https://contrib.rocks/image?repo=dannysteenman/aws-toolbox)](https://github.com/dannysteenman/aws-toolbox/graphs/contributors)

See how you can [contribute to this repository.](https://github.com/dannysteenman/aws-toolbox/blob/main/.github/CONTRIBUTING.md)

## Author

**[Danny Steenman](https://towardsthecloud.com)**

<p align="left">
<a href="https://twitter.com/dannysteenman"><img src="https://img.shields.io/twitter/follow/dannysteenman?label=%40dannysteenman&style=social"></a>
</p>

---

## Support my work

If you found this project helpful, please consider showing your support by buying me a coffee.

<a href="https://www.buymeacoffee.com/dannysteenman" target="_blank"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=dannysteenman&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff"></a>
Binary file removed aws-toolbox-header.jpg
Binary file not shown.
Binary file added icons/github-header-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 8a3f04b

Please sign in to comment.