Quickly launch an EC2 instance for small tasks
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
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]
[--non-interactive] [--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.
optional arguments:
-h, --help show this help message and exit
-t INSTANCE_TYPE, --type INSTANCE_TYPE
EC2 instance type. (default: t3a.micro)
-i AMI_IDENTIFIER, --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_FILENAME, --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).
--profile PROFILE_NAME
AWS credentials profile name to use.
--region AWS_REGION Specific AWS region to use.
--non-interactive By default a 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 exit, specify --non-interactive.
--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.4.tar.gz
(9.2 kB
view details)
Built Distribution
ec2instance-1.4-py3-none-any.whl
(10.1 kB
view details)
File details
Details for the file ec2instance-1.4.tar.gz
.
File metadata
- Download URL: ec2instance-1.4.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85799698eb47b0dac8522ddfc4c883fc0fccdb9cf86cb42ab23be9c3284de0b7 |
|
MD5 | 93606875371d0af4a2f64b4a82000d20 |
|
BLAKE2b-256 | fccaea24eb3ec45618d1d50fcff943b1a5e43dbb947a22399b45b72690a40889 |
File details
Details for the file ec2instance-1.4-py3-none-any.whl
.
File metadata
- Download URL: ec2instance-1.4-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b780b77a45cf0c57c15817ee488b4162736d784aaafc3c85f5bf55357f72559c |
|
MD5 | d1b631351037638779481e3958ad9cfa |
|
BLAKE2b-256 | 1a141815a3f0c684bd99a9d4ca4c209f15c86b000e1986069e12aadfcc552aed |