Skip to main content

Useful instrumentation for EC2 instances

Project description

ec2-instance-tools

This repository contains helper scripts for use on EC2 Amazon Linux instances.

sshec2

Usage: sshec2 [flags] <NAME> [<command>]

Look up the private IP address of a running EC2 instance by its Name tag and ssh into it.

If <command> is supplied, run that shell command on the remote instance and exit.

If multiple instances have the same Name tag, print info about all found instances
and exit.


Options:
  -h, --help         show this help message and exit
  -t TAG, --tag=TAG  set TAG to check to find instances via this tag.
                     Default: Name.
  -v, --verbose      Make ssh print verbose debug messages

ec2autonamer

Usage: ec2autonamer [flags] [<instance-id>]

If an instance was launched from an autoscaling group, it will come up with no
Name: tag.  This script assigns an appropriate name tag to the instance.

If <instance-id> is not supplied, ec2autonamer will ask the EC2 instance metadata 
endpoint for the instance id.

The name will have one of the following patterns:

If this instance is an ECS container machine: ecs.{autoscalinggroup_name}.{zone-abbr}.{number},
where {zone-abbr} is the availability zone name of the instance minus the region name.

Otherwise: {autoscalinggroup_name}-{number}

In both cases, {number} will be chosen to be the lowest positive integer that
is not already taken by another instance in the autoscaling group.


Options:
  -h, --help  show this help message and exit

In order to run this on an instance, the instances IAM instance profile will need to have the following rights:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags",
        "ec2:Describe*"
        "autoscaling:Describe*"
      ],
      "Resource": ["*"]
    }
  ]
}

ec2whoami

Usage: whoami.py [flags]

Get this instance's name tag, and save it to /etc/aws-instance-name for use by other programs.
ec2whoami will ask the EC2 instance metadata endpoint for the instance id.


Options:
  -h, --help  show this help message and exit

Installing ec2-instance-tools

ec2-instance-tools is a pure python package. As such, it can be installed in the usual python ways. For the following instructions, either install it into your global python install, or use a python virtual environment to install it without polluting your global python environment.

Install via pip

pip install ec2-instance-tools

Install via setup.py

Download a release from Github, then:

unzip ec2-instance-tools-0.4.0.zip
cd ec2-instance-tools-0.4.0
python setup.py install

Or:

git clone https://github.com/caltechads/ec2-instance-tools.git
cd ec2-instance-tools
python setup.py install

Using pyenv to install into a virtual environment (Recommended)

If you use python and frequently need to install additional python modules, pyenv and pyenv-virtualenv are extremely useful. They allow some very useful things:

  • Manage your virtualenvs easily on a per-project basis
  • Provide support for per-project Python versions.

To install pyenv and pyenv-virtualenv and set up your environment for the first time.

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-instance-tools-0.4.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

ec2_instance_tools-0.4.0-py2.py3-none-any.whl (12.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ec2-instance-tools-0.4.0.tar.gz.

File metadata

  • Download URL: ec2-instance-tools-0.4.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for ec2-instance-tools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 34dd5d5522915ec928d7ad5f1462123275159bf0e0b29d60b7e04ee1c3c18c99
MD5 99fba1f1ed0d6bef835fbee1f2085ad1
BLAKE2b-256 4f56359dffc87abf20104f56a0419e2595b26e9473779d6774061d0230f66ac8

See more details on using hashes here.

File details

Details for the file ec2_instance_tools-0.4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ec2_instance_tools-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 23574020c035214473d39b69564b4f3eb10d7e79fbf7764678794f7fb6ba9456
MD5 328964f0d1ca8bb6098e6ec7eaa0d999
BLAKE2b-256 1e65cda0a842628886307e8ea7851e4573245fbd0ad550965c45160fb7562b27

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