EC2 Instances

Schedule individual EC2 instances to stop overnight and on weekends, then start again before working hours - the same remember-and-restore model Runless uses for ECS, applied to plain instances.

Overview

Select EC2 in the Resources tab to list the instances Runless can see across your enabled regions. Each row shows the instance name (from its Name tag), its id and region, the on-demand cost per hour, the projected monthly savings once a schedule is attached, and whether a schedule is currently configured.

Stopping an instance stops billing for its compute. Starting it again restores the same instance - its instance id, private IP, and EBS volumes are preserved.

EBS storage still bills while stopped

Stopping an EC2 instance stops the hourly compute charge, but attached EBS volumes continue to bill for storage. Projected savings shown in the dashboard cover instance compute only.

Requirements

For Runless to stop and start an instance, two things must be true:

  1. The EC2 permission is enabled on your stack. The Quick Start stack grants EC2 access behind the EnableEc2 parameter (on by default). See Updating Your Stack.
  2. The instance is tagged runless:managed=true. Stop/Start permissions are scoped to this tag, so Runless can never act on an instance you have not explicitly opted in. Discovery still lists untagged instances so you can find them, but they appear greyed-out until tagged.
# Terraform example
resource "aws_instance" "dev_box" {
  # ...
  tags = {
    Name             = "dev-box"
    "runless:managed" = "true"
  }
}

Which instances can be scheduled

Runless lists every instance in your enabled regions but marks some as not schedulable, with the reason shown inline:

InstanceSchedulable?Why
On-demand, EBS-backed, tagged runless:managed=trueYesClean stop/start preserves the instance
Missing the runless:managed tagNoTag it to opt in
Auto Scaling Group member (aws:autoscaling:groupName tag)NoSchedule the group instead (coming soon)
Spot instanceNoSpot instances can't be stopped and resumed on a schedule
Instance-store-backedNoData on instance-store volumes is lost on stop

Attaching a schedule

Expand a schedulable instance and pick the active days and the startup/shutdown times (in UTC). Runless creates two schedules per rule - one to stop, one to start - and shows the projected monthly savings based on the instance's on-demand price and the idle window.

To schedule many instances at once, select a region and use the Region-wide schedule panel to apply one schedule to every schedulable instance in that region. A later per-instance edit overrides just that instance; re-applying the region schedule overwrites them all.

Stopping and starting take a moment

EC2 stop and start are not instantaneous. An instance moves through astopping state before it reaches stopped, and through pending before running. The dashboard updates live as each transition happens - including instances you stop or start directly in the AWS console - so you don't need to refresh the list to see the settled state.

See Rules for how schedule windows and time zones work, and Monitoring & Savings for how realized savings are tracked.