Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi di Amazon EventBridge Scheduler
Puoi utilizzare gli argomenti di questa sezione per risolvere i problemi più comuni di Amazon EventBridge Scheduler.
Argomenti
La mia pianificazione fallisce a causa di errori di destinazione
Gli errori di chiamata di Target sono uno dei problemi più comuni di Scheduler. EventBridge Questi errori possono verificarsi per diversi motivi:
Cause comuni:
Parametri di destinazione mancanti o errati.
Problemi di connettività di rete.
Limitazione delle API.
Configurazione errata della destinazione.
Fasi per la risoluzione dei problemi
-
Configurare una Dead-Letter Queue (DLQ)
Un DLQ consente di acquisire e analizzare le chiamate non riuscite.
Le chiamate non riuscite vengono inviate al DLQ con messaggi di errore dettagliati.
Per configurare un DLQ, aggiungilo alla configurazione di pianificazione:
{ "DeadLetterConfig": { "Arn": "arn:aws:sqs:region:account-id:MyDLQ" } }Nota: se il tuo DLQ è crittografato con una chiave KMS, assicurati che la politica della chiave consenta a EventBridge Scheduler di utilizzarlo:
{ "Sid": "Allow EventBridge Scheduler to use the key", "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" } -
Verifica i parametri dell'API
Assicurati che tutti i parametri richiesti per le chiamate API di destinazione siano presenti e formattati correttamente.
Verifica che i valori dei parametri rientrino negli intervalli consentiti.
Verifica che l'endpoint API sia accessibile dal tuo VPC se utilizzi endpoint VPC.
-
Rivedi la configurazione di rete
Se le chiamate falliscono a causa di problemi transitori di rete, implementa la logica di ripetizione dei tentativi.
Esempio di politica di riprova:
{ "RetryPolicy": { "MaximumRetryAttempts": 3, "MaximumEventAgeInSeconds": 3600 } } -
Controlla le configurazioni specifiche della destinazione
Per gli obiettivi basati su modelli (come le attività ECS), assicurati di fornire le sostituzioni tramite il parametro dell'API per la creazione della pianificazione.
Target.InputVerifica che il servizio di destinazione sia supportato e configurato correttamente.
Pianifica i problemi relativi alle autorizzazioni dei ruoli di esecuzione
I problemi di autorizzazione dei ruoli IAM sono una causa comune degli errori di esecuzione della pianificazione. Ecco come risolvere e risolvere questi problemi:
Cause comuni
Mancano le autorizzazioni richieste per il servizio di destinazione
Configurazione errata dei ruoli nella pianificazione
Rapporto di fiducia mancante con il servizio EventBridge Scheduler
Autorizzazioni insufficienti per accedere alle risorse crittografate
Caratteristiche
Aumento della
TargetErrorCountmetrica in CloudWatchLe pianificazioni non vengono eseguite senza problemi apparenti nella configurazione della pianificazione
Fasi per la risoluzione dei problemi
-
Monitora le CloudWatch metriche
Controlla la
TargetErrorCountmetrica. CloudWatch
-
Usa Dead-Letter Queue (DLQ) per confermare i problemi di autorizzazione
Configura un DLQ per la tua pianificazione.
Se ci sono problemi di autorizzazione con la destinazione e il DLQ è configurato correttamente, nel DLQ verranno visualizzate le chiamate non riuscite con i messaggi di errore relativi alle autorizzazioni.
Se il DLQ rimane vuoto nonostante le esecuzioni non riuscite siano riportate nelle CloudWatch metriche, ciò indica probabilmente un problema di autorizzazioni che impedisce a Scheduler di scrivere sul DLQ stesso. EventBridge
Nota
Assicurati che il DLQ stesso disponga delle autorizzazioni corrette. Se è crittografato, assicurati che EventBridge Scheduler abbia il permesso di utilizzare la chiave KMS.
-
Verifica la relazione di fiducia
Assicurati che il tuo ruolo IAM abbia il corretto rapporto di fiducia con EventBridge Scheduler:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" }] } -
Controlla le autorizzazioni del ruolo di esecuzione della pianificazione
Il ruolo di esecuzione della pianificazione richiede autorizzazioni specifiche per richiamare diversi tipi di destinazione.
Esempi di autorizzazioni da includere nella politica del ruolo di esecuzione della pianificazione:
// 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" }] } -
Verifica l'accesso crittografato alle risorse
Se il tuo target utilizza risorse crittografate (ad esempio, code SQS crittografate con KMS), assicurati che il tuo ruolo disponga delle autorizzazioni per utilizzare la chiave KMS:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] } -
Verifica della configurazione ARN del ruolo
Assicurati che il ruolo ARN nella configurazione della pianificazione sia corretto.
Verifica che il ruolo esista nella stessa Account AWS regione della tua pianificazione.
Comprensione e gestione delle quote di servizio
Se riscontri problemi nella creazione di pianificazioni o nella visualizzazione di chiamate limitate, è possibile che tu stia raggiungendo i limiti delle quote di servizio. EventBridge Scheduler ha delle quote per il numero di pianificazioni, i gruppi di pianificazione e le tariffe di chiamata, che possono variare in base all'area geografica.
Identificazione dei problemi relativi alle quote
Per determinare se stai raggiungendo i limiti di quota:
-
Monitora le metriche CloudWatch
Controlla la
InvocationThrottleCountmetrica. Un aumento di questa metrica indica che stai superando il limite di frequenza di invocazione.Esamina la
InvocationAttemptCountmetrica per comprendere il tuo utilizzo attuale.
-
Presta attenzione ai messaggi di errore specifici
Durante la creazione o la modifica delle pianificazioni, a
LimitExceededExceptionindica che hai raggiunto il numero massimo di pianificazioni o gruppi di pianificazioni.Le chiamate API che restituiscono errori di limitazione suggeriscono che stai superando la quota di richieste API.
Risoluzione dei problemi relativi alle quote
Se ritieni di aver raggiunto i limiti di quota:
Rivedi e ottimizza i tuoi programmi attuali. Valuta la possibilità di consolidare pianificazioni simili o di rimuovere quelle inutilizzate.
Per la limitazione delle API, implementa retry with backoff nelle tue chiamate API.
Se hai bisogno di quote più elevate, richiedi un aumento tramite la console Service Quotas. Seleziona EventBridge Scheduler, scegli la quota da aumentare e invia una richiesta con la giustificazione aziendale.
Pianifica lo schema e attiva problemi di tempistica
Gli utenti a volte riscontrano problemi in cui le pianificazioni non vengono attivate negli orari previsti. Nella maggior parte dei casi, ciò può essere dovuto a incomprensioni relative agli schemi di pianificazione, alle modifiche dell'ora legale o alle finestre temporali flessibili.
Cause comuni
Interpretazione errata delle espressioni cron.
Comportamento imprevisto durante le modifiche dell'ora legale.
Confusione sulle finestre temporali flessibili.
Incomprensione delle espressioni dei tassi.
Fasi per la risoluzione dei problemi
-
Verifica le espressioni cron
Assicurati che l'espressione cron sia formattata correttamente.
Nota che non puoi specificare entrambi i day-of-month day-of-week campi contemporaneamente in un'espressione cron.
-
Considerazioni sul fuso orario
Seleziona il tuo fuso orario preferito durante la creazione della pianificazione.
Scopri in che modo l'ora legale influisce sulla tua pianificazione poiché questa modifica si basa sull'UTC.
Esempio di impatto dell'ora legale: se configuri una pianificazione in modo che venga eseguita alle 7:00 GMT:
Durante l'inverno: il programma viene eseguito alle 7:00 GMT (come GMT = UTC)
Durante l'estate: l'orario è ancora attivo alle 7:00 UTC, che ora sono le 6:00 GMT/BST
Se desideri che la pianificazione venga eseguita alla stessa ora locale tutto l'anno, assicurati di selezionare il fuso orario appropriato al momento della creazione della pianificazione e di come l'ora legale può influire su tale fuso orario.
-
Comprendi le finestre temporali flessibili
Le finestre temporali flessibili consentono a EventBridge Scheduler di ottimizzare le chiamate.
La pianificazione potrebbe non attivarsi esattamente all'inizio della finestra.
Monitora i tempi di invocazione effettivi per comprendere il comportamento.
-
Frequenza di revisione e espressioni cron
Assicurati che le espressioni di frequenza siano formattate correttamente (ad esempio
rate(5 minutes),rate(1 hour)).Sia per le espressioni rate che per quelle cron, tenete presente che le chiamate di schedulazione non sono limitate allo 0° secondo di minuto.
Le pianificazioni possono attivarsi entro il minuto specificato, ma non necessariamente all'inizio esatto del minuto.
Esempio:
Una pianificazione
rate(1 hour)che potrebbe essere eseguita alle 14:00:45, 15:00:32, 16:00:18, ecc.Una pianificazione cron impostata per
0 * * * ? *(ogni ora) potrebbe essere eseguita alle 14:00:15, 15:00:07, 16:00:52 PM, ecc.
-
Monitora le metriche CloudWatch
Usa la
InvocationAttemptCountmetrica per verificare se la tua pianificazione è attiva.Controlla
TargetErrorCountse le chiamate hanno esito negativo.Se hai configurato una Dead-Letter Queue, monitora per tenere traccia delle chiamate non riuscite.
InvocationsSentToDeadLetterCount
Creazione di schemi di pianificazione ed espressioni cron
Gli utenti incontrano spesso problemi durante la creazione di schemi di pianificazione, in particolare con le espressioni cron. Ecco alcuni problemi comuni e come risolverli:
Problemi comuni
Sintassi cron errata
Tentativo di utilizzare funzionalità cron non supportate
Confusione su quali campi possono essere usati insieme
Fasi per la risoluzione dei problemi
-
Rivedi la sintassi delle espressioni cron
Assicurati che la tua espressione cron segua il formato corretto:.
Minutes Hours Day-of-month Month Day-of-week YearRicorda che EventBridge Scheduler utilizza lo standard cron con un campo Year aggiuntivo.
-
Comprendi le limitazioni
Non è possibile specificare sia i campi che day-of-month i day-of-week campi contemporaneamente, come illustrato qui.
Le espressioni Cron che indicano frequenze più rapide di 1 minuto non sono supportate.
-
Usa la funzione di anteprima della pianificazione
Quando si crea o si modifica una EventBridge pianificazione, Scheduler fornisce un'anteprima dei prossimi 10 tempi di esecuzione.
Usa questa anteprima per verificare che la tua pianificazione venga eseguita negli orari previsti.
Se l'anteprima non corrisponde alle tue aspettative, rivedi e modifica l'espressione cron.
Il mio bersaglio viene attivato?
Per confermare se il bersaglio viene attivato:
-
Controlla le CloudWatch metriche:
InvocationAttemptCountmostra il numero di tentativi di invocazioneTargetErrorCountindica se qualche chiamata è fallitaTargetErrorThrottledCountmostra se il bersaglio viene strozzatoInvocationDroppedCountindica se alcune invocazioni sono state interrotte
Configura una Dead-Letter Queue (DLQ) per acquisire e analizzare eventuali chiamate non riuscite.
Target basati su modelli e obiettivi universali
Se ricevi un errore del tipo «Richiesta non valida fornita: [servizio] non è un servizio supportato per una destinazione», potresti provare a utilizzare un servizio non supportato come destinazione basata su modelli.
Per risolvere questo problema:
Verifica se il servizio desiderato è supportato come destinazione basata su modelli.
Se non è supportato, utilizza invece un target universale e configuralo per effettuare la chiamata API appropriata al tuo servizio.
Pianifica gli aggiornamenti che attivano chiamate impreviste
Quando si apporta una modifica a una pianificazione, le chiamate potrebbero non rispecchiare immediatamente la pianificazione aggiornata. È necessario un breve periodo di tempo affinché vengano applicate le modifiche. Ad esempio, se si aggiorna una pianificazione in prossimità dell'orario di attivazione originale, è possibile che venga visualizzata una chiamata basata sulla configurazione della pianificazione originale.
Disabilitazione o attivazione di pianificazioni una tantum
Quando si riattiva una pianificazione unica dopo che è scaduta l'ora pianificata originale, la pianificazione può richiamare immediatamente la destinazione. Ciò può verificarsi anche se la pianificazione è stata disabilitata prima dell'ora di esecuzione originale.
Esempio:
Ora attuale: 13:15 UTC
Creata una pianificazione unica per: 13:30 UTC
Pianificazione disattivata prima delle 13:30 UTC
Pianificazione riattivata alle 14:00 UTC
Risultato: il bersaglio può essere richiamato immediatamente dopo la riattivazione