Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Perché la mia istanza Amazon ECS o Amazon EC2 non è in grado di unirsi al cluster?

5 minuti di lettura
0

Non riesco a usare il cluster Amazon Elastic Container Service (Amazon ECS) per registrare la mia istanza Amazon Elastic Compute Cloud (Amazon EC2).

Risoluzione

Prerequisito

Prima di completare i seguenti passaggi manuali, usa il runbook AWSSupport-TroubleshootECSContainerInstance di AWS Systems Manager per verificare automaticamente la presenza di potenziali problemi.

Il runbook AWSSupport-TroubleshootECSContainerInstance di AWS Systems Manager risolve automaticamente i problemi più comuni per cui la tua istanza Amazon EC2 non può registrarsi o unirsi a un cluster. Il runbook esegue una verifica dei seguenti requisiti:

  • I dati utente dell'istanza contengono le informazioni corrette sul cluster. Per ulteriori informazioni, consulta AWSSupport-TroubleshootECSContainerInstance.
  • Il profilo dell'istanza contiene le autorizzazioni richieste.
  • La rete è configurata correttamente

Nota: assicurati di utilizzare il runbook AWS Support-TroubleshootECSContainerInstance nella stessa regione AWS in cui si trovano il cluster ECS e l'istanza EC2.

Se l'output del runbook non fornisce consigli, utilizza le seguenti soluzioni per risolvere manualmente il problema.

Verifica lo stato dell'agente Amazon ECS sull'istanza Amazon Linux 2

Per verificare se l’agente del container Amazon ECS è in esecuzione nell’istanza, esegui il comando seguente:

sudo systemctl status ecs

Se l'agente del container non è in esecuzione nell’istanza, esegui il seguente comando per avviare l'agente:

sudo systemctl start ecs

L'output del comando deve essere simile al seguente esempio:

ecs start/running, process 23403

Controlla le configurazioni di avvio

Se l'istanza che stai avviando fa parte di un gruppo Auto Scaling, verifica che la configurazione di avvio del gruppo Auto Scaling sia corretta. Per ulteriori informazioni, consulta il passaggio Create a new launch configuration in Refreshing an Amazon ECS Container Instance Cluster with a new AMI.

Verifica l'Amazon Machine Image (AMI) della tua istanza

Se l'AMI che usi per l'istanza EC2 è un'AMI copiata o personalizzata, verifica che l'istanza disponga dei seguenti requisiti:

Questi requisiti sono preconfigurati sull'AMI ottimizzata di Amazon ECS. È consigliabile utilizzare un’AMI ottimizzata per Amazon ECS, a meno che l'applicazione non richieda una versione non ancora disponibile in tale AMI.

Verifica se i dati utente di un'istanza contengono le informazioni corrette sul cluster

Per verificare se i dati utente di un'istanza contengono le informazioni corrette sul cluster, esegui il seguente comando:

#!/bin/bash  
echo ECS_CLUSTER=<cluster-name> >> /etc/ecs/ecs.config

Verifica i file di log

Se il problema persiste, utilizza Amazon ECS logs collector per raccogliere i log. Quindi, esamina i log per individuare la causa. Puoi anche controllare i file di log sull'host del container per l'agente container e Docker.

Per visualizzare i file di log per l'agente container e Docker, esegui i seguenti comandi:

sudo cat /var/log/ecs/ecs-agent.log.YYYY-MM-DD-**sudo cat /var/log/docker

Risoluzione degli errori più comuni

Errore: Lancio di una nuova istanza EC2. Motivo dello stato: Questo account è attualmente bloccato e non è riconosciuto come account valido. In caso di domande, contatta aws-verification@amazon.com. Avvio dell'istanza EC2 non riuscito.

Questo errore si verifica quando l’account è bloccato e Amazon non lo riconosce. Per sbloccare l’account, invia un'email ad aws-verification@amazon.com. Assicurati di includere il tuo account nell’e-mail che devi sbloccare.

Errore: nuova registrazione: ClientException: Container instance 12345678910xxxxxxxxxxxx is inactive.\n\tstatus code: 400, request id: 012345678a-012345b-012ab-0a1-9f645f4s5c12" module=agent.go

Questo errore viene visualizzato quando l'agente ECS non riesce a utilizzare il cluster ECS per registrare l'istanza di container EC2 perché l'istanza EC2 non è attiva. Questo errore è correlato all'applicazione che è in esecuzione sull'istanza. Per comprendere la causa dell'errore, controlla innanzitutto l'applicazione. Se l'errore persiste, controlla i log dell'agente ECS.

Errore: Poche istanze sono in grado di unirsi al cluster, ma con le stesse configurazioni, altre istanze non sono in grado di unirsi al cluster.

Questo errore si verifica a causa di una ThrottlingException che si verifica quando una chiamata API specifica supera il limite di velocità. Per risolvere questo errore, aumenta il limite di velocità a livello di account. Controlla le API, come RegisterTargets e RegisterContainerInstance.

Errore: Dopo aver modificato il tipo di istanza, le nuove istanze non sono in grado di unirsi al cluster.

Questo errore si verifica quando l'agente ECS è bloccato nello stato In sospeso e non si può modificare il tipo di istanza. Per modificare il tipo di istanza in Amazon ECS, completa i seguenti passaggi:

  1. Elimina l'istanza di container.
  2. Avvia una nuova istanza di container con la nuova dimensione dell'istanza.
    Nota: È consigliabile utilizzare un'AMI Amazon Linux 2 ottimizzata per Amazon ECS per avviare l’istanza per il tuo cluster.

In alternativa, puoi creare una nuova configurazione di avvio. Quindi, aggiorna la configurazione di avvio nel gruppo Auto Scaling.

Per ulteriori informazioni, consulta Come posso modificare il tipo della mia istanza di container in Amazon ECS?

Errore: Impossibile registrarsi come istanza di container con ECS: AccessDeniedException: Utente: arn:aws:sts: :1122334455:assumed-role/ecsInstanceRole/I-00aa11bb22cc33def non è autorizzato a eseguire: ecs:RegisterContainerInstance sulla risorsa: arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster . status code: 400, request id: 0a123456-7899-10101-a987-6543210deff

-oppure-

Errore: 2019-06-29T16:10:09Z [ERROR] Error re-registering: AccessDeniedException: Utente: arn:aws:sts::1122334455:assumed-role/ecsInstanceRole/I-0052b2e858b1891ef non è autorizzato a eseguire: ecs:registerContainerInstance sulla risorsa: arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster status code: 400, request id: 0a123456-7899-10101-a987-123456pqrs

Questi errori si verificano a causa della mancanza delle autorizzazioni IAM. Per risolvere questi errori, è necessario creare un ruolo IAM dell'istanza di container.

Inoltre, esegui il runbook AWSSupport-TroubleshootECSContainerInstance per vedere quali autorizzazioni mancano dal ruolo dell'istanza di container.

Informazioni correlate

Crea un cloud privato virtuale

Perché le mie istanze container Amazon ECS con le AMI di Amazon Linux 1 sono disconnesse?

Risoluzione dei problemi di Amazon ECS

Crea i tuoi runbook