A comprehensive AWS cost optimization and resource monitoring toolkit with real-time data, Google Sheets integration, and Slack notifications.
- Real-Time Data - All metrics fetched at scan time (no stale data)
- Google Sheets Integration - Separate sheets per resource type with auto-formatting
- Slack Notifications - Clickable Google Sheets hyperlinks with summary stats
- Multi-Resource Scanning - RDS, Lambda, IAM Roles, CloudWatch Logs
- RDS Extended Support - AWS Cost Explorer API for actual costs
- Product-Friendly Tags - Clear messages for missing tags
# Install dependencies
pip install -r requirements-v2.txt
# Run the scanner
python cost_optimizer_v2.py \
--google-credentials /path/to/credentials.json \
--environment stageRDS_Scanner/
├── cost_optimizer_v2.py # Main V2 scanner script
├── requirements-v2.txt # Python dependencies
├── COST_OPTIMIZER_V2_README.md # Detailed V2 documentation
├── README.md # This file
├── .gitignore # Git ignore rules
│
├── .github/workflows/
│ └── cost-optimizer-v2.yml # GitHub Actions workflow
│
├── rds-scanner-complete/
│ └── cost-optimizer-v2-cloudformation.yaml # CloudFormation template
│
├── results/ # Scan output files (CSV, logs)
│ └── *.csv
│
└── backup/ # Old V1 files (for reference)
├── v1_scripts/ # V1 Python scripts
├── v1_workflows/ # V1 GitHub Actions
├── v1_docs/ # V1 documentation
└── v1_cloudformation/ # V1 CloudFormation templates
The Slack webhook URL is stored securely in GitHub Secrets as SLACK_WEBHOOK_URL.
For local testing, set the environment variable or use --slack-webhook CLI argument.
Reports are automatically saved to the shared drive folder:
Folder ID: 0AMxvbDorapuoUk9PVA
When resources are missing tags, the following product-friendly messages are displayed:
| Tag | Missing Tag Message |
|---|---|
| Owner | No Owner Tag - Please add 'Owner' tag to this resource |
| Contact | No Contact Tag - Please add 'Contact' tag to this resource |
| Service | No Service Tag - Please add 'Service' tag to this resource |
| Repo | No Repo Tag - Please add 'Repo' tag to this resource |
Multi-account support:
| Environment | AWS Account |
|---|---|
| Development | 477873552632 (guild-dev) |
| Staging | 221203628080 (guild-staging) |
| Production | 947618278001 (guild-prod) |
The workflow runs automatically:
- Sunday at 2 AM Mountain Time (9 AM UTC) - Weekly scan with report
Manual trigger available via GitHub Actions UI.
Estimated monthly AWS costs: $1-2/month
- Lambda: ~$0.50
- S3: ~$0.10
- CloudWatch Logs: ~$0.50
Internal use only - Guild Education, Inc.