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 dell'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 suggerimenti 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 del tuo 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 assistita dall'intelligenza artificiale
La CLI per sviluppatori di Amazon Q può aiutarti a risolvere rapidamente i problemi ambientali. 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 degli ambienti Elastic Beanstalk con Amazon
Argomenti
Utilizzo dell'analisi dell'ambiente basata sull'intelligenza artificiale
Elastic Beanstalk fornisce analisi basate sull'intelligenza artificiale per aiutare a identificare le cause profonde e consigliare soluzioni per i problemi di salute dell'ambiente. Puoi accedere a questa funzionalità tramite il pulsante AI Analysis della console o utilizzando l'API Elastic Beanstalk tramite. AWS CLI L'analisi esamina i log, gli eventi e lo stato delle istanze dell'ambiente per identificare i problemi critici e fornire consigli per la risoluzione dei problemi. step-by-step
Per ulteriori informazioni, consulta Analisi dell'ambiente basata sull'intelligenza artificiale.
Utilizzo dei 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 del tuo ambiente, tra cui: istanze EC2, VPC, CloudFormation stack, load balancer, gruppi di Auto Scaling e configurazione di rete associata alle regole dei gruppi di sicurezza, tabelle di routing e. ACLs
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 l'ambiente Elastic Beanstalk.
-
Aprire la console AWS Systems Manager
. -
Nel riquadro di navigazione a sinistra, nella sezione Gestione delle modifiche, scegli Automazione.
-
Scegli Esegui automazione.
-
Nella scheda Proprietà di Amazon, nella casella di ricerca Documenti di automazione inserisci
AWSSupport-TroubleshootElasticBeanstalk. -
Seleziona la AWSSupport-TroubleshootElasticBeanstalkscheda, quindi scegli Avanti.
-
Seleziona Esegui.
-
Nella sezione Parametri di input:
-
Dal menu a AutomationAssumeRolediscesa, seleziona l'ARN del ruolo che consente a Systems Manager di eseguire azioni per tuo conto.
-
Per ApplicationName, inserisci il nome dell'applicazione Elastic Beanstalk.
-
In Nome dell'ambiente, inserisci l'ambiente Elastic Beanstalk.
-
(Facoltativo) Per S3 UploaderLink, inserisci un link se un AWS Support Engineer ti ha fornito un link S3 per la raccolta dei log.
-
-
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 VerificationErrorMessagesezione mostrerà un riepilogo dei passaggi che richiedono attenzione. Ad esempio,
IAMPermissionCheckpotrebbe visualizzare un messaggio di avviso. In questo caso, puoi verificare che il ruolo selezionato nel menu a AutomationAssumeRolediscesa 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'analisi del tuo ambiente basata sull'intelligenza artificiale. Per ulteriori informazioni, consulta Analisi dell'ambiente basata sull'intelligenza artificiale.
-
Se un'operazione sul tuo ambiente restituisce un errore contenente il testo
The stack, consulta la sezione Ripristino dell'ambiente Elastic Beanstalk da uno stato non valido per una guida alla risoluzione dei problemi.associated with environmentstack_idis inenvironment-IDstatestack-status -
Se un'operazione sull'ambiente restituisce un errore che contiene il testo
Environment, chiudi l'ambiente e creane un altro.environment-nameassociated CloudFormation stackstack_arndoes not exist -
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ù segreti specificati durante la distribuzione dell'applicazione.
-
Verifica che le risorse specificate dai valori ARN nella configurazione della variabile di ambiente esistano.
-
Verifica che il ruolo del profilo dell'istanza Elastic Beanstalk EC2 disponga delle autorizzazioni IAM necessarie per accedere alle risorse.
-
Se questo evento è stato attivato dall'
RestartAppServeroperazione, una volta risolto il problema, riprova a effettuare la chiamata per risolverlo.RestartAppServer -
Se l'evento è stato attivato tramite una
UpdateEnvironmentchiamata, riprova l'operazione.UpdateEnvironment
Per esempi di questi comandi, vedi AWS CLI esempi per 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 e Docker gestite da ECS. Per le opzioni disponibili per procedere, consulta. Valori multilinea
Evento: CreateEnvironment fallisce quando viene specificato un segreto
In caso di CreateEnvironment errore e si dispone di segreti come variabili di ambiente, è necessario risolvere il problema sottostante e quindi UpdateEnvironment utilizzarlo per completare la configurazione dell'ambiente. Non utilizzarloRestartAppServer, poiché non sarà sufficiente a far apparire l'ambiente in questa situazione. Per esempi di questi comandi, vedi AWS CLI esempi per 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: creazione della versione dell'applicazione AWS Elastic Beanstalk non riuscita
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- myapp Ha zero istanze integre, i processi ELB non sono integri su istanze fuori. X Y , I processi ELB non sono integri in tutte le istanze.
Questi messaggi indicano che i controlli dello stato del bilanciamento del carico non riescono su una o più istanze. Se l'applicazione sembra funzionare, assicurati che l'URL del controllo dello stato dell'applicazione sia configurato correttamente. In caso contrario, prova quanto segue:
Controlla i registri delle applicazioni (ad esempio
/var/log/web.stdout.log) e verifica/var/log/eb-engine.logla presenza di errori, errori di avvio o problemi di distribuzione.Controlla i log del proxy per eventuali errori di connessione in
/var/log/nginx/(nginx) o (Apache)./var/log/httpd/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 sistema di bilanciamento del carico 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 health check sia aperta al gruppo di sicurezza del load balancer.
Controlla l'utilizzo della CPU e della memoria nelle CloudWatch metriche (,).
CPUUtilizationEnvironmentHealthL'esaurimento delle risorse può causare timeout per i controlli sanitari.
Per ulteriori dettagli, recupera i log completi del pacchetto o abilita lo streaming dei log. CloudWatch Puoi anche eseguire il runbook di AWSSupport-TroubleshootElasticBeanstalkautomazione per facilitare la diagnosi del problema.
Evento: Elastic Load Balancer awseb- Impossibile trovare myapp
Il sistema di bilanciamento del carico dell'ambiente potrebbe essere stato rimosso. out-of-band 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
Evento: nessuna delle istanze invia dati.
Elastic Beanstalk non riceve dati sanitari da nessuna delle tue istanze. Ciò può essere causato da problemi di connettività di rete, problemi relativi agli operatori sanitari o errori 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 siano configurati un gateway NAT o un endpoint VPC. Controlla le tabelle delle rotte per le rotte in uscita corrette e assicurati che la risoluzione DNS funzioni correttamente nel tuo VPC.
Controlla l'agente di monitoraggio dello stato.
/var/log/healthd/daemon.logCerca gli errori dell'agente sanitario e gli errori/var/log/messagesa livello di sistema. Verifica che il servizio healthd sia in esecuzione connettendoti all'istanza tramite SSH ed eseguendolo.systemctl status healthdVerifica 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 dell'istanza.
Per ulteriori dettagli, recupera i log completi del pacchetto o abilita lo streaming dei log. CloudWatch Puoi anche eseguire il runbook di AWSSupport-TroubleshootElasticBeanstalkautomazione per facilitare la diagnosi del problema.
Ambienti con sistemi di bilanciamento del carico configurati a doppio stack
Evento: in VPC vpc_id non sono configurati blocchi IPv6 CIDR. IPv6 I blocchi CIDR sono necessari per il bilanciamento del carico dualstack. Associa un blocco IPv6 CIDR al tuo VPC prima di utilizzare la modalità dualstack.
Al tuo VPC e a tutte le sottoreti devono essere associati dei blocchi IPv6 CIDR. Questo è uno dei prerequisiti del VPC da completare prima di configurare il sistema di bilanciamento del carico per il supporto dualstack. Per ulteriori informazioni sul completamento di questa attività, vedere la parte precedente di questo argomento. Prerequisiti di Amazon VPC
Evento: una o più sottoreti per VPC vpc_id non hanno IPv6 blocchi CIDR configurati. IPv6 I blocchi CIDR sono necessari per le sottoreti utilizzate con il sistema di bilanciamento del carico dualstack. Associa i blocchi IPv6 CIDR a tutte le sottoreti richieste prima di utilizzare la modalità dualstack.
Tutte le sottoreti del tuo VPC devono avere blocchi IPv6 CIDR associati. Questo è uno dei prerequisiti del VPC da completare prima di configurare il sistema di bilanciamento del carico per il supporto dualstack. Per ulteriori informazioni sul completamento di questa attività, vedere la parte precedente di questo argomento. Prerequisiti di Amazon VPC
Errore: l'IpAddressTypeopzione può essere applicata solo agli ambienti Elastic Beanstalk configurati con Application Load Balancer o Network Load Balancer.
Questo messaggio indica che l'ambiente Elastic Beanstalk potrebbe essere un ambiente a istanza singola o che potrebbe utilizzare un Classic Load Balancer. È possibile configurare solo gli ambienti configurati con Application Load Balancer o Network Load Balancer. IpAddressType
Configurazione
Evento: lo stack associato all'ambiente stack_id è in stato environment-IDstack-status
Lo CloudFormation stack sottostante dell'ambiente potrebbe trovarsi nello stato *_FAILED. È necessario correggere questo stato 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 verranno migrate da una all'altra AZs, causando tempi di inattività significativi. 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 un bucket and/or S3 per la coppia di chiavi EC2 non valido per il 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 una zona di disponibilità specifica utilizzando il plug-in CLI APIs, Eclipse o 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, puoi impedire l'eliminazione dei volumi con AWS CLI: $ aws ec2
modify-instance-attribute -b '/dev/sdc=<vol-id>:false come descritto nella Guida di riferimento.AWS CLI
Domanda: Come si eliminano i dati personali dall'applicazione Elastic Beanstalk?
AWS le risorse utilizzate dall'applicazione Elastic Beanstalk potrebbero archiviare 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 al di fuori dell'ambiente Elastic Beanstalk e le hai associate all'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: fatale: nome di 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 è riuscita ad avviarsi) o 500 (se l'applicazione fallisce durante il runtime). Per risolvere molti problemi comuni, puoi utilizzare l'EB CLI per controllare lo stato della distribuzione, visualizzarne i log, accedere alla tua istanza EC2 con SSH o aprire la pagina della Console di AWS gestione per il tuo ambiente applicativo.
Per utilizzare l'interfaccia a riga di comando EB per aiutare a risolvere i problemi di distribuzione
-
Esegui eb status per vedere lo stato della distribuzione corrente e l'integrità dell'host EC2. Esempio:
$eb status --verboseEnvironment 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: InServiceNota
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. -
Esegui eb health per visualizzare le informazioni sullo stato del tuo ambiente:
$eb health --refreshelasticBeanstalkExa-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 hourL'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.
-
Esegui eb logs per scaricare e visualizzare i log associati alla distribuzione dell'applicazione.
$eb logs -
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/appe l'ambiente Python si trova in/opt/python/run/venv/. -
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.