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:

EventBridgeSteadyCron
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 SchedulerSteadyCron
Aufwand für einen HTTP-JobSchedule + API-Destination + Connection + IAM-RolleEin YAML-Block
RetriesRetryPolicy (pro Schedule)Pro Job, exponentielles Backoff
Fehler-SichtbarkeitCloudWatch-Metriken/-LogsAusführungsprotokoll + Alerts (E-Mail, Slack, Discord, Telegram, Webhook)
Heartbeat-MonitoringNeinJa
Konfiguration als CodeCloudFormation/Terraform (umfangreich)YAML-Manifest oder offizieller Terraform-Provider
HostingIhre AWS-RegionEU (DSGVO-nativ, AV-Vertrag)

Nächste Schritte