Skip to main content

Simple CLI / module to create/start/stop EC2 instances

Project description


> Simple CLI / module to create/start/stop EC2 instances. > Originally created to spin up instances to compile Python extensions for AWS Lambda projects.

Pypi Link:


  • Single command creation of security key and instance

  • Idempotent, repeated calls do not result in multiple instances

  • Waits for AWS tasks to complete and provides confirmation.


  • AWS Profiles

  • Instance type specification

  • Key generation

  • Start/stop/terminate Instances

## Notes

By design, the application binds instance creation to a key file (custom name can be specified). This allows enhanced security around managing the life cycle of an instance, but requires creation of more than one keyfile for multiple instances.

## Installation

  • Install:
    • pip install –upgrade

## Setup

## Usage

  • ec2 - Creates a new AWS instance of t2.nano, and a new Key if either do not exist. If these already exist, will start the instance if stopped.

  • ec2 -s - Stop the instance. If one does not exist, will create a key and new instance.

  • ec2 -r - Remove the instance (terminates) and delete the key.

  • ec2 -i - Print the public dns name. Allows calling from another bash script.

  • ec2 -i -v - Print the instance type, ami image, public ip address, public dns name.

  • ec2 -p myProfile -k myKey -t t2.medium - Use a custom profile, key name and instance type.

  • ec2 -h - Help

## SSH to a created instance:

  • Make sure the pem key has chmod 0600, example: chmod 600

  • Make sure the security group for the instance has port 22 connectivity allowed.

  • Get the Public DNS name for the instance: ec2 -i

  • Connect: ssh ec2-user@DNS_NAME -i

## Developer Setup

  • Install VirtualEnvWrapper
    • sudo pip install virtualenvwrapper –upgrade

    • echo “source /usr/local/bin/” >> ~/.bashrc”

  • Create / switch to Virtual Env
    • mkvirtualenv ec2 or workon ec2

  • Setup
    • make setup

## AMI Info

## Articles

## Links

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 (4.8 kB view hashes)

Uploaded Source

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