Problemi relativi alla risoluzione dei problemi con EB CLI - AWS Elastic Beanstalk

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à.

Problemi relativi alla risoluzione dei problemi con EB CLI

In questo argomento sono elencati i messaggi di errore più comuni riscontrati quando si usa l'interfaccia a riga di comando EB con l'indicazione delle soluzioni possibili. Se si verifica un messaggio di errore non mostrato qui, utilizza i link Feedback per comunicarcelo.

ERRORE: An error occurred while handling git command. Error code: 128 Error: fatal: Not a valid object name HEAD

Causa: questo messaggio di errore viene visualizzato se hai inizializzato un archivio Git ma non hai ancora eseguito il commit. L'interfaccia a riga di comando EB cerca la revisione HEAD quando la cartella di progetto contiene un archivio Git.

Soluzione: aggiungi i file nella tua cartella di progetto con l'area di gestione temporanea ed esegui il commit:

~/my-app$ git add . ~/my-app$ git commit -m "First commit"

ERRORE: This branch does not have a default environment. You must either specify an environment by typing "eb status my-env-name" or set a default environment by typing "eb use my-env-name".

Causa: quando si crea un nuovo ramo git, questo non è collegato a un ambiente di Elastic Beanstalk per impostazione predefinita.

Soluzione: esegui eb list per visualizzare un elenco di ambienti disponibili. Quindi esegui eb use env-name per utilizzare uno degli ambienti disponibili.

ERRORE: 2.0+ Platforms require a service role. You can provide one with --service-role option

Causa: se specifichi un nome di ambiente con eb create (ad esempio, eb create my-env), l'interfaccia a riga di comando EB non tenterà di creare automaticamente un ruolo di servizio. Se non hai il ruolo di servizio predefinito, viene visualizzato l'errore riportato sopra.

Soluzione: esegui eb create senza un nome di ambiente e segui le istruzioni per creare il ruolo di servizio predefinito.

Risoluzione dei problemi di distribuzione

Se la distribuzione Elastic Beanstalk non è andata come pianificato, anziché vedere il sito Web, potresti ricevere una risposta 404 (se l'avvio dell'applicazione non è riuscito) o 500 (se si verifica un errore dell'applicazione in fase di runtime). Per risolvere i problemi più comuni, puoi utilizzare la CLI EB per controllare lo stato della distribuzione, visualizzare i registri, accedere alla tua istanza EC2 con SSH o aprire la pagina Console di gestione AWS per l'ambiente applicativo.

Per utilizzare l'interfaccia a riga di comando EB per aiutare a risolvere i problemi di distribuzione
  1. Esegui eb status per vedere lo stato della distribuzione corrente e l'integrità dell'host EC2. Ad esempio:

    $ eb status --verbose Environment details for: python_eb_app Application name: python_eb_app Region: us-west-2 Deployed Version: app-150206_035343 Environment ID: e-wa8u6rrmqy Platform: 64bit Amazon Linux 2014.09 v1.1.0 running Python 2.7 Tier: WebServer-Standard- CNAME: python_eb_app.elasticbeanstalk.com Updated: 2015-02-06 12:00:08.557000+00:00 Status: Ready Health: Green Running instances: 1 i-8000528c: InService
    Nota

    Utilizzando l'opzione --verbose, si ottengono informazioni sullo stato delle istanze in esecuzione. Senza di esso, eb status stamperà solo le informazioni generali sull'ambiente.

  2. Esegui eb health per visualizzare le informazioni sullo stato del tuo ambiente:

    $ eb health --refresh elasticBeanstalkExa-env Degraded 2016-03-28 23:13:20 WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 2 0 2 1 0 0 0 instance-id status cause Overall Degraded Incorrect application version found on 3 out of 5 instances. Expected version "Sample Application" (deployment 1). i-d581497d Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-d481497c Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-136e00c0 Severe Instance ELB health has not been available for 5 minutes. i-126e00c1 Ok i-8b2cf575 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 Overall 646.7 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-dac3f859 167.5 1675 0 0 0 0.003 0.002 0.001 0.001 0.000 i-05013a81 161.2 1612 0 0 0 0.003 0.002 0.001 0.001 0.000 i-04013a80 0.0 - - - - - - - - - i-3ab524a1 155.9 1559 0 0 0 0.003 0.002 0.001 0.001 0.000 i-bf300d3c 162.1 1621 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% i-d581497d t2.micro 1a 25 mins 0.16 0.1 7.0 0.0 1.7 91.0 0.1 i-d481497c t2.micro 1a 25 mins 0.14 0.1 7.2 0.0 1.6 91.1 0.0 i-136e00c0 t2.micro 1b 25 mins 0.0 0.01 0.0 0.0 0.0 99.9 0.1 i-126e00c1 t2.micro 1b 25 mins 0.03 0.08 6.9 0.0 2.1 90.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.05 0.41 6.9 0.0 2.0 90.9 0.0 instance-id status id version ago deployments i-d581497d Deployed 2 v2 9 mins i-d481497c Deployed 2 v2 7 mins i-136e00c0 Failed 2 v2 5 mins i-126e00c1 Deployed 1 Sample Application 25 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

    L'esempio precedente mostra un ambiente con cinque istanze in cui la distribuzione della versione "v2" non è riuscita alla terza istanza. Dopo un'installazione non riuscita, viene ripristinata l'ultima versione riuscita che, in questo caso, è la "Sample Application" della prima della distribuzione. Per ulteriori informazioni, consulta Utilizzo dell'interfaccia a riga di comando EB per monitorare lo stato dell'ambiente.

  3. Esegui eb logs per scaricare e visualizzare i log associati alla distribuzione dell'applicazione.

    $ eb logs
  4. Esegui eb ssh per connetterti all'istanza di EC2 in esecuzione sull'applicazione ed esaminarla direttamente. Nell'istanza l'applicazione distribuita si trova nella directory /opt/python/current/app e l'ambiente Python si trova in /opt/python/run/venv/.

  5. Esegui eb console per visualizzare l'ambiente applicativo nella console di gestione AWS. È possibile utilizzare l'interfaccia Web per esaminare diversi aspetti della distribuzione, tra cui la configurazione dell'applicazione, lo stato, gli eventi, i log. Puoi anche scaricare la versione corrente o quelle precedenti delle applicazioni che hai distribuito al server.