Skip to content

💸 Never miss an ec2 or rds reservation again on Amazon Web Services and continue to save money :)

License

Notifications You must be signed in to change notification settings

FieldControl/reserveasy

Reserveasy

💸 Never miss an ec2 or rds reservation again on Amazon Web Services and continue to save money :)

Field Control ♥ Maintainability Continuous Integration

Built with ❤ by FieldControl and contributors - We are hiring

Why

Because sometimes we forget ec2 or rds instances unreserved, and it cost us money 💸

💙

Usage

1 - Clone reserveasy repository and install and link its dependencies:

git clone https://github.com/FieldControl/reserveasy.git
cd reserveasy
npm install
npm link

2 - Configure regions you would like to analyze at config.json:

[
  { "region": "us-east-1" },
  { "region": "sa-east-1" }
]

3 - Run reserveasy:

reserveasy

4 - Watch the analysis result:

{
  "us-east-1": { // <-- AWS region
    "ec2": {
      "instances": [ // <-- EC2 running instances for given region
        {
          "InstanceType": "t3.nano",
          "Platform": "linux",
          "instanceName": "instance-1"
        },
        {
          "InstanceType": "t2.medium",
          "Platform": "linux",
          "instanceName": "instance-2"
        }
      ],
      "reservations": [ // <-- EC2 active reservation instances for given region
        {
          "InstanceType": "t3.nano",
          "Platform": "linux"
        }
      ],
      "missingReservations": [ // <-- EC2 missing reservation instances for given region
        {                      // YOU SHOULD TAKE ACTION!
          "InstanceType": "t2.medium",
          "Platform": "linux",
          "instanceName": "instance-2"
        }
      ],
      "allocatedReservations": [ // <-- EC2 allocated reservation instances for given region
        {
          "InstanceType": "t3.nano",
          "Platform": "linux"
        }
      ],
      "unallocatedReservations": [] // <-- EC2 unallocated reservation instances for given region
    },                              // YOU SHOULD TAKE ACTION - useless reservation (・・;)ゞ
    "rds": {
      "instances": [ // <-- RDS running instances for given region
        {
          "DBInstanceIdentifier": "reserveasy-db",
          "DBInstanceClass": "db.t3.micro",
          "Engine": "postgres",
          "MultiAZ": false
        }
      ],
      "reservations": [ // <-- RDS active reservation instances for given region
        {
          "DBInstanceClass": "db.t3.micro",
          "Engine": "postgres",
          "MultiAZ": false
        }
      ],
      "missingReservations": [], // <-- RDS missing reservation instances for given region
                                 // YOU SHOULD TAKE ACTION! 
      "allocatedReservations": [ // <-- RDS allocated reservation instances for given region
        {
          "DBInstanceClass": "db.t3.micro",
          "Engine": "postgres",
          "MultiAZ": false
        }
      ],
      "unallocatedReservations": [] // <-- RDS unallocated reservation instances for given region
    }                               // YOU SHOULD TAKE ACTION - useless reservation (・・;)ゞ
  }
}
💙

Pull Requests

  • Add tests! Your patch won't be accepted if it doesn't have tests.
  • Document any change in behaviour. Make sure the README and any other relevant documentation are kept up-to-date.
  • Create topic branches. Don't ask us to pull from your master branch.
  • One pull request per feature. If you want to do more than one thing, send multiple pull requests.
💙

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.





Open source, from Field Control with ❤ - We are hiring!

About

💸 Never miss an ec2 or rds reservation again on Amazon Web Services and continue to save money :)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks