Skip to main content

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

Project description

# ec2.py

> 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: https://pypi.python.org/pypi/ec2.py

Features:

  • 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.

Supports:

  • 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 ec2.py –upgrade

## Setup

## Usage

  • ec2 - Creates a new AWS instance of t2.nano, and a new Key ec2.py 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 ec2.py.pem

  • 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 ec2.py.pem

## Developer Setup

  • Install VirtualEnvWrapper
    • sudo pip install virtualenvwrapper –upgrade

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

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

  • Setup
    • make setup

## AMI Info

  • AMI used: amzn-ami-hvm-2016.03.3.x86_64-gp2 (ami-6869aa05)

  • Selected based on compatability with AWS Lambda environment

## 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

ec2.py-0.1.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

ec2.py-0.1.4-py2-none-any.whl (8.0 kB view details)

Uploaded Python 2

File details

Details for the file ec2.py-0.1.4.tar.gz.

File metadata

  • Download URL: ec2.py-0.1.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ec2.py-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8ea0325a34508b4037b23a5f4c037d13232736e605119b19f859ddf722750417
MD5 ecafa70056e6dd08d9efce61c71d3bee
BLAKE2b-256 55fe111b942177190e016c40477d80331f8d31eb5ee70be68ac28313fba47a38

See more details on using hashes here.

File details

Details for the file ec2.py-0.1.4-py2-none-any.whl.

File metadata

File hashes

Hashes for ec2.py-0.1.4-py2-none-any.whl
Algorithm Hash digest
SHA256 4084255e87d064a2bf6deca4d9a69a74211ee4c132e40fb077f40e5ef49ca9d9
MD5 700a214bdf48fe98b803619eb6dfddc7
BLAKE2b-256 b819e4172916ee708bf242bddcb9f7ad9ae4a7850e731bd7ff9d05b35fbf4521

See more details on using hashes here.

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