Skip to main content

Move to a land of Spot AWS instances

Project description

soft-spot

Build Status PyPI version

Do you have a soft spot for cheap cloud computing (a.k.a. AWS Spot instances)? Me too, no shame on that.

Crappy Logo

However, what is a shame is having to go through that clunky UI and click here and there to get one; soft-spot makes it dead easy to launch an instance:

How?

Just define a file with the specifications of the machine you want to launch:

[INSTANCE]
ami = ami-06d51e91cea0dac8d
type = t2.micro
security_group = SecurityGroupName
key_pair = some-key
spot_price = 0.005
availability_zone = us-west-2c

[VOLUME]
id = vol-00a56acb10f11b0e3
device = /dev/sdf

[ACCOUNT]
user = ubuntu
key_location = ~/.ssh/some-key.pem

[SCRIPT]
commands = ["sudo mkdir /data", "sudo mount /dev/xvdf /data", "sudo chown ubuntu /data"]

Then just execute the sspot request command:

sspot request <<instance_config_file>>

Other commands

cancel

Cancel all active spot requests and terminate the instances associated to them:

sspot cancel

price

Show the prices for the specified spot instance:

sspot price <<instance_config_file>>

Credentials

This script uses boto3 so I strongly recommend heading over to its documentation to learn more.

Alternatively, you could create a tiny configuration file like this:

[DEFAULT]
aws_access_key_id = an_acces_key
aws_secret_access_key = a_secret_key
region_name = us-west-2

And then pass it on to the spot command:

sspot -a ~/aws_credentials.txt request <<instance_config_file>> 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soft-spot-0.4.0.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

soft_spot-0.4.0-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page