Skip to content

The uptime:schedule tag

The uptime:schedule tag tells Uptime Scheduler when a resource should be running. Add the tag to any supported AWS resource and the scheduler will start it at the beginning of the window and stop it at the end.

Tag key

uptime:schedule

Schedule format

[time-range] [days]

The time range must come before the day specification. Both parts are required unless using a named preset.

Time range formats

FormatExampleMeaning
H-H9-179:00 AM to 5:00 PM (hour precision)
HHMM-HHMM0830-17308:30 AM to 5:30 PM (minute precision)

Hours use 24-hour format. 0 is midnight, 23 is 11 PM.

Day specifications

ValueMeaning
mon-friMonday to Friday
weekdaysMonday to Friday (alias)
sat-sunSaturday and Sunday
weekendsSaturday and Sunday (alias)
mon-sunEvery day
dailyEvery day (alias)
mon, tue, wed, thu, fri, sat, sunSpecific days

Named presets

ValueMeaning
weekdays-business-hoursMonday–Friday, 9:00 AM–5:00 PM
always-onResource is always running (scheduler takes no action)
always-offResource is always stopped

Examples

# Weekday business hours
uptime:schedule = 9-17 mon-fri
# Extended hours with minutes
uptime:schedule = 0800-1900 mon-fri
# Weekend only
uptime:schedule = 10-16 weekends
# Every day
uptime:schedule = 6-22 daily
# Named preset
uptime:schedule = weekdays-business-hours

Timezone

Schedule times are resolved using the following priority order:

  1. Explicit suffix on the tag — append a timezone abbreviation after the schedule (see below)
  2. Resource’s AWS region — if no suffix is given, times are interpreted in the timezone of the region the resource lives in (e.g. eu-west-3Europe/Paris, us-east-1America/New_York)
  3. Stack default — the Timezone CloudFormation parameter you set during deployment
  4. UTC — fallback if none of the above resolve

This means a resource in us-east-1 tagged 9-17 mon-fri will start at 9 AM Eastern time, even if your CloudFormation stack is deployed in eu-west-2.

Explicit timezone suffix

Append a timezone abbreviation to override the automatic region-based resolution:

uptime:schedule = 9-17 mon-fri CET
uptime:schedule = 0830-1730 mon-fri BST
uptime:schedule = 8-18 weekdays EST

The suffix is case-insensitive and separated from the day specification by a space.

Supported timezone abbreviations

AbbreviationTimezone
UTC / GMTUTC
BSTEurope/London (British Summer Time)
CET / CESTEurope/Paris (Central European Time)
EET / EESTEurope/Helsinki (Eastern European Time)
EST / EDTAmerica/New_York (Eastern)
CST / CDTAmerica/Chicago (Central)
MST / MDTAmerica/Denver (Mountain)
PST / PDTAmerica/Los_Angeles (Pacific)
ISTAsia/Kolkata (India)
JSTAsia/Tokyo (Japan)
AEST / AEDTAustralia/Sydney (Eastern)
ACST / ACDTAustralia/Darwin (Central)
AWSTAustralia/Perth (Western)

Daylight saving time is handled automatically — the scheduler always fires at the wall clock time you specified, regardless of DST transitions.

How to apply the tag

AWS Console

  1. Navigate to the resource in the AWS Console
  2. Open the Tags tab
  3. Add a tag with key uptime:schedule and your schedule as the value

AWS CLI

Terminal window
# EC2 — times in the resource's region timezone (us-east-1 → America/New_York)
aws ec2 create-tags \
--resources i-0123456789abcdef0 \
--tags Key=uptime:schedule,Value="9-17 mon-fri"
# EC2 — explicit timezone override
aws ec2 create-tags \
--resources i-0123456789abcdef0 \
--tags Key=uptime:schedule,Value="9-17 mon-fri CET"
# RDS
aws rds add-tags-to-resource \
--resource-name arn:aws:rds:eu-west-2:123456789012:db:my-db \
--tags Key=uptime:schedule,Value="9-17 mon-fri"

Terraform

resource "aws_instance" "app" {
# ...
tags = {
"uptime:schedule" = "9-17 mon-fri"
}
}

AWS CDK

instance.applyRemovalPolicy(RemovalPolicy.RETAIN);
Tags.of(instance).add('uptime:schedule', '9-17 mon-fri');

Removing a schedule

Remove the uptime:schedule tag from the resource. The EventBridge rules will be deleted and the resource will no longer be managed by Uptime Scheduler. The resource is left in its current state.