AWS Step Functions & EventBridge Support
Replacing cron servers with EventBridge Scheduler.
A server that exists only to run cron jobs costs money, needs patching and is a single point of failure. EventBridge Scheduler runs one-time and recurring schedules and calls Lambda, Step Functions, ECS, SQS and many other targets directly. We migrate each job and retire the server.
When You Need This
The situations where this work pays for itself.
Signs it is time
- A small EC2 instance runs only crontab jobs
- Cron jobs fail silently or run twice after a server restart
- You need schedules in a specific time zone, including daylight saving
- Scheduled tasks are tied to one engineer's server
- You need thousands of one-off timers, such as reminders
What you get
- A migrated schedule per cron job in infrastructure as code
- Alarms for failed invocations and DLQ depth
- A cutover checklist and rollback
- Server shutdown and cost savings summary from Cost Explorer
How we do it
A clear, safe process you can follow along with.
1. Inventory the cron jobs
We collect every crontab, systemd timer and scheduled script, with its schedule, runtime, duration, dependencies, secrets, output and failure behavior.
2. Choose the target for each job
Short jobs become Lambda functions, long or containerized ones become ECS or Fargate tasks, multi-step ones become Step Functions, and a simple trigger can send to SQS or SNS. Anything over the Lambda limit does not fit Lambda.
3. Translate the schedule
EventBridge Scheduler cron expressions have six fields and use a different syntax from Linux cron, including a year field and a question mark for day-of-week or day-of-month. We convert and check next run times.
4. Set time zone, window and retries
We set the schedule's time zone to avoid UTC surprises, choose a flexible time window if exact timing is not needed, and configure the retry policy and a dead-letter queue for failed target invocations.
5. Handle secrets, networking and IAM
Each schedule uses an execution role to call its target. We move credentials into Secrets Manager or Parameter Store and give jobs least-privilege roles and VPC access when needed.
6. Run in parallel, then cut over
We run old and new together, compare outputs, then disable the cron entry and watch Scheduler metrics and alarms before stopping the server.
Mistakes we help you avoid
Common ways this goes wrong, and what we do instead.
Copying Linux cron syntax directly
The expression formats differ. Verify the next run times.
Ignoring duplicates
Retries or overlap can run a job twice. Make jobs idempotent.
Forgetting daylight saving
Use an explicit time zone and know how skipped or repeated hours behave.
Keeping the server just in case
Run a defined parallel period, then retire it.
Frequently Asked Questions
What is the difference between EventBridge Scheduler and scheduled rules?
Scheduler is a dedicated service with time zones, one-time schedules, flexible windows, per-schedule retries and many more targets and scale. Rules schedules are the older approach.
Can Lambda run a job longer than 15 minutes?
No. For longer jobs we trigger Step Functions, ECS tasks or AWS Batch from the schedule instead.
Does Scheduler guarantee exact timing?
It aims to invoke targets at the scheduled time, but delivery is best effort with a retry policy, so critical jobs should be idempotent and monitored.
Want Help With Replacing cron servers with EventBridge Scheduler?
Schedule an appointment. Tell us about your environment and we will outline the safest, highest-value approach.
Schedule Appointment › No commitment required