Giter Club home page Giter Club logo

auto-capacity-reservations's Introduction

Automatic Capacity Reservations

When deployed, EC2 instances will automatically be assigned to a capacity reservation which will be maintained at the number of running instances that are matched.

The solution uses EventBridge Rules that react to EC2 instance state changes by invoking a Lambda that creates/increments/decrements or cancels capacity reservations based on the number of instances that match. Instances will be tagged with a AutoCapacityReservationId tag which indicates the assigned capacity reservation.

The solution is intended to provide guaranteed capacity for instances that are in a stopped or degraded state. Capacity reservations will be maintained for the entire lifecycle of an EC2 instance until termination. The capacity reservations are deliberately left in an open state so degraded instances can be easily replaced.

Installation

Launch Stack

Click the above link to deploy the stack to your environment. The capacity reservation provider will be effective for all instances launched within the region after the stack is created.

If you prefer, you can also manually upsert the template.yml stack from source and compile your own copy of the Lambda source. Please note that if you do this, the Python requirements must be included in the deployment package.

Instance Platform Support

With the recent introduction of full platform information in the DescribeImages API method, capacity reservations can now support all platform types out of the box, which are:

  • Linux/UNIX
  • Red Hat Enterprise Linux
  • SUSE Linux
  • Windows
  • Windows with SQL Server
  • Windows with SQL Server Enterprise
  • Windows with SQL Server Standard
  • Windows with SQL Server Web
  • Linux with SQL Server Standard
  • Linux with SQL Server Web
  • Linux with SQL Server Enterprise

Feedback

All feedback, issues or pull requests are welcomed to be raised in the project. This project is MIT licensed.

auto-capacity-reservations's People

Contributors

iann0036 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.