View a markdown version of this page

Risoluzione dei problemi relativi all'ambiente Elastic Beanstalk - 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à.

Risoluzione dei problemi relativi all'ambiente Elastic Beanstalk

Questo capitolo fornisce indicazioni per la risoluzione dei problemi con l'ambiente Elastic Beanstalk. Include le voci seguenti:

  • Un'introduzione a AWS Systems Manager, inclusa una procedura per eseguire runbook Elastic Beanstalk predefiniti che forniscono istruzioni e consigli per la risoluzione dei problemi.

  • Linee guida generali per le azioni e le risorse da utilizzare quando lo stato dell'ambiente peggiora.

  • Suggerimenti specifici per la risoluzione dei problemi organizzati per categoria.

Se lo stato dell'ambiente diventa rosso, ti consigliamo di utilizzare prima AWS Systems Manager lo strumento che include runbook predefiniti per risolvere i problemi di Elastic Beanstalk. Per ulteriori informazioni, consulta la Utilizzo dello strumento Systems Manager.

Prova Amazon Q Developer CLI per la risoluzione dei problemi AI-assisted

L'interfaccia a riga di comando per sviluppatori di Amazon Q può aiutarti a risolvere rapidamente i problemi relativi all'ambiente. La Q CLI fornisce soluzioni controllando lo stato dell'ambiente, esaminando gli eventi, analizzando i log e ponendo domande di chiarimento. Per ulteriori informazioni e procedure dettagliate, consulta Risoluzione dei problemi relativi agli ambienti Elastic Beanstalk con Amazon Q Developer CLI nei blog. AWS

Utilizzo dell'analisi dell'ambiente AI-powered

Elastic Beanstalk fornisce AI-powered analisi per aiutare a identificare le cause principali e consigliare soluzioni per i problemi di salute dell'ambiente. È possibile accedere a questa funzionalità tramite il pulsante AI Analysis della console, utilizzando l'API Elastic Beanstalk tramite o eseguendola con l' AWS CLI EB CLI. eb logs --analyze L'analisi esamina i log, gli eventi e lo stato delle istanze dell'ambiente per identificare i problemi critici e fornire consigli dettagliati sulla risoluzione dei problemi.

Per ulteriori informazioni, consulta AI-powered analisi dell'ambiente.

Utilizzo AWS Systems Manager Runbook Elastic Beanstalk

Puoi utilizzare Systems Manager per risolvere i problemi degli ambienti Elastic Beanstalk. Per aiutarti a iniziare rapidamente, Systems Manager fornisce runbook di automazione predefiniti per Elastic Beanstalk. Un runbook di automazione è un tipo di documento di Systems Manager che definisce le operazioni da eseguire sulle istanze dell'ambiente e su altre risorse AWS .

Il documento AWSSupport-TroubleshootElasticBeanstalk è un runbook di automazione progettato per contribuire a identificare una serie di problemi comuni che possono degradare l'ambiente Elastic Beanstalk. A tal fine, controlla i componenti dell'ambiente, tra cui: istanze EC2, VPC, stack CloudFormation , sistemi di bilanciamento del carico, gruppi con dimensionamento automatico e configurazione di rete associata a regole dei gruppi di sicurezza, tabelle di routing e ACL.

Fornisce inoltre un'opzione per caricare file di log in bundle dal tuo ambiente al Supporto AWS .

Per ulteriori informazioni, consulta AWSSupport-TroubleshootElasticBeanstalk nella Documentazione di riferimento del runbook di Automazione AWS Systems Manager .

Utilizzo di Systems Manager per eseguire il runbook AWSSupport-TroubleshootElasticBeanstalk
Nota

Esegui questa procedura nello stesso Regione AWS luogo in cui si trova il tuo ambiente Elastic Beanstalk.

  1. Aprire la console AWS Systems Manager.

  2. Nel riquadro di navigazione a sinistra, nella sezione Gestione delle modifiche, scegli Automazione.

  3. Scegli Esegui automazione.

  4. Nella scheda Proprietà di Amazon, nella casella di ricerca Documenti di automazione inserisci AWSSupport-TroubleshootElasticBeanstalk.

  5. Seleziona la AWSSupport-TroubleshootElasticBeanstalk carta, quindi scegli Avanti.

  6. Seleziona Esegui.

  7. Nella sezione Parametri di input:

    1. Dal menu a AutomationAssumeRole discesa, seleziona l'ARN del ruolo che consente a Systems Manager di eseguire azioni per tuo conto.

    2. Per ApplicationName, inserisci il nome dell'applicazione Elastic Beanstalk.

    3. In Nome dell'ambiente, inserisci l'ambiente Elastic Beanstalk.

    4. (Facoltativo) Per S3UploaderLink, inserisci un link se un tecnico dell' AWS assistenza ti ha fornito un link S3 per la raccolta dei log.

  8. Scegli Esegui.

    Se uno dei passaggi non riesce, seleziona il link sotto la colonna ID fase per il passaggio non riuscito. Viene visualizzata una pagina con i Dettagli dell'esecuzione per il passaggio. La VerificationErrorMessage sezione mostrerà un riepilogo dei passaggi che richiedono attenzione. Ad esempio, IAMPermissionCheck potrebbe visualizzare un messaggio di avviso. In questo caso, puoi verificare che il ruolo selezionato nel menu a AutomationAssumeRole discesa disponga delle autorizzazioni necessarie.

Dopo avere completato con successo tutti i passaggi, l'output fornisce i passaggi per la risoluzione dei problemi e i consigli per ripristinare lo stato di integrità dell'ambiente.

Guida generale per la risoluzione dei problemi dell'ambiente Elastic Beanstalk

I messaggi di errore possono essere visualizzati nella pagina Eventi della console, nei log o nella pagina dello stato. È inoltre possibile intraprendere azioni per ripristinare un ambiente danneggiato in seguito a una modifica recente. Se lo stato dell'ambiente passa al rosso, prova a fare quanto segue:

  • Richiedi un' AI-powered analisi del tuo ambiente. Per ulteriori informazioni, consulta AI-powered analisi dell'ambiente.

  • Se un'operazione sull'ambiente restituisce un errore contenente il testoThe stack stack_id associated with environment environment-ID is in stack-status state, consulta la sezione Ripristino dell'ambiente Elastic Beanstalk da uno stato non valido per una guida alla risoluzione dei problemi.

  • Se un'operazione sull'ambiente restituisce un errore che contiene il testoEnvironment environment-name associated CloudFormation stack stack_arn does not exist, terminate l'ambiente e createne un altro.

  • Esamina gli eventi più recenti dell'ambiente. Spesso qui vengono visualizzati i messaggi di Elastic Beanstalk relativi alla distribuzione, al caricamento e ai problemi di configurazione.

  • Rivedi la cronologia delle modifiche recenti dell'ambiente. La cronologia delle modifiche elenca tutte le modifiche di configurazione apportate ai tuoi ambienti e include altre informazioni, ad esempio quale utente IAM ha apportato modifiche e quali parametri di configurazione sono stati impostati.

  • Esegui il pull dei log per visualizzare le voci recenti del file di log. I log del server Web contengono informazioni sugli errori e sulle richieste in entrata.

  • Connettiti a un'istanza e controlla le risorse di sistema.

  • Esegui il roll back a una versione precedente e funzionante dell'applicazione.

  • Annulla le modifiche di configurazione recenti o ripristina una configurazione salvata.

  • Distribuisci un nuovo ambiente. Se l'ambiente sembra integro, esegui uno scambio di CNAME per instradare il traffico verso il nuovo ambiente e continuare a eseguire il debug di quello precedente.

Ambienti che accedono a segreti e parametri con variabili di ambiente

Evento: la distribuzione dell'istanza non è riuscita a ottenere uno o più segreti

Questo messaggio indica che Elastic Beanstalk non è stato in grado di recuperare uno o più dei segreti specificati durante la distribuzione dell'applicazione.

  • Verifica che le risorse specificate dai valori ARN nella configurazione delle variabili di ambiente esistano.

  • Verifica che il ruolo del profilo dell'istanza Elastic Beanstalk EC2 disponga delle autorizzazioni IAM richieste per accedere alle risorse.

  • Se questo evento è stato attivato durante l'RestartAppServeroperazione, una volta risolto il problema, riprova la chiamata per risolvere il problema. RestartAppServer

  • Se l'evento è stato attivato tramite una UpdateEnvironment chiamata, riprova l'operazione. UpdateEnvironment

Per esempi di questi comandi, consulta gli AWS CLI esempi di Elastic Beanstalk. Per ulteriori informazioni sulle azioni API per queste operazioni, consulta l'AWS Elastic Beanstalk API Reference.

Evento: la distribuzione dell'istanza ha rilevato uno o più valori di ambiente multilinea, che non sono supportati per questa piattaforma

Le variabili multilinea non sono supportate per le piattaforme Amazon Linux 2, escluse le piattaforme Docker gestite da Docker ed ECS. Per le opzioni disponibili per procedere, consulta. Valori multilinea

Evento: CreateEnvironment fallisce quando viene specificato un segreto

Quando CreateEnvironment fallisce e si hanno dei segreti come variabili di ambiente, è necessario risolvere il problema sottostante e utilizzarlo UpdateEnvironment per completare la configurazione dell'ambiente. Non utilizzatelaRestartAppServer, poiché non sarà sufficiente ripristinare l'ambiente in questa situazione. Per esempi di questi comandi, consulta AWS CLI gli esempi di Elastic Beanstalk . Per ulteriori informazioni sulle azioni API per queste operazioni, consulta l'AWS Elastic Beanstalk API Reference.

Creazione dell'ambiente e avvii di istanze

Evento: Impossibile avviare l'ambiente

Questo evento si verifica quando Elastic Beanstalk tenta di avviare un ambiente e incontra delle operazioni non riuscite durante il percorso. Gli eventi precedenti nella pagina Events (Eventi) contribuiranno a definire la causa alla base di questo problema.

Evento: l'operazione di creazione dell'ambiente è completa, ma con timeout del comando. Prova ad aumentare la durata del timeout.

L'applicazione potrebbe richiedere molto tempo per la distribuzione se utilizzi i file di configurazione che eseguono i comandi sull'istanza, scarichi file di grandi dimensioni o installi pacchetti. Aumenta il timeout del comando per dare più tempo alla tua applicazione di avviare l'esecuzione durante le distribuzioni.

Evento: impossibile creare le seguenti risorse: [AWSEBInstanceLaunchWaitCondition]

Questo messaggio indica che le istanze Amazon EC2 dell'ambiente non hanno comunicato a Elastic Beanstalk di essere state avviate correttamente. Questa situazione può verificarsi se le istanze non dispongono di una connessione a Internet. Se hai configurato l'ambiente per avviare istanze in una sottorete privata del VPC, verifica che la sottorete abbia un NAT per consentire alle istanze di connettersi a Elastic Beanstalk.

Evento: in questa regione è obbligatorio un ruolo di servizio. Aggiungi un'opzione di ruolo di servizio all'ambiente.

Elastic Beanstalk utilizza un ruolo di servizio per monitorare le risorse nell'ambiente e supportare aggiornamenti gestiti della piattaforma. Per ulteriori informazioni, consulta Gestione dei ruoli del servizio Elastic Beanstalk.

Distribuzioni

Problema: l'applicazione non è più disponibile durante le distribuzioni

Poiché Elastic Beanstalk utilizza un processo di aggiornamento drop-in, potrebbero verificarsi alcuni secondi di inattività. Utilizza le distribuzioni in sequenza per minimizzare l'effetto delle distribuzioni nei tuoi ambienti di produzione.

Evento: impossibile creare la versione dell'applicazione AWS Elastic Beanstalk

Il bundle di origine dell'applicazione può essere troppo grande o potrebbe aver raggiunto la quota della versione dell'applicazione.

Evento: l'operazione di aggiornamento dell'ambiente è completa, ma con timeout del comando. Prova ad aumentare la durata del timeout.

L'applicazione potrebbe richiedere molto tempo per la distribuzione se utilizzi i file di configurazione che eseguono i comandi sull'istanza, scarichi file di grandi dimensioni o installi pacchetti. Aumenta il timeout del comando per dare più tempo alla tua applicazione di avviare l'esecuzione durante le distribuzioni.

Integrità

Evento: l'utilizzo della CPU supera il 95,00%

Prova a eseguire più istanze oppure scegli un altro tipo di istanza.

Evento: Elastic Load Balancer awseb- Non myapp ha istanze integre, i processi ELB non sono integri se le istanze sono esaurite. X Y , i processi ELB non sono integri in tutte le istanze.

Questi messaggi indicano che i controlli di integrità del sistema di bilanciamento del carico non riescono in una o più istanze. Se l'applicazione sembra funzionare, assicurati che l'URL di controllo dello stato dell'applicazione sia configurato correttamente. In caso contrario, prova quanto segue:

  • Controlla i log dell'applicazione (ad esempio/var/log/web.stdout.log) e /var/log/eb-engine.log la presenza di errori, errori di avvio o problemi di distribuzione.

  • Controlla i log del proxy per individuare eventuali errori di connessione in /var/log/nginx/ (nginx) o /var/log/httpd/ (Apache).

  • Verifica che l'applicazione risponda con HTTP 200 al percorso di controllo dello stato configurato e sia in ascolto sulla porta prevista.

  • Verifica che i gruppi di sicurezza consentano il traffico in entrata dal load balancer alle istanze sulla porta di controllo dello stato. Nella console EC2, controlla le regole in entrata sul gruppo di sicurezza dell'istanza per confermare che la porta di controllo dello stato sia aperta al gruppo di sicurezza del load balancer.

  • Controlla l'utilizzo della CPU e della memoria nelle CloudWatch metriche (,). CPUUtilization EnvironmentHealth L'esaurimento delle risorse può causare timeout per i controlli sullo stato di salute.

Per maggiori dettagli, recupera i log completi del pacchetto o abilita lo streaming dei log. CloudWatch Puoi anche eseguire il runbook di AWSSupport-TroubleshootElasticBeanstalk automazione per diagnosticare il problema.

Evento: Elastic Load Balancer awseb- Impossibile trovare myapp

Il sistema di bilanciamento del carico del tuo ambiente potrebbe essere stato rimosso dalla banda. Apporta modifiche alle risorse dell'ambiente solo con le opzioni di configurazione e l'estensibilità fornite da Elastic Beanstalk. Ricrea l'ambiente o avviane uno nuovo.

Evento: avvio dell'istanza EC2 non riuscito. In attesa dell'avvio di una nuova istanza EC2...

La disponibilità di tipi di istanze per il tuo ambiente potrebbe essere ridotta oppure potresti aver raggiunto la quota di istanze per il tuo account. Verifica il pannello di controllo dello stato dei servizi per assicurarti che il servizio Elastic Compute Cloud (Amazon EC2) sia verde oppure richiedi un aumento della quota.

Evento: nessuna delle istanze sta inviando dati.

Elastic Beanstalk non riceve dati sullo stato di salute da nessuna delle tue istanze. Ciò può essere causato da problemi di connettività di rete, problemi relativi agli operatori sanitari o guasti a livello di sistema.

  • Verifica la connettività di rete. Verifica che i gruppi di sicurezza consentano l'HTTPS in uscita (porta 443). Per le istanze in sottoreti private, verifica che un gateway NAT o gli endpoint VPC siano configurati. Controlla le tabelle di routing per verificare che le rotte in uscita siano corrette e assicurati che la risoluzione DNS funzioni correttamente nel tuo VPC.

  • Controlla l'agente di monitoraggio dello stato di salute. Verifica /var/log/healthd/daemon.log gli errori degli agenti sanitari e gli errori /var/log/messages a livello di sistema. Verifica che il servizio healthd sia in esecuzione connettendoti all'istanza tramite SSH ed eseguendo. systemctl status healthd

  • Verifica la presenza di problemi a livello di sistema come l'esaurimento delle risorse (memoria, CPU, spazio su disco), la sincronizzazione NTP/system dell'orologio e la connettività del servizio di metadati delle istanze.

Per maggiori dettagli, recupera i log completi del pacchetto o abilita lo streaming dei log. CloudWatch Puoi anche eseguire il runbook di AWSSupport-TroubleshootElasticBeanstalk automazione per diagnosticare il problema.

Ambienti con sistemi di bilanciamento del carico configurati in due stack

Evento: VPC vpc_id non ha blocchi CIDR IPv6 configurati. I blocchi CIDR IPv6 sono necessari per il bilanciamento del carico dualstack. Associa un blocco CIDR IPv6 al tuo VPC prima di utilizzare la modalità dualstack.

Il tuo VPC e tutte le sottoreti devono avere blocchi CIDR IPv6 associati. Questo è uno dei prerequisiti VPC che devi completare prima di configurare il tuo load balancer per il supporto dualstack. Per ulteriori informazioni sul completamento di questa attività, consulta la sezione precedente di questo argomento. Prerequisiti di Amazon VPC

Evento: una o più sottoreti per VPC vpc_id non hanno blocchi CIDR IPv6 configurati. I blocchi CIDR IPv6 sono necessari per le sottoreti utilizzate con il bilanciamento del carico dualstack. Associa i blocchi CIDR IPv6 a tutte le sottoreti richieste prima di utilizzare la modalità dualstack.

A tutte le sottoreti del tuo VPC devono essere associati blocchi CIDR IPv6. Questo è uno dei prerequisiti VPC che devi completare prima di configurare il tuo load balancer per il supporto dualstack. Per ulteriori informazioni sul completamento di questa attività, consulta la sezione precedente di questo argomento. Prerequisiti di Amazon VPC

Errore: l'IpAddressTypeopzione può essere applicata solo su ambienti Elastic Beanstalk configurati con un Application Load Balancer o Network Load Balancer.

Questo messaggio indica che l'ambiente Elastic Beanstalk potrebbe essere un ambiente a singola istanza o che potrebbe utilizzare un Classic Load Balancer. Solo gli ambienti configurati con un Application Load Balancer o Network Load Balancer possono essere configurati. IpAddressType

Configurazione

Evento: lo stack stack_id associato all'ambiente environment-ID è in stato stack-status

Lo CloudFormation stack sottostante dell'ambiente potrebbe avere lo stato *_FAILED. Questo stato deve essere corretto per continuare le operazioni di Elastic Beanstalk nell'ambiente. Per ulteriori informazioni, consulta Ripristino dell'ambiente Elastic Beanstalk da uno stato non valido.

Evento: non puoi configurare un ambiente Elastic Beanstalk con valori sia per l'opzione Target (Destinazione) che per l'opzione Application Healthcheck URL (URL controllo dello stato applicazione) di Elastic Load Balancing.

L'opzione Target nello spazio dei nomi aws:elb:healthcheck è obsoleta. Rimuovi lo spazio dei nomi dell'opzione Target dal tuo ambiente e riprova l'aggiornamento.

Evento: ELB non può essere collegato a più sottoreti nella stessa AZ

Questo messaggio può essere restituito se tenti di spostare un sistema di bilanciamento del carico tra sottoreti nella stessa zona di disponibilità. La modifica di sottoreti nel sistema di bilanciamento del carico ne richiede lo spostamento al di fuori delle zone di disponibilità d'origine e quindi la reintegrazione nella zona di disponibilità d'origine con le sottoreti desiderate. Durante il processo, tutte le istanze vengono migrate tra le zone di disponibilità, causando tempi di inattività importanti. Valuta quindi la possibilità di creare un nuovo ambiente ed esegui uno scambio di CNAME.

Risoluzione dei problemi dei container Docker

Evento: estrazione dell'immagine Docker non riuscita :latest: nome del repository non valido (), sono consentiti soltanto i caratteri [a-z0-9-_.]. Consulta i log per ulteriori dettagli.

Controlla la sintassi del file dockerrun.aws.json utilizzando un convalidatore JSON. Inoltre verifica il contenuto del dockerfile rispetto ai requisiti descritti in Preparazione dell'immagine Docker per la distribuzione su Elastic Beanstalk

Evento: No EXPOSE directive found in Dockerfile, abort deployment

Il Dockerfile o il file dockerrun.aws.json non dichiara la porta del container. Utilizza l'istruzione EXPOSE (Dockerfile) o il blocco Ports (file dockerrun.aws.json) per esporre una porta per il traffico in entrata.

Evento: impossibile scaricare le credenziali di autenticazione da repository bucket name

dockerrun.aws.jsonFornisce una coppia di chiavi EC2 non valida per il and/or file. .dockercfg Oppure, il profilo dell'istanza non dispone dell' GetObject autorizzazione per il bucket S3. Verifica che il file .dockercfg includa una coppia di chiavi EC2 e un bucket S3 validi. Concedi le autorizzazioni per l'operazione s3:GetObject al ruolo IAM nel profilo dell'istanza. Per i dettagli, vedi Gestione dei profili dell'istanza Elastic Beanstalk

Evento: Activity execution failed, because: WARNING: Invalid auth configuration file

Il file di autenticazione (config.json) non è formattato correttamente. Per informazioni, consultare Autenticazione con archivi di immagini.

Domande frequenti

Domanda: Come posso modificare l'URL della mia applicazione da myapp.us-west-2.elasticbeanstalk.com a www.myapp.com?

In un server DNS, registra un record CNAME, ad esempio www.mydomain.com CNAME mydomain.elasticbeanstalk.com.

Domanda: Come si specifica la zona di disponibilità per l'applicazione Elastic Beanstalk?

Puoi scegliere zone di disponibilità specifiche tramite le API, l'interfaccia a riga di comando, il plug-in di Eclipse o il plug-in di Visual Studio. Per istruzioni su come usare la console Elastic Beanstalk per specificare una zona di disponibilità, consulta Auto Scaling delle istanze dell'ambiente Elastic Beanstalk.

Domanda: Come posso modificare il tipo di istanza del mio ambiente?

Per modificare il tipo di istanza dell'ambiente, vai alla pagina di configurazione dell'ambiente e scegli Edit (Modifica) nella categoria di configurazione Instances (Istanze). Quindi, seleziona un nuovo tipo di istanza e scegli Apply (Applica) per aggiornare l'ambiente. Successivamente, Elastic Beanstalk terminerà tutte le istanze in esecuzione e le sostituirà con quelle nuove.

Domanda: Come posso verificare se qualcuno ha apportato modifiche alla configurazione di un ambiente?

Per visualizzare queste informazioni, nel riquadro di navigazione della console Elastic Beanstalk scegli Change history (Cronologia delle modifiche) per visualizzare un elenco delle modifiche alla configurazione per tutti gli ambienti. Questo elenco include la data e l'ora della modifica, il parametro di configurazione modificato e il nuovo valore, nonché l'utente IAM che ha apportato la modifica. Per ulteriori informazioni, consulta Change history (Cronologia delle modifiche).

Domanda: È possibile evitare che i volumi Amazon EBS vengano eliminati quando le istanze vengono terminate?

Le istanze nell'ambiente usano Amazon EBS per lo storage, ma il volume root viene eliminato quando un'istanza viene terminata da Auto Scaling. Non è consigliabile archiviare lo stato o altri dati sulle istanze. Se necessario, è possibile impedire l'eliminazione dei volumi con AWS CLI: $ aws ec2 modify-instance-attribute -b '/dev/sdc=<vol-id>:false come descritto nel AWS CLI Riferimento.

Domanda: Come si eliminano i dati personali dall'applicazione Elastic Beanstalk?

AWS le risorse utilizzate dall'applicazione Elastic Beanstalk potrebbero memorizzare informazioni personali. Quando termini un ambiente, Elastic Beanstalk termina le risorse che ha creato. Vengono terminate anche le risorse che hai aggiunto tramite i file di configurazione. Tuttavia, se hai creato AWS risorse all'esterno del tuo ambiente Elastic Beanstalk e le hai associate alla tua applicazione, potresti dover controllare manualmente che le informazioni personali che l'applicazione potrebbe aver archiviato non vengano conservate. In questa guida per gli sviluppatori, ogni volta che parliamo della creazione di risorse aggiuntive, specifichiamo anche quando dovresti considerare la possibilità di eliminarle.

Errori comuni

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: si è verificato un errore durante la gestione del comando git. Codice di errore: 128 Errore: irreversibile: nome oggetto HEAD non valido

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: questo ramo non ha un ambiente predefinito. È necessario specificare un ambiente digitando «eb status my-env-name» o impostare un ambiente predefinito digitando «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: le piattaforme 2.0+ richiedono un ruolo di servizio. Puoi fornirne uno con l'opzione --service-role

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.

Errori di distribuzione

La distribuzione di Elastic Beanstalk potrebbe rispondere con una risposta 404 (se l'applicazione non è stata avviata) o 500 (se l'applicazione non riesce durante il runtime). Per risolvere molti problemi comuni, è possibile utilizzare l'interfaccia a riga di comando di EB per verificare lo stato della distribuzione, visualizzarne i log, accedere all'istanza EC2 con SSH o aprire la pagina della console di gestione per l'ambiente applicativo. AWS

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.