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 relativi alle istanze gestite da Amazon ECS
Utilizza le seguenti procedure per risolvere i problemi delle istanze gestite di Amazon ECS, inclusi problemi comuni, tecniche di diagnostica e passaggi di risoluzione.
Prerequisiti
Prima di risolvere i problemi relativi alle istanze gestite di Amazon ECS, assicurati di soddisfare i seguenti requisiti.
-
AWS CLI è installato e configurato con le autorizzazioni appropriate
Per ulteriori informazioni, consulta Installing or updating to the latest version of the AWS Command Line Interface nella Guida per l'utente dell'AWS Command Line Interface .
Accesso a un cluster con il provider di capacità Amazon ECS Managed Instances. Per ulteriori informazioni, consulta Creazione di un cluster per Istanze gestite da Amazon ECS.
Scenari per la risoluzione dei problemi comuni
Visualizzazione dei log degli agenti container di Amazon ECS Managed Instances
Puoi visualizzare questi file di log di Amazon ECS in Amazon ECS Managed Instances connettendoti a un contenitore privilegiato in esecuzione nell'istanza.
Fasi di diagnostica
Implementa un contenitore di debug con privilegi e funzionalità Linux come attività Amazon ECS:
Imposta le seguenti variabili di ambiente.
user-inputSostituiscili con i tuoi valori.
export ECS_CLUSTER_NAME="your-cluster-name" export AWS_REGION="your-region" export ACCOUNT_ID="your-account-id"
Crea una definizione di attività utilizzando un file JSON CLI chiamato. node-debugger.json
cat << EOF > node-debugger.json { "family": "node-debugger", "taskRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole", "executionRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole", "cpu": "256", "memory": "1024", "networkMode": "host", "pidMode": "host", "requiresCompatibilities": ["MANAGED_INSTANCES", "EC2"], "containerDefinitions": [ { "name": "node-debugger", "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "essential": true, "privileged": true, "command": ["sleep", "infinity"], "healthCheck": { "command": ["CMD-SHELL", "echo debugger || exit 1"], "interval": 30, "retries": 3, "timeout": 5 }, "linuxParameters": { "initProcessEnabled": true }, "mountPoints": [ { "sourceVolume": "host-root", "containerPath": "/host", "readOnly": false } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/aws/ecs/node-debugger", "awslogs-create-group": "true", "awslogs-region": "${AWS_REGION}", "awslogs-stream-prefix": "ecs" } } } ], "volumes": [ { "name": "host-root", "host": { "sourcePath": "/" } } ] } EOF
Registrarsi, quindi eseguire l'operazione. Esegui i comandi seguenti.
aws ecs register-task-definition --cli-input-json file://node-debugger.json TASK_ARN=$(aws ecs run-task \ --cluster $ECS_CLUSTER_NAME \ --task-definition node-debugger \ --enable-execute-command \ --capacity-provider-strategy capacityProvider=managed-instances-default,weight=1 \ --query 'tasks[0].taskArn' --output text) # Wait for task to be running aws ecs wait tasks-running --cluster $ECS_CLUSTER_NAME --tasks $TASK_ARN
Connect al container. Eseguire il seguente comando seguente.
aws ecs execute-command \ --cluster $ECS_CLUSTER_NAME \ --task $TASK_ARN \ --container node-debugger \ --interactive \ --command "/bin/sh"
Controlla i log degli agenti Amazon ECS:
Nella sessione interattiva del contenitore, esegui i seguenti comandi:
# Install required tools yum install -y util-linux-core # View ECS agent logs nsenter -t 1 -m -p cat /var/log/ecs/ecs-agent.log | tail -50 # Check agent registration nsenter -t 1 -m -p grep "Registered container instance" /var/log/ecs/ecs-agent.log Example Output: {"level":"info","time":"2025-10-16T12:39:37.665","msg":"Registered container instance with cluster!"} # Verify capabilities nsenter -t 1 -m -p grep "Response contained expected value for attribute" /var/log/ecs/ecs-agent.log
Controlla le metriche degli agenti:
Esegui il comando seguente per visualizzare i log.
# View metrics logs nsenter -t 1 -m -p cat /var/log/ecs/metrics.log | tail -20
Problemi di posizionamento delle attività
Di seguito sono riportati i sintomi dei problemi di posizionamento delle attività:
Attività bloccate nello stato IN SOSPESO
Impossibile avviare le attività su Amazon ECS Managed Instances
Risorse insufficienti, errori
Fasi diagnostiche
Esegui i comandi seguenti per diagnosticare i problemi di posizionamento delle attività e raccogliere informazioni sulla capacità del cluster, sulle istanze dei container e sui servizi di sistema:
# Check cluster capacity aws ecs describe-clusters --clusterscluster-name--include STATISTICS # Check cluster capacity providers aws ecs describe-clusters --clusterscluster-name--include STATISTICS --query 'clusters[].capacityProviders' # List container instances aws ecs list-container-instances --clustercluster-name# Check container instance details aws ecs describe-container-instances --clustercluster-name--container-instancescontainer-instance-arn# Check container instance remaining resources CPU/Mem aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instancescontainer-instance-arn--query 'containerInstances[].remainingResources' # Check container instance Security Group aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instancescontainer-instance-arn--query 'containerInstances[].ec2InstanceId' --output text aws ec2 describe-instances --instance-idsinstance-id--query 'Reservations[0].Instances[0].SecurityGroups' aws ec2 describe-security-groups --group-ids security-group-id
Monitoraggio dei servizi di sistema:
# Check Containerd status nsenter -t 1 -m -p systemctl status containerd.service # Check Amazon ECS container agent status nsenter -t 1 -m -p systemctl status ecs
Risoluzione
Per risolvere i problemi di posizionamento delle attività, segui questi passaggi per garantire una configurazione e una capacità corrette:
Verifica i requisiti delle risorse delle attività rispetto alla capacità disponibile
Verifica i vincoli e le strategie di posizionamento
Assicurati che il provider di capacità di Amazon ECS Managed Instances sia configurato
Assicurati che il gruppo di sicurezza dell'attività e dell'istanza del contenitore disponga di una regola in uscita che consenta il traffico per gli endpoint di gestione degli agenti Amazon ECS
Problemi di rete
Di seguito sono riportati i sintomi di problemi di rete:
Le attività non sono in grado di raggiungere servizi esterni
Problemi di risoluzione DNS
Fasi diagnostiche
Test di connettività di rete:
Dal contenitore di debug, esegui i seguenti comandi:
Nota
Verifica che il gruppo di sicurezza collegato al tuo provider di capacità o all'attività Amazon ECS consenta il traffico.
# Install DNS Utility yum install bind-utils -y # Test DNS resolution nslookup amazon.com # Test external connectivity curl -I https://amazon.com
Vincoli delle risorse
Di seguito sono riportati i sintomi di problemi di rete:
Attività interrotte a causa di limiti di memoria
Limitazione della CPU
Problemi di spazio su disco
Fasi di diagnostica
Esegui comandi per monitorare le risorse e i limiti dei container.
Monitoraggio delle risorse:
# Check memory usage nsenter -t 1 -m -p free -h # Check disk usage nsenter -t 1 -m -p lsblk # Check disk usage nsenter -t 1 -m -p df -h
Limiti del contenitore:
# Check OOM kills nsenter -t 1 -m -p dmesg | grep -i "killed process"
Problema di disconnessione dell'agente dell'istanza del contenitore
Di seguito sono riportati i sintomi dei problemi di disconnessione dell'agente dell'istanza del contenitore:
Le istanze di container vengono visualizzate come disconnesse nella console Amazon ECS
Attività che non vengono assegnate a istanze specifiche
Errori di registrazione degli agenti nei registri
Fasi diagnostiche
Se esiste un'attività di privilegio esistente in esecuzione sull'host a cui ECS Exec può accedere, esegui i seguenti comandi per diagnosticare i problemi di connettività dell'agente:
# check service status nsenter -t 1 -m -p systemctl restart ecs nsenter -t 1 -m -p systemctl restart containerd # restart stopped services nsenter -t 1 -m -p systemctl restart ecs nsenter -t 1 -m -p systemctl restart containerd
Altrimenti, forzate l'annullamento della registrazione delle istanze gestite di Amazon ECS. Esegui il comando seguente:
# list ECS Managed Instance container aws ecs list-container-instances --cluster managed-instances-cluster --query 'containerInstanceArns' --output text # deregister the specific container instance aws ecs deregister-container-instance \ --cluster $ECS_CLUSTER_NAME \ --container-instance container-instance-arn \ --force
Risoluzione
Per risolvere i problemi di disconnessione degli agenti, segui questi passaggi:
Verifica le autorizzazioni del ruolo IAM per l'istanza del contenitore
Verifica che le regole del gruppo di sicurezza consentano il traffico HTTPS in uscita verso gli endpoint ECS
Garantisci la connettività di rete ai servizi AWS
Riavvia il servizio dell'agente ECS se necessario:
nsenter -t 1 -m -p systemctl restart ecsVerifica che la configurazione ECS_CLUSTER in/etc/ecs/ecs.config corrisponda al nome del cluster
Analisi dei log nelle istanze gestite di Amazon ECS
Log di sistema
Utilizza i seguenti comandi per esaminare i log di sistema e identificare potenziali problemi con l'istanza gestita:
# Check system messages nsenter -t 1 -m -p journalctl --no-pager -n 50 # Check kernel logs nsenter -t 1 -m -p dmesg | tail -20 # Check for disk space errors nsenter -t 1 -m -p journalctl --no-pager | grep -i "no space\|disk full\|enospc"
Usa il EC2 AWS CLI per ottenere l'output della console da un'istanza gestita di Amazon ECS
Usa l'ID dell' EC2 istanza Amazon per recuperare l'output della console.
Sostituiscili user-input con i tuoi valori.
aws ec2 get-console-output --instance-idinstance-id--latest --output text
Pulizia
Esegui quanto segue per interrompere l'attività di deug e annullare la registrazione della definizione dell'attività.
# Stop debug task aws ecs stop-task --cluster $ECS_CLUSTER_NAME --task $TASK_ARN # Deregister task definition (optional) aws ecs deregister-task-definition --task-definition node-debugger
Risorse aggiuntive
Per ulteriori informazioni sulla risoluzione dei problemi delle istanze gestite di Amazon ECS, consulta le seguenti risorse: