EC2 Scripts

December 9th, 2024
cli, tech
I do a lot of work on ec2 instances, and one thing that makes this easier is having a few scripts for manipulating them. These are very small, small enough to go in my .bashrc, but still make my life a lot easier.

The first one is start_ec2:

alias start_ec2='aws ec2 start-instances --instance-ids i-NNNN'

I have an instance I do most of my work on, and this command starts it. Way better than logging into the AWS Console like I used to do.

After a few seconds I run:

function ssh_ec2() {
  ADDR="$(aws ec2 describe-instances \
           --instance-ids i-NNNN \
           --query 'Reservations[].Instances[].PublicDnsName'
           --output text)"
  if [ $? != 0 ] || [ -z "$ADDR" ]; then
    echo "Instance not running."
    return
  fi

  scp "ec2-user@$ADDR:.full_history" \
      /path/to/ec2-full-history-backup.txt

  ssh "ec2-user@$ADDR"
}

This figures out the IP of the instance, copies down my (very important) full shell history, and logs me in over ssh.

I don't have a command for shutting down remotely: I just run sudo shutdown -h now while logged in.

The last command, and probably my favorite, is resize_ec2:

function resize_ec2j() {
  aws ec2 modify-instance-attribute \
   --instance-id i-NNNN \
   --instance-type "$1"
}

For example, resize_ec2 c6a.xlarge or resize_ec2 c6a.32xlarge. Depending on what I'm doing I might need very different specs, and I don't want to pay $4.90/hr when I only need a $0.15/hr machine. It does take a mildly annoying few minutes for a machine that has just shut down to transition into a state where you can resize it, but it's not too bad.

Referenced in:

Comment via: facebook, lesswrong, mastodon, bluesky, substack

Recent posts on blogs I like:

Parenting standards and the village

Cartoons Hate Her has written about the village nobody wants. In principle, parents usually want a community to help take care of their kids: someone to bring meals when they get sick, keep an eye on their children while they play, and talk to about paren…

via Thing of Things December 19, 2025

Opinionated takes on parenting

This post is a collection of parenting takes that sometimes go through my head, based on my experience raising our two boys (5 and 2 years old). All of this is based on my experience and might not apply to others (see the law of equal and opposite advice)…

via Victoria Krakovna December 16, 2025

How to Make a Christmas Wreath

Yesterday, I made a Christmas wreath. Here's how to make one. First, find an evergreen tree near your house. Clip off a few branches from the tree. Try to have as many leaves or needles on the branches as possible. Next, bring them home. What I usu…

via Anna Wise's Blog Posts December 6, 2025

more     (via openring)