Von AWS EventBridge Scheduler migrieren
EventBridge-Scheduler-Zeitpläne, die HTTP-Endpunkte aufrufen, zu SteadyCron umziehen — Zeitpläne per AWS CLI auflisten, Cron-Ausdrücke konvertieren, IAM-Verkabelung entfernen.
EventBridge Scheduler ist das richtige Werkzeug, wenn ein Zeitplan AWS-Ressourcen auslöst. Ruft ein Zeitplan aber nur einen HTTP-Endpunkt auf, pflegen Sie IAM-Rollen, API-Destinations, Connections und Dead-Letter-Queues für etwas, das konzeptionell eine Zeile YAML ist. SteadyCron ersetzt diese Verkabelung durch einen überwachten HTTP-Job — Retries, Timeout-Durchsetzung, Alerts und Ausführungsprotokoll inklusive, gehostet in der EU.
1. Zeitpläne auflisten
aws scheduler list-schedules --output table
aws scheduler get-schedule --name nightly-report
Notieren Sie für jeden Zeitplan mit API-Destination (HTTP-Endpunkt) URL, Methode, Header, den Schedule-Ausdruck und die Zeitzone.
2. Schedule-Ausdruck konvertieren
EventBridge nutzt sechsteiliges Cron mit ? sowie Rate-Ausdrücke; SteadyCron nutzt
fünfteiliges Standard-Cron oder ein Intervall in Sekunden:
| EventBridge | SteadyCron |
|---|---|
cron(0 2 * * ? *) | schedule: "0 2 * * *" |
cron(*/15 * * * ? *) | schedule: "*/15 * * * *" |
rate(10 minutes) | interval: 600 |
rate(1 hour) | schedule: "0 * * * *" oder interval: 3600 |
(Sekunden-/Jahresfeld weglassen und ? durch * ersetzen.)
3. Zeitpläne als HTTP-Jobs neu anlegen
jobs:
- id: nightly-report
name: Nightly report
kind: http
method: POST
url: https://app.example.com/tasks/nightly-report
schedule: "0 2 * * *"
timezone: Europe/Berlin
retries: 3
headers:
Authorization: Bearer ${CRON_SECRET} # wird beim Apply aus --env-file aufgelöst
steadycron validate steadycron.yaml
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod
Der Auth-Header ersetzt die Credentials der EventBridge-Connection, Retries ersetzen die
RetryPolicy, das Ausführungsprotokoll ersetzt die CloudWatch-Suche.
4. Parallel laufen lassen, dann aufräumen
Zeigt SteadyCron grüne Läufe, deaktivieren Sie den EventBridge-Zeitplan
(aws scheduler update-schedule --state DISABLED …) und löschen dann Zeitplan,
API-Destination, Connection und die nicht mehr benötigte IAM-Rolle.
Was Sie gewinnen
| EventBridge Scheduler | SteadyCron | |
|---|---|---|
| Aufwand für einen HTTP-Job | Schedule + API-Destination + Connection + IAM-Rolle | Ein YAML-Block |
| Retries | RetryPolicy (pro Schedule) | Pro Job, exponentielles Backoff |
| Fehler-Sichtbarkeit | CloudWatch-Metriken/-Logs | Ausführungsprotokoll + Alerts (E-Mail, Slack, Discord, Telegram, Webhook) |
| Heartbeat-Monitoring | Nein | Ja |
| Konfiguration als Code | CloudFormation/Terraform (umfangreich) | YAML-Manifest oder offizieller Terraform-Provider |
| Hosting | Ihre AWS-Region | EU (DSGVO-nativ, AV-Vertrag) |
Nächste Schritte
- HTTP-Jobs — Request-Builder, Retries, Timeouts
- YAML & CLI — der komplette Manifest-Workflow
- Terraform-Provider — wenn Sie lieber in HCL bleiben