ezspot

EZSpot - the spot management tool help you to use AWS EC2 spot instance easily.


Keywords
cli, aws, aws-spot-cli, spot-fleet, spot-instances
License
MIT
Install
pip install ezspot==0.0.6

Documentation

EZSpot

EZSpot - the spot management tool help you to use AWS EC2 spot instances easily.

Features

  1. Start workload as multi spot fleets
    • If some of fleets can not start, the whole workload will rollback.
    • Rollback will clean all resources which create by EZSpot.
    • Support all AWS regions, including BJS and ZHY in China.
  2. Stop workload by terminate all spot fleets behind by workload tag.
  3. Auto associate EIP to all workload spot instance and manage EIP lifecycle.
  4. Log file output under '~/.ezspot/log'.
  5. Can get spot fleet run time and cost by status command.
  6. Can run workload by normal mode (spot fleets) or persistent (spot instances with block duration) or on-demand (on-demand ec2 instances).
  7. Clean all resources created by EZSpot in the history. (Since we already have rollback feature, this command would be only used when some untracked error happened).

Quick Start

First, instance this library

$ sudo pip install ezspot

Second, config your aws AKSK

$ aws configure

If you are the first time to use AWS Spot Fleet, you need to open your console and get a AWS service role for spot fleet.

Then, run

$ ezspot start

Run stop to close your workload

$ ezspot stop

Run status to check workload status, including cost and time (Only support normal mode)

$ ezspot status

Run clean to clean aws console useless resources (Created by EZSpot) if nessary

$ ezspot clean

You can also try more config setting by write it under '~/.ezspot/config' or in command

[default]
wld_instance_type = [ c4.large , c4.xlarge ]
...

You can see the examples folder for more cases.

Because we are still working on this project, you can contact us david.wang@finishy.cn

Docs

config

TODO

  • Fixed public IP and private IP
  • Support ELB and other config for instances

Version

0.0.6