Come posso risolvere i problemi di un'istanza Amazon EC2 che si arresta o si interrompe quando provo ad avviarla?

5 minuti di lettura
0

Quando provo ad avviare la mia istanza Amazon Elastic Compute Cloud (Amazon EC2), si interrompe o non si avvia.

Breve descrizione

I seguenti motivi sono le cause più comuni del messaggio InternalError di un'istanza Amazon EC2:

  • Il tuo volume Amazon Elastic Block Store (Amazon EBS) non è collegato correttamente all'istanza.
  • Un volume EBS collegato all'istanza presenta uno stato di errore.
  • Un volume EBS crittografato è collegato all'istanza.

Se l'istanza non si avvia e non viene visualizzato alcun codice di errore, esegui il comando describe-instances nell’Interfaccia della linea di comando AWS (AWS CLI). Quindi, specifica l'ID dell'istanza. Controlla il messaggio StateReason che il comando restituisce nella risposta JSON.

**Nota:**inserisci tutti i comandi in AWS CLI. Se ricevi errori durante l'esecuzione dei comandi AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

Risoluzione

I volumi EBS non sono collegati correttamente all'istanza

È necessario collegare il volume root EBS all'istanza come /dev/sda1 o /dev/xvda, a seconda di quale è definito nell'API. Non puoi avere un secondo volume EBS con un nome di dispositivo duplicato o in conflitto. In caso contrario, non è possibile interrompere o avviare l'istanza. I conflitti tra i nomi dei dispositivi a blocchi riguardano solo i tipi di istanze basati su Xen (c4, m4, t2 e così via). I conflitti tra i nomi dei dispositivi di blocco non influiscono sulle istanze basate su Nitro (c5, m5, t3 e così via).

1.    Esegui l’API describe-instances per verificare il messaggio di errore StateReason e il codice di errore:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: sostituisci us-east-1 con la tua regione AWS. Sostituisci i-xxxxxxxxxxxxxxx con il tuo ID di istanza.

Se è presente un conflitto tra i nomi dei dispositivi, viene visualizzato un output simile al seguente messaggio:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]

2.    Apri la console Amazon EC2, quindi seleziona l'istanza che non puoi avviare.

3.    Nella scheda Descrizione, verifica il nome del dispositivo elencato in Blocca dispositivi. Il campo Blocca dispositivi mostra tutti i nomi dei dispositivi dei volumi allegati.

4.    Verifica che il dispositivo root sia collegato correttamente e che non sia elencato un dispositivo con lo stesso nome o con un nome in conflitto.

5.    Se è presente un dispositivo con un nome di dispositivo duplicato o in conflitto, scollega il volume in conflitto e rinominalo. Quindi, ricollega il volume con il nome del dispositivo aggiornato.

Un volume EBS collegato si trova in uno stato di errore

1.    Esegui l’API describe-instances per verificare il messaggio di errore StateReason e il codice di errore:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: sostituisci us-east-1 con la tua regione AWS. Sostituisci i-xxxxxxxxxxxxxxx con il tuo ID di istanza.

Se è presente un volume EBS allegato in stato di errore, viene visualizzato un output simile al seguente messaggio:

[
    [{
        "StateReason": {
            "Code": "Server.InternalError",
            "Message": "Server.InternalError: Internal error on launch"
        }
    }]
]

2.    Apri la console Amazon EC2, scegli Volumi e verifica se lo stato del volume è un errore. Le opzioni variano a seconda che il volume in stato di errore sia un volume root o un volume secondario.

Se il volume in stato di errore è un volume secondario, scollega il volume. Ora puoi avviare l'istanza.

Se il volume in stato di errore è un volume root e disponi di un'istantanea del volume, completa i seguenti passaggi:

Scollega il volume.

Crea un nuovo volume dall'istantanea.

Collega il nuovo volume all'istanza utilizzando il nome del dispositivo dell'istanza originale. Avvia l'istanza.

**Nota:**se non disponi di un'istantanea esistente del volume root in stato di errore, non puoi riavviare l'istanza. È necessario avviare una nuova istanza, installare le applicazioni pertinenti e quindi configurarla per sostituire la vecchia istanza.

I volumi allegati sono crittografati e le autorizzazioni o le policy di AWS Identity and Access Management (IAM) sono errate

1.    Esegui l’API describe-instances per verificare il messaggio di errore StateReason e il codice di errore:

$ aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxxx --region us-east-1 --query "Reservations[].Instances[].{StateReason:StateReason}" --output json

Nota: sostituisci us-east-1 con la tua regione AWS. Sostituisci i-xxxxxxxxxxxxxxx con il tuo ID di istanza.

Se è presente un volume crittografato collegato all'istanza e ci sono problemi con le autorizzazioni o le policy, viene visualizzato un errore del client. Ciò restituisce un output simile al seguente messaggio:

[
    [{
        "StateReason": {
            "Code": "Client.InternalError",
            "Message": "Client.InternalError: Client error on launch"
        }
    }]
]

2.    Verifica che l'utente che sta tentando di avviare l'istanza disponga delle autorizzazioni IAM corrette. Se hai avviato l'istanza indirettamente tramite un altro servizio, come EC2 Auto Scaling, verifica anche le seguenti configurazioni:

**Nota:**per verificare se un volume è crittografato, apri la console Amazon EC2 e seleziona Volumi. I volumi crittografati hanno l'elenco Crittografato nella colonna Crittografia.


Informazioni correlate

Quando avvio la mia istanza con volumi crittografati allegati, l'istanza si arresta immediatamente con l'errore “errore client all'avvio”

Perché non riesco ad avviare o lanciare la mia istanza EC2?

Politiche chiave in AWS KMS

Risoluzione dei problemi relativi all'avvio delle istanze: l'istanza si interrompe immediatamente

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa