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à.
Gestisci i problemi di limitazione di Amazon ECS
Gli errori di limitazione si dividono in due categorie principali: limitazione sincrona e limitazione asincrona.
Limitazione sincrona
Quando si verifica una limitazione sincrona, ricevi immediatamente una risposta di errore da Amazon ECS. Questa categoria si verifica in genere quando chiami Amazon ECS APIs durante l'esecuzione di attività o la creazione di servizi. Per ulteriori informazioni sulla limitazione coinvolta e sui relativi limiti di accelerazione, consulta Request throttling for the Amazon ECS API.
Quando l'applicazione avvia richieste API, ad esempio utilizzando l'SDK AWS CLI o un AWS SDK, puoi porre rimedio alla limitazione delle API. Puoi farlo progettando l'applicazione in modo da gestire gli errori o implementando una strategia esponenziale di backoff e jitter con logica di ripetizione per le chiamate API. Per ulteriori informazioni, consulta Timeouts
Se utilizzi un AWS SDK, la logica di riprova automatica è integrata e configurabile.
Throttling asincrono
La limitazione asincrona si verifica a causa di flussi di lavoro asincroni in cui Amazon ECS o AWS CloudFormation potrebbe chiamare per tuo conto per fornire risorse. APIs È importante sapere cosa Amazon ECS richiama per tuo conto. AWS APIs Ad esempio, l'CreateNetworkInterface
API viene richiamata per attività che utilizzano la modalità di awsvpc
rete e l'DescribeTargetHealth
API viene richiamata quando si eseguono controlli di integrità per attività registrate su un sistema di bilanciamento del carico.
Quando i carichi di lavoro raggiungono una scala considerevole, queste operazioni API potrebbero essere limitate. Cioè, potrebbero essere sufficientemente limitati da violare i limiti imposti da Amazon ECS o da Servizio AWS quello che viene chiamato. Ad esempio, se distribuisci centinaia di servizi, ciascuno con centinaia di attività contemporaneamente che utilizzano la modalità di awsvpc
rete, Amazon ECS richiama le operazioni dell'API Amazon come le operazioni dell' EC2 API Elastic Load CreateNetworkInterface
Balancing come o per registrare rispettivamente l'interfaccia di rete DescribeTargetHealth
elastica e RegisterTarget
il load balancer. Queste chiamate API possono superare i limiti dell'API, con conseguenti errori di limitazione. Di seguito è riportato un esempio di errore di limitazione di Elastic Load Balancing incluso nel messaggio di evento del servizio.
{ "userIdentity":{ "arn":"arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForECS/ecs-service-scheduler", "eventTime":"2022-03-21T08:11:24Z", "eventSource":"elasticloadbalancing.amazonaws.com", "eventName":" DescribeTargetHealth ", "awsRegion":"us-east-1", "sourceIPAddress":"ecs.amazonaws.com", "userAgent":"ecs.amazonaws.com", "errorCode":"ThrottlingException", "errorMessage":"Rate exceeded", "eventID":"0aeb38fc-229b-4912-8b0d-2e8315193e9c" } }
Quando queste chiamate API condividono i limiti con altro traffico API nel tuo account, potrebbero essere difficili da monitorare anche se vengono emesse come eventi di servizio.
Monitora la limitazione
È importante identificare quali richieste API sono limitate e chi le emette. Puoi utilizzare AWS CloudTrail Which per monitorare la limitazione e integrarsi con Amazon CloudWatch Athena e Amazon. EventBridge Puoi configurare l'invio di eventi specifici CloudTrail ai registri. CloudWatch CloudWatch Logs, log insights, analizza e analizza gli eventi. Questo identifica i dettagli negli eventi di limitazione, come l'utente o il ruolo IAM che ha effettuato la chiamata e il numero di chiamate API effettuate. Per ulteriori informazioni, consulta Monitoraggio dei file di CloudTrail registro con Logs. CloudWatch
Per ulteriori informazioni su CloudWatch Logs Insights e istruzioni su come interrogare i file di registro, vedi Analisi dei dati di log con CloudWatch Logs Insights.
Con Amazon Athena, puoi creare query e analizzare dati utilizzando SQL standard. Ad esempio, puoi creare una tabella Athena per analizzare CloudTrail gli eventi. Per ulteriori informazioni, vedere Utilizzo della CloudTrail console per creare una tabella Athena per i CloudTrail log.
Dopo aver creato una tabella Athena, è possibile utilizzare query SQL come la seguente per analizzare gli errori. ThrottlingException
Sostituiscili user-input
con i tuoi valori.
select eventname, errorcode,eventsource,awsregion, useragent,COUNT(*) count FROM cloudtrail_
table-name
where errorcode = 'ThrottlingException' AND eventtime between '2024-09-24T00:00:08Z
' and '2024-09-23T23:15:08Z
' group by errorcode, awsregion, eventsource, useragent, eventname order by count desc;
Amazon ECS invia anche notifiche di eventi ad Amazon. EventBridge Esistono eventi di modifica dello stato delle risorse ed eventi di azione del servizio. Includono eventi di limitazione delle API come eECS_OPERATION_THROTTLED
. SERVICE_DISCOVERY_OPERATION_THROTTLED
Per ulteriori informazioni, consulta Eventi di azione del servizio Amazon ECS.
Questi eventi possono essere utilizzati da un servizio, ad esempio AWS Lambda per eseguire azioni in risposta. Per ulteriori informazioni, consulta Gestione degli eventi Amazon ECS.
Se esegui attività autonome, alcune operazioni API, ad esempio, RunTask
sono asincrone e le operazioni di riprova non vengono eseguite automaticamente. In questi casi, puoi utilizzare servizi come AWS Step Functions with EventBridge integration per riprovare le operazioni limitate o non riuscite. Per ulteriori informazioni, consulta Manage a container task (Amazon ECS, Amazon SNS).
CloudWatch Da utilizzare per monitorare la limitazione
CloudWatch offre il monitoraggio dell'utilizzo delle API Usage
nello spazio dei nomi in By Resource. AWS Queste metriche vengono registrate con il tipo di API e il nome della metrica. CallCount Puoi creare allarmi che si attivano ogni volta che queste metriche raggiungono una determinata soglia. Per ulteriori informazioni, consulta Visualizzazione delle quote di servizio e impostazione degli allarmi.
CloudWatch offre anche il rilevamento delle anomalie. Questa funzionalità utilizza l'apprendimento automatico per analizzare e stabilire linee di base in base al comportamento particolare della metrica su cui l'hai abilitata. In caso di attività insolite dell'API, puoi utilizzare questa funzionalità insieme agli allarmi. CloudWatch Per ulteriori informazioni, consulta Utilizzo del rilevamento CloudWatch delle anomalie.
Monitorando in modo proattivo gli errori di limitazione, potete contattarci Supporto per aumentare i limiti di limitazione pertinenti e ricevere anche indicazioni per le vostre esigenze applicative specifiche.