/heimdal

Python library for keeping an eye on AWS resources

Primary LanguagePythonMIT LicenseMIT

Heimdal

A simple Python library with three objectives:

  1. Help me keep track of my AWS resources
  2. Help me learn python
  3. Improve my knowledge & efficiency of AWS

This library is inspired by Cloud Reports project by Tensult.

Functional Goals

  • Scan AWS account(s) to create a snapshot inventory of all resources consumed
  • React to AWS provisioning events to update the resource inventory
  • Monitor utilization of all provision resources to identify idle resources
  • Shut down idle resources
  • Evaluate resources for compliance to defined rules (tags, scale, security, etc)
  • Allocate & track costs over time

To-Do List

Collections

  • S3
    • Buckets - done
    • Web Sites
  • Route 53
    • Domains - done
    • Hosted Zones - done
  • IAM
    • Users - done
    • Groups - done
    • Roles - done
    • Policies - done
  • Cloud Watch
    • Alarms - done
    • Metrics - done
  • Cloud Trails
    • Trails - done
  • RDS
    • Instances - done
    • Reserved Instances - done
    • Engine Versions - done - not really a consumed resource, but very useful to know
    • Security Groups - done
  • DynamoDB
    • Tables - done
    • Streams - done
    • Table Streams - done
  • Lambda
    • Functions - done
    • Aliases - done
    • Event Sources - done
    • Versions by Function
    • Event Sources by Function
  • API Gateway
  • Cloud Front
  • EC2
  • VPC
  • EBS
  • ELB
  • SNS
  • SQS
  • SES
  • ACM
  • RedShift

Functions

  • Determine Idle Resources
  • Shut down idle resources
  • Verify tagging policy
  • Security checks
  • Allocate costs across accounts, tags
  • Calculate utilization & cost trends

Resources, References, and Tools Used