Skip to content

Launch, snapshot and destroy AWS spot instances

Notifications You must be signed in to change notification settings

samuelreh/spotr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spotr

Spotr simplifies launching, snapshotting and destroying AWS spot instances.

It's designed for users wanting to use a spot instance as a development box, and persist the state in between sessions.

Quick Start

First, install the library from pip or clone this git repository and install locally:

$ pip install spotr
$ pip install -e .

python -m build Next, set up credentials and region (in ~/.aws/config):

[default]
aws_access_key_id = YOUR_KEY
aws_secret_access_key = YOUR_SECRET
region=us-west-1

Then, launch an instance using:

$ spotr launch --type p2.xlarge --max-bid .30 --ami ami-4bf20033

List your running spotr instances with:

$ spotr list

When you're done working, you can save the current state (take a snapshot) using:

$ spotr snapshot

And then to terminate the instance:

$ spotr destroy

Next time you launch an instance, leave out the --ami tag and you'll restore the most recent snapshot taken with spotr.

$ spotr launch --type p2.xlarge --max-bid .30

You can specify default configurations in ~/.spotr/config:

[config]
max_bid=.30
type=p2.xlarge
ebs_optimized=true
security_group_id=sg-XXXXXXXXXXXXXXX
ami=ami-XXXXXXXXXXXXXXXX
us-west-2a_subnet_id=subnet-XXXXXXXX
us-west-2b_subnet_id=subnet-XXXXXXXX
us-west-2c_subnet_id=subnet-XXXXXXXX
us-west-2d_subnet_id=subnet-XXXXXXXX
iam_instance_profile_arn=arn:aws:iam::XXXXXXXX:instance-profile/instance-profile-role
hosted_zone_id=XXXXXXXXXXX
record_name=subdomain.example.com
user_data=#cloud-config
    runcmd:
        - [ sh, -c, "/bin/bash /opt/dosomethinguseful.sh" ]

About

Launch, snapshot and destroy AWS spot instances

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages