Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Come posso risolvere i problemi per cui le mie distribuzioni Amazon ECS hanno esito negativo?
Desidero risolvere i problemi per cui la mia distribuzione Amazon Elastic Container Service (Amazon ECS) ha esito negativo.
Breve descrizione
Quando provi a distribuire una nuova applicazione, Amazon ECS potrebbe riscontrare un blocco nella distribuzione. Le attività precedenti continuano a essere distribuite, ma le nuove non riescono a raggiungere uno stato stabile. Le distribuzioni Amazon ECS potrebbero non avere esito negativo per i seguenti problemi:
- Vincoli di risorse
- Problemi relativi all'immagine del container
- Problemi di rete
- Problemi relativi alla definizione dell'attività
- Log di Amazon CloudWatch
- Configurazione del controllo dell'integrità
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Vincoli di risorse
La distribuzione del servizio Amazon ECS potrebbe dare esito negativo quando non c'è abbastanza CPU o memoria disponibile per la distribuzione dell'attività. Un vincolo di risorse si verifica quando è presente l'errore RESOURCE:* negli eventi del servizio e le attività Amazon ECS non passano allo stato In esecuzione.
Per risolvere l’errore, intraprendi le seguenti azioni:
- Utilizza le metriche di Amazon CloudWatch per monitorare la capacità delle risorse del cluster Amazon ECS.
- Configura Container Insights per metriche dettagliate sull'utilizzo delle risorse a livello di attività e container.
- Assicurati che le impostazioni del gruppo Auto Scaling siano in linea con i requisiti del carico di lavoro per i cluster con tipo di avvio Amazon Elastic Compute Cloud (Amazon EC2). Monitora la capacità dell'istanza e configura le policy di dimensionamento in base all'utilizzo della CPU, all'utilizzo della memoria o alle metriche personalizzate.
- Controlla la capacità dell'interfaccia di rete elastica per l'attività Amazon ECS considerando la modalità di rete awsvpc. Utilizza tipi di istanza con limiti di interfaccia di rete elastici più elevati per distribuzioni ad alta densità. Ogni attività richiede una propria interfaccia di rete elastica. Utilizza la pianificazione del CIDR e monitora la tua interfaccia di rete elastica per assicurarti che siano disponibili indirizzi IP sufficienti per avviare l'attività Amazon ECS.
Per verificare le risorse disponibili sulle istanze di container, esegui il comando AWS CLI list-container-instances:
aws ecs list-container-instances --cluster your-cluster-name
Nota: sostituisci your-cluster-name con il nome del tuo cluster.
Quindi esegui il comando describe-container-instances:
aws ecs describe-container-instances --cluster your-cluster-name --container-instances container-instance-id
Nota: sostituisci your-cluster-name con il nome del tuo cluster e container-instance-id con l'ID della tua istanza di container.
Problemi relativi all'immagine del container
Quando Amazon ECS non è in grado di estrarre immagini da un repository di risorse, le attività danno esito negativo con un errore CannotPullContainerError negli eventi del servizio. Potresti visualizzare le attività correlate nei log dell'agente dell'istanza di container.
Per risolvere l'errore, verifica le seguenti configurazioni della definizione dell'attività per l'attività Amazon ECS e la configurazione di rete per il servizio:
-
Configura l'URI dell'immagine del container.
Per Amazon Elastic Container Registry (Amazon ECR), verifica che l'immagine corrisponda al seguente formato di denominazione dei file:account-id.dkr.ecr.region.amazonaws.com/repository-name:tagNota: sostituisciaccount-id con l'ID del tuo account, region con la tua Regione AWS e repository-name con il nome del tuo repository.
Per Docker Hub, verifica che l'immagine corrisponda al seguente formato di denominazione dei file:
repository/image:tagNota: sostituisci repository con il nome del tuo repository.
-
Verifica che al ruolo IAM di esecuzione dell'attività Amazon ECS sia collegata l'autorizzazione AmazonECSTaskExecutionRolePolicy.
-
Verifica che non vi siano segnaposti di ambiente mancanti o errati nella definizione dell'attività.
-
Quando distribuisci il servizio Amazon ECS in una sottorete privata, associa gli endpoint VPC all'interno della stessa sottorete e dello stesso gruppo di sicurezza.
Per gli endpoint di interfaccia:
Per Amazon ECS, utilizza com.amazonaws.region.ecs.
Per CloudWatch Logs, utilizza com.amazonaws.us-east-1.logs.
Per Amazon ECR (Docker), utilizza com.amazonaws.us-east-1.ecr.dkr.
Per l'API Amazon ECR, utilizza **com.amazonaws.us-east-1.ecr.api **.
Per gli endpoint gateway:
Per Amazon S3, utilizza com.amazonaws.us-east-1.s3.
Problemi di rete
I problemi di rete si verificano quando i container non riescono a comunicare con servizi esterni, il rilevamento dei servizi ha esito negativo o le attività non riescono a raggiungere gli endpoint richiesti. Potresti ricevere errori di timeout nei log dell'applicazione, errori di risoluzione DNS o problemi di connettività tra container e altri servizi AWS. Per risolvere il problema, intraprendi le seguenti azioni.
- Verifica che le regole in entrata per il servizio Amazon ECS consentano il traffico verso i container.
- Verificare che le regole del gruppo di sicurezza siano configurate correttamente tra i servizi.
- Verifica che le sottoreti pubbliche abbiano route che puntano a Internet tramite un gateway Internet.
- Verifica le configurazioni del gateway NAT per le sottoreti private.
- Verifica che gli intervalli CIDR abbiano un numero sufficiente di indirizzi IP disponibili nelle sottoreti.
- Per gli Application Load Balancer configurati, assicurati che il gruppo di sicurezza dell'Application Load Balancer consenta una regola in entrata nel gruppo di sicurezza.
Log di CloudWatch
Per risolvere i problemi di un'attività Amazon ECS con esito negativo esaminando i log di CloudWatch, completa i seguenti passaggi:
- Apri la console Amazon ECS.
- Nel pannello di navigazione, scegliCluster.
- Seleziona il cluster.
- Seleziona la scheda Attività.
- Seleziona l'ID attività dell'attività che ha dato esito negativo.
- Controlla lo stato Interrotto per determinare il motivo per cui il container ha dato esito negativo.
Nota: i log dell'attività interrotta sono disponibili solo per un'ora dopo l'interruzione dell'attività ECS. - Risolvi l'errore del container.
Configurazione del controllo dell'integrità
Esamina le seguenti impostazioni di controllo dell'integrità nell'Application Load Balancer o nel Network Load Balancer:
- Verifica che l'impostazione HealthCheckTimeoutSeconds sia sufficientemente lunga da consentire al container di superare il controllo. Se l'attività ECS non supera il controllo dell'integrità del Load Balancer entro un breve lasso di tempo, modifica il valore.
- Assicurati che l'impostazione HealthCheckGracePeriodSeconds sia sufficientemente lunga da consentire l'avvio del container.
- Verifica che il container dell'applicazione risponda con il codice di stato 200 nell'HealthCheckPath configurato nel bilanciatore del carico. Per ulteriori informazioni, consulta l'impostazione HealthCheckPath in Controlli dell'integrità per i gruppi di destinazione di Application Load Balancer.
Per individuare i controlli dell'integrità non superati, completa i seguenti passaggi:
- Apri la console Amazon EC2.
- Nel pannello di navigazione, espandi Bilanciamento del carico, quindi scegli Gruppi di destinazione.
- Seleziona il Nome gruppo di destinazione.
- Verifica nei Dettagli del gruppo di destinazione le istanze integre o non integre.
Per risolvere i problemi relativi a istanze non integre, consulta Risoluzione dei problemi degli Application Load Balancer.
Informazioni correlate
- Argomenti
- Storage
- Lingua
- Italiano
