@firestone-hs/aws-lambda-utils
v1.1.1
Published
npm run publish-version
Readme
AWS Lambda Utils
npm run publish-version
rm -rf dist && tsc && rm -rf dist/node_modules && 'cp' -rf dist/ /e/Source/zerotoheroes/public-lambdas/cron-build-bgs-hero-stats/node_modules/@firestone-hs/aws-lambda-utils
S3 Cost Monitoring
This repository now includes tools to monitor S3 costs by Lambda function origin. This helps you identify which Lambda functions are driving your S3 request costs.
Quick Start
Test Your Environment (Recommended first step):
./test-aws-cli-paths.shSimple Setup (Recommended if encountering IAM issues):
./setup-s3-monitoring-simple.shSkips CloudWatch integration to avoid IAM role complexity
Full Automated Setup (with CloudWatch integration):
./setup-s3-monitoring.shIf you encounter issues (Windows Git Bash path problems):
# Clean up existing resources and start fresh ./setup-s3-monitoring.sh --cleanupManual Setup (Windows PowerShell): Follow the guide in
MANUAL_SETUP_WINDOWS.md
What Gets Set Up
- ✅ CloudTrail with S3 data events for your buckets (
xml.firestoneapp.com,static.zerotoheroes.com) - ✅ CloudWatch Log Group for CloudTrail integration
- ✅ IAM Roles for CloudTrail → CloudWatch permissions
- ✅ Sample CloudWatch Insights queries to analyze S3 usage by Lambda function
After Setup (15-30 minutes later)
Navigate to CloudWatch → Insights and run queries like:
fields @timestamp, userIdentity.invokedBy, eventName, resources.0.ARN
| filter eventName like /GetObject/
| filter userIdentity.type = "AssumedRole"
| filter userIdentity.invokedBy like /lambda/
| stats count() as request_count by userIdentity.invokedBy
| sort request_count descExpected Results
userIdentity.invokedBy | request_count
lambda.amazonaws.com:my-data-processor-function | 15,247
lambda.amazonaws.com:my-backup-function | 8,932
lambda.amazonaws.com:my-analytics-function | 3,421Files
setup-s3-monitoring-simple.sh- Simple setup (no CloudWatch integration)setup-s3-monitoring.sh- Full automated setup scripttest-aws-cli-paths.sh- Environment compatibility testevent-selectors.json- S3 buckets to monitors3-monitoring-queries.md- Comprehensive monitoring guideMANUAL_SETUP_WINDOWS.md- Windows PowerShell setup guide
Cost Impact
- Setup time: ~10 minutes
- Monthly cost: ~$2-5 (depends on request volume)
- Data availability: 15-30 minutes after setup
Troubleshooting
- Trail already exists: Use
./setup-s3-monitoring.sh --cleanup - IAM role errors: Use the simple version
./setup-s3-monitoring-simple.sh - Windows path issues: Use
MANUAL_SETUP_WINDOWS.mdguide - No data showing: Wait 30 minutes for CloudTrail to populate
Help
./setup-s3-monitoring.sh --helpOriginal Package Info
This package provides utility classes for AWS Lambda functions including S3, RDS, SNS, SQS, and logging services.
