Migrer depuis AWS EventBridge Scheduler

Migrez vers SteadyCron les plannings EventBridge Scheduler qui appellent des endpoints HTTP — listez-les avec l'AWS CLI, convertissez les expressions cron, supprimez le câblage IAM.

EventBridge Scheduler est le bon outil quand un planning déclenche des ressources AWS. Quand un planning ne fait qu’appeler un endpoint HTTP, vous maintenez des rôles IAM, des API destinations, des connections et des dead-letter queues pour ce qui tient conceptuellement en une ligne de YAML. SteadyCron remplace ce câblage par un job HTTP surveillé — réessais, timeouts, alertes et journal d’exécution inclus, hébergé en UE.

1. Listez vos plannings

aws scheduler list-schedules --output table
aws scheduler get-schedule --name nightly-report

Pour chaque planning ciblant une API destination (endpoint HTTP), notez l’URL, la méthode, les headers, l’expression de planning et le fuseau horaire.

2. Convertissez l’expression de planning

EventBridge utilise un cron à six champs avec ? et des expressions rate ; SteadyCron utilise le cron standard à cinq champs ou un simple intervalle en secondes :

EventBridgeSteadyCron
cron(0 2 * * ? *)schedule: "0 2 * * *"
cron(*/15 * * * ? *)schedule: "*/15 * * * *"
rate(10 minutes)interval: 600
rate(1 hour)schedule: "0 * * * *" ou interval: 3600

(Supprimez les champs secondes/année et remplacez ? par *.)

3. Recréez chaque planning en job HTTP

jobs:
  - id: nightly-report
    name: Nightly report
    kind: http
    method: POST
    url: https://app.example.com/tasks/nightly-report
    schedule: "0 2 * * *"
    timezone: Europe/Paris
    retries: 3
    headers:
      Authorization: Bearer ${CRON_SECRET}   # résolu depuis --env-file à l'apply
steadycron validate steadycron.yaml
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod

Le header d’auth remplace les credentials de la connection EventBridge ; les réessais remplacent la RetryPolicy ; le journal d’exécution remplace la fouille CloudWatch.

4. Faites tourner les deux en parallèle, puis nettoyez

Une fois des runs verts côté SteadyCron, désactivez le planning EventBridge (aws scheduler update-schedule --state DISABLED …), puis supprimez le planning, l’API destination, la connection et le rôle IAM devenu inutile.

Ce que vous gagnez

EventBridge SchedulerSteadyCron
Mise en place d’un job HTTPSchedule + API destination + connection + rôle IAMUn bloc YAML
RéessaisRetryPolicy (par schedule)Par job, backoff exponentiel
Visibilité des échecsMétriques/logs CloudWatchJournal d’exécution + alertes (e-mail, Slack, Discord, Telegram, webhook)
Monitoring heartbeatNonOui
Config as codeCloudFormation/Terraform (verbeux)Manifeste YAML ou provider Terraform officiel
HébergementVotre région AWSUE (RGPD natif, DPA signé)

Étapes suivantes