A comprehensive collection of tools for AWS infrastructure management, including Terraform provisioning, service discovery, and cleanup utilities.
aws-tools/
├── applications/ # Sample applications for deployment
│ ├── backend/ # Spring Boot backend application
│ ├── frontend/ # React frontend application
│ └── nginx/ # NGINX configuration and source
├── delete-services/ # AWS resource cleanup utilities
│ ├── delete.py # Python script to delete AWS resources
│ └── resources_to_delete.csv # CSV template for resource deletion
├── list-services/ # AWS service discovery tools
│ ├── list_services.py # Python script to list active AWS services
│ ├── run_key_services.sh # Script using AWS access keys
│ ├── run_sso_services.sh # Script using AWS SSO
│ └── AWS_Active_Services_Select.csv # Service catalog
└── terraform/ # Infrastructure as Code
├── main.tf # Main Terraform configuration
├── variables.tf # Terraform variables
├── outputs.tf # Terraform outputs
├── modules/ # Reusable Terraform modules
└── applications/ # Application-specific Terraform configs
- Complete AWS Infrastructure: EKS cluster, ECR repositories, S3 buckets with CDN
- Monitoring Stack: Prometheus, Grafana, Loki, Tempo
- CI/CD Tools: Jenkins, SonarQube
- Database: PostgreSQL RDS
- Container Registry: ECR with automated image building and pushing
- Service Listing: Python script to detect active AWS services in your account
- Dual Authentication: Support for both AWS access keys and SSO
- Comprehensive Coverage: EC2, ECS, ECR, S3, DynamoDB, Lambda, RDS, and more
- Safe Deletion: Script to delete AWS resources with proper cleanup procedures
- Multiple Services: CloudFront, S3, Lambda, DynamoDB, SQS, ECR, and more
- CSV Template: Structured input for specifying resources to delete
- Backend: Spring Boot application with Docker support
- Frontend: React application with Docker and NGINX configuration
- NGINX: Reverse proxy configuration for microservices
- AWS CLI configured with appropriate permissions
- Terraform v1.0+ installed
- Python 3.8+ with boto3 library
- Docker for image building
-
Initialize Terraform:
cd terraform/ terraform init -
Review Plan:
terraform plan
-
Apply Configuration:
terraform apply
Using AWS Access Keys:
cd list-services/
./run_key_services.shUsing AWS SSO:
cd list-services/
./run_sso_services.sh-
Prepare CSV File: Edit
resources_to_delete.csvwith resources to remove -
Run Cleanup:
cd delete-services/ python delete.py
The project includes reusable Terraform modules for:
- ECR: Elastic Container Registry with automated image lifecycle policies
- EKS: Kubernetes cluster with managed node groups
- S3 + CloudFront: Static website hosting with CDN
- RDS PostgreSQL: Managed PostgreSQL database
- Monitoring: Prometheus, Grafana, Loki, Tempo stack
- CI/CD: Jenkins and SonarQube for continuous integration
Access Key Method:
aws configure
# Enter AWS Access Key ID, Secret Access Key, region, and output formatSSO Method:
aws sso login
# Follow the browser authentication flowSet the following variables for Terraform:
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="us-east-1"- Least Privilege: Ensure IAM roles have minimal required permissions
- Secrets Management: Use AWS Secrets Manager or environment variables for sensitive data
- Network Security: Configure security groups and VPC settings appropriately
- Resource Cleanup: Always review resources before deletion to avoid accidental data loss
- Fork the repository
- Create a feature branch
- Make changes and test thoroughly
- Submit a pull request with detailed description
This project is licensed under the MIT License - see the LICENSE files in individual directories for details.
For issues and questions:
- Check existing documentation in each subdirectory
- Review Terraform plan output for configuration issues
- Ensure AWS credentials have appropriate permissions
- Verify network connectivity to AWS services