Skip to main content

Launch new EC2 instances easily and quickly with one command

Project description

ec2instance

ec2instance is the "docker run -it" of AWS EC2. It is a single command that very quickly launches an EC2 instance from the CLI and takes care of the legwork to make it immediately usable for you.

Demo

asciicast

Install

pip install ec2instance

Usage

usage: ec2instance [-h] [-t INSTANCE_TYPE] [-i AMI_IDENTIFIER] [-f USER_DATA_FILENAME]
                   [--volume-size VOLUME_SIZE] [--profile PROFILE_NAME] [--region AWS_REGION] [-d]
                   [--show-data-path]

Quickly launch an EC2 instance for small tasks. The instance's lifecycle is tied to the process,
enabling easy Ctrl+C instance termination when done.

options:
  -h, --help            show this help message and exit
  -t, --type INSTANCE_TYPE
                        EC2 instance type. (default: t3a.micro)
  -i, --ami AMI_IDENTIFIER
                        EC2 AMI id. You may also pass "ubuntu" as a shortcut to get the latest
                        Ubuntu LTS, or "amazonlinux" as a shortcut to get the latest Amazon Linux.
                        (default: ubuntu)
  -f, --user-data USER_DATA_FILENAME
                        EC2 "user data" script. Path to a shell script. AWS will upload and run
                        this script on the instance immediately after launch. (default:
                        ~/.config/ec2instance_cmd/user_data_scripts/default.sh)
  --volume-size VOLUME_SIZE
                        Root EBS volume size (GiB). (default is normally approximately 8GiB)
  --profile PROFILE_NAME
                        AWS credentials profile name to use.
  --region AWS_REGION   Specific AWS region to use.
  -d, --detach, --non-interactive, --json
                        By default an interactive shell will be opened in the spawned instance,
                        and the instance will be terminated when the shell is closed. To instead
                        output ec2 metadata as json and then detach, specify --detach.
  --show-data-path      Print out the path where ec2instance is storing local data and
                        configuration.

help & support:
  https://github.com/personalcomputer/ec2instance/issues

Notes

  • Before using ec2instance, you must configure AdministratorAccess-level AWS authentication credentials locally:
    • 1.) install awscli
    • 2.) Run aws configure and enter in your AWS access key. How to get an AWS access key is not in scope of this guide.
  • Upon running ec2instance for the first time, it will tell you it is automatically creating a tiny sandbox in your AWS account to ensure that there are no possible conflicts or security concerns from using ec2instance. This sandbox consists of generating a dedicated fresh VPC and SSH keypair, and these are persisted between invocations of ec2instance. There is no AWS fee associated with these resources, and their auto-generated names are obvious and logged to console. Feel free to delete them if you stop using ec2instance.

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

ec2instance-1.9.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ec2instance-1.9-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file ec2instance-1.9.tar.gz.

File metadata

  • Download URL: ec2instance-1.9.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ec2instance-1.9.tar.gz
Algorithm Hash digest
SHA256 aa89a09f0381d0771c323047aac14a0ed3753969e0d6976d619322925d9bc659
MD5 62113d369ebc5483914dc975d52af56e
BLAKE2b-256 5f1ef49fe19cd402d64e8ab45bcba7c245e04bcaf6945202014074dc36c1272d

See more details on using hashes here.

File details

Details for the file ec2instance-1.9-py3-none-any.whl.

File metadata

  • Download URL: ec2instance-1.9-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ec2instance-1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1d82ecbcec13ba9bb062edf417a4cc4060ad7a55a78062deedaedd26131b2113
MD5 c6dab90e35da188c507fcd42122216ad
BLAKE2b-256 77b3d3f033e8100b978d34066ccbd3f878e6ba8e58f596ac8481ef313c5a52c1

See more details on using hashes here.

Supported by

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