Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes liés à Amazon EventBridge Scheduler
Vous pouvez utiliser les rubriques de cette section pour résoudre les problèmes courants liés à Amazon EventBridge Scheduler.
Rubriques
Mon planning échoue en raison d'erreurs de ciblage
Les échecs d'invocation de Target sont l'un des problèmes les plus courants liés au EventBridge planificateur. Ces défaillances peuvent survenir pour plusieurs raisons :
Causes courantes :
Paramètres cibles manquants ou incorrects.
Problèmes de connectivité réseau.
Limitation de l'API.
Configuration cible incorrecte.
Étapes de résolution des problèmes
-
Configurer une file d'attente de lettres mortes (DLQ)
Un DLQ vous aide à capturer et à analyser les appels qui ont échoué.
Les appels ayant échoué sont envoyés au DLQ avec des messages d'erreur détaillés.
Pour configurer un DLQ, ajoutez-le à la configuration de votre planning :
{ "DeadLetterConfig": { "Arn": "arn:aws:sqs:region:account-id:MyDLQ" } }Remarque : Si votre DLQ est chiffrée avec une clé KMS, assurez-vous que la politique en matière de clés autorise EventBridge Scheduler à l'utiliser :
{ "Sid": "Allow EventBridge Scheduler to use the key", "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" } -
Vérifier les paramètres de l'API
Assurez-vous que tous les paramètres requis pour vos appels d'API cibles sont présents et correctement formatés.
Vérifiez que les valeurs des paramètres se situent dans les plages autorisées.
Vérifiez que le point de terminaison de l'API est accessible depuis votre VPC si vous utilisez des points de terminaison VPC.
-
Vérifiez la configuration du réseau
Si les appels échouent en raison de problèmes réseau transitoires, implémentez une logique de nouvelle tentative.
Exemple de politique de nouvelle tentative :
{ "RetryPolicy": { "MaximumRetryAttempts": 3, "MaximumEventAgeInSeconds": 3600 } } -
Vérifiez les configurations spécifiques à la cible
Pour les cibles modélisées (comme les tâches ECS), assurez-vous de fournir des remplacements via le
Target.Inputparamètre de l'API de création de calendrier.Vérifiez que votre service cible est pris en charge et correctement configuré.
Problèmes d'autorisation liés aux rôles d'exécution de la planification
Les problèmes d'autorisation liés aux rôles IAM sont une cause fréquente d'échec de l'exécution du planning. Voici comment résoudre ces problèmes :
Causes courantes
Autorisations requises manquantes pour le service cible
Configuration de rôle incorrecte dans le planning
Relation de confiance manquante avec le service EventBridge Scheduler
Autorisations insuffisantes pour accéder aux ressources chiffrées
Symptômes
TargetErrorCountMétrique accrue dans CloudWatchLes plannings ne s'exécutent pas sans problèmes apparents dans la configuration des plannings
Étapes de résolution des problèmes
-
Surveiller CloudWatch les métriques
Vérifiez la
TargetErrorCountmétrique CloudWatch.
-
Utilisez Dead-Letter Queue (DLQ) pour confirmer les problèmes d'autorisation
Configurez un DLQ pour votre emploi du temps.
Si votre cible présente des problèmes d'autorisation et que le DLQ est correctement configuré, vous verrez les appels ayant échoué dans le DLQ avec des messages d'erreur liés aux autorisations.
Si le DLQ reste vide alors que les échecs d'exécution apparaissent dans CloudWatch les métriques, cela indique probablement un problème d'autorisation empêchant le EventBridge Scheduler d'écrire dans le DLQ lui-même.
Note
Assurez-vous que le DLQ lui-même dispose des autorisations appropriées. S'il est chiffré, assurez-vous que EventBridge Scheduler est autorisé à utiliser la clé KMS.
-
Vérifier la relation de confiance
Assurez-vous que votre rôle IAM entretient la bonne relation de confiance avec EventBridge Scheduler :
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" }] } -
Vérifier les autorisations des rôles d'exécution du calendrier
Le rôle d'exécution du planning nécessite des autorisations spécifiques pour invoquer différents types de cibles.
Exemples d'autorisations à inclure dans la politique des rôles d'exécution de votre planning :
// For Lambda function targets - add to schedule execution role { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:region:account-id:function:function-name" }] } // For SQS queue targets - add to schedule execution role { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource": "arn:aws:sqs:region:account-id:queue-name" }] } -
Vérifiez l'accès aux ressources chiffrées
Si votre cible utilise des ressources chiffrées (par exemple, des files d'attente SQS cryptées par KMS), assurez-vous que votre rôle est autorisé à utiliser la clé KMS :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] } -
Vérifier la configuration de l'ARN du rôle
Assurez-vous que l'ARN du rôle est correct dans la configuration de votre planification.
Vérifiez que le rôle existe dans la même Compte AWS région que votre emploi du temps.
Comprendre et gérer les quotas de service
Si vous rencontrez des problèmes lors de la création de plannings ou si le nombre d'appels est limité, il se peut que vous atteigniez les limites du quota de service. EventBridge Le planificateur dispose de quotas pour le nombre de plannings, de groupes d'horaires et de taux d'invocation, qui peuvent varier selon les régions.
Identifier les problèmes liés aux quotas
Pour déterminer si vous atteignez les limites de quotas, procédez comme suit :
-
Surveiller CloudWatch les métriques
Vérifiez la
InvocationThrottleCountmétrique. Une augmentation de cette métrique indique que vous dépassez votre limite de taux d'invocation.Passez en revue la
InvocationAttemptCountmétrique pour comprendre votre utilisation actuelle.
-
Surveillez les messages d'erreur spécifiques
Lorsque vous créez ou modifiez des plannings, a
LimitExceededExceptionindique que vous avez atteint le nombre maximum de plannings ou de groupes de plannings.Les appels d'API renvoyant des erreurs de régulation indiquent que vous dépassez le quota de demandes d'API.
Résoudre les problèmes liés aux quotas
Si vous déterminez que vous atteignez les limites de quotas :
Passez en revue et optimisez vos horaires actuels. Envisagez de consolider les programmes similaires ou de supprimer ceux qui ne sont pas utilisés.
Pour la régulation des API, implémentez une nouvelle tentative avec interruption dans vos appels d'API.
Si vous avez besoin de quotas plus élevés, demandez une augmentation via la console Service Quotas. Sélectionnez EventBridge Scheduler, choisissez le quota que vous devez augmenter et soumettez une demande avec la justification de votre activité.
Problèmes de schéma de planification et de synchronisation des déclencheurs
Les utilisateurs rencontrent parfois des problèmes lorsque les horaires ne se déclenchent pas aux heures prévues. Cela peut être le plus souvent dû à des malentendus concernant les modèles d'horaires, les changements d'heure d'été ou les fenêtres horaires flexibles.
Causes courantes
Mauvaise interprétation des expressions cron.
Comportement inattendu lors des changements d'heure d'été.
Confusion au sujet des fenêtres horaires flexibles.
Mauvaise compréhension des expressions des taux.
Étapes de résolution des problèmes
-
Vérifier les expressions cron
Assurez-vous que votre expression cron est correctement formatée.
Notez que vous ne pouvez pas spécifier day-of-month les deux day-of-week champs simultanément dans une expression cron.
-
Considérations relatives au fuseau horaire
Sélectionnez votre fuseau horaire préféré lors de la création du calendrier.
Comprenez l'impact de l'heure d'été sur votre emploi du temps, car cet ajustement est basé sur l'UTC.
Exemple d'impact de l'heure d'été : si vous configurez un calendrier pour qu'il soit exécuté à 7 h 00 GMT :
En hiver : l'horaire commence à 7 h 00 GMT (car GMT = UTC)
Pendant l'été : le programme fonctionne toujours à 7 h 00 UTC, soit maintenant 6 h 00 GMT/BST
Si vous souhaitez que le calendrier fonctionne à la même heure locale toute l'année, assurez-vous de sélectionner le fuseau horaire approprié lors de la création du calendrier et de déterminer l'impact du changement d'heure sur ce fuseau horaire.
-
Comprendre les fenêtres horaires flexibles
Les fenêtres temporelles flexibles permettent au EventBridge planificateur d'optimiser les invocations.
Il est possible que le calendrier ne se déclenche pas exactement au début de la fenêtre.
Surveillez les temps d'invocation réels pour comprendre le comportement.
-
Taux de révision et expressions cron
Assurez-vous que les expressions de taux sont correctement formatées (par exemple,
rate(5 minutes),rate(1 hour)).Pour les expressions rate et cron, sachez que les invocations de planning ne sont pas limitées à la dixième seconde de minute.
Les horaires peuvent être déclenchés dans la minute spécifiée, mais pas nécessairement au début exact de la minute.
Par exemple :
Un calendrier avec
rate(1 hour)peut être établi à 14 h 00 45, 15 h 00 32, 16 h 00 18, etc.Un calendrier cron défini pour
0 * * * ? *(toutes les heures) peut fonctionner à 14 h 00 15, 15 h 00 07, 16 h 00 52, etc.
-
Surveiller CloudWatch les métriques
Utilisez la
InvocationAttemptCountmétrique pour vérifier si votre planning se déclenche.Vérifiez
TargetErrorCountsi les appels échouent.Si vous avez configuré une file d'attente de lettres mortes, surveillez
InvocationsSentToDeadLetterCountpour suivre les appels ayant échoué.
Création de modèles de planification et d'expressions cron
Les utilisateurs rencontrent souvent des problèmes lors de la création de modèles de planification, en particulier avec les expressions cron. Voici quelques problèmes courants et comment les résoudre :
Problèmes courants
Syntaxe cron incorrecte
Tentative d'utilisation de fonctionnalités cron non prises en charge
Confusion quant aux champs pouvant être utilisés ensemble
Étapes de résolution des problèmes
-
Révision de la syntaxe des expressions cron
Assurez-vous que votre expression cron suit le bon format :
Minutes Hours Day-of-month Month Day-of-week Year.N'oubliez pas que EventBridge Scheduler utilise le standard cron avec un champ Année supplémentaire.
-
Comprendre les limites
Vous ne pouvez pas spécifier à la fois day-of-week les champs day-of-month et comme indiqué ici.
Les expressions cron qui entraînent des fréquences d'une rapidité supérieure à 1 minute ne sont pas prises en charge.
-
Utiliser la fonction de prévisualisation du calendrier
Lors de la création ou de la modification d'un calendrier, le EventBridge planificateur fournit un aperçu des 10 prochaines exécutions.
Utilisez cet aperçu pour vérifier que votre planning sera exécuté aux heures prévues.
Si l'aperçu ne correspond pas à vos attentes, revoyez et ajustez votre expression cron.
Est-ce que ma cible est en train d'être déclenchée ?
Pour vérifier si votre cible est déclenchée :
-
Vérifiez CloudWatch les métriques :
InvocationAttemptCountindique le nombre de tentatives d'invocationTargetErrorCountindique si un appel a échouéTargetErrorThrottledCountindique si votre cible est limitéeInvocationDroppedCountindique si des appels ont été abandonnés
Configurez une file d'attente de lettres mortes (DLQ) pour capturer et analyser les appels ayant échoué.
Objectifs modélisés ou objectifs universels
Si vous recevez un message d'erreur du type « Demande non valide fournie : [service] n'est pas un service pris en charge pour une cible », vous essayez peut-être d'utiliser un service non pris en charge comme modèle de cible.
Pour résoudre ce problème, procédez comme suit :
Vérifiez si le service que vous souhaitez est pris en charge en tant que cible modèle.
Si elle n'est pas prise en charge, utilisez plutôt une cible universelle et configurez-la pour effectuer l'appel d'API approprié à votre service.
Planifier des mises à jour déclenchant des appels inattendus
Lorsque vous modifiez un calendrier, les appels peuvent ne pas refléter immédiatement le calendrier mis à jour. Les modifications ne prennent pas effet instantanément. Par exemple, si vous mettez à jour un calendrier à une date proche de son heure de déclenchement initiale, il se peut que vous receviez un appel basé sur la configuration du calendrier d'origine.
Désactiver ou activer les plannings ponctuels
Lors de la réactivation d'un calendrier ponctuel après l'expiration de son heure initialement prévue, le calendrier peut immédiatement invoquer sa cible. Cela peut se produire même si le planning a été désactivé avant son heure d'exécution initiale.
Par exemple :
Heure actuelle : 13:15 UTC
Programme unique créé pour : 13h30 UTC
Horaire désactivé avant 13h30 UTC
Le calendrier a été réactivé à 14h00 UTC
Résultat : La cible peut être invoquée immédiatement après sa réactivation