

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
<a name="troubleshooting"></a>

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 in caso di peggioramento dello stato dell'ambiente.
+ 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](#troubleshooting-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](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI nei blog. AWS 

**Topics**
+ [

## Utilizzo dell'analisi dell'ambiente basata sull'intelligenza artificiale
](#troubleshooting-ai-analysis)
+ [

## Utilizzo dei AWS Systems Manager runbook Elastic Beanstalk
](#troubleshooting-systems-manager)
+ [

## Guida generale per la risoluzione dei problemi dell'ambiente Elastic Beanstalk
](#troubleshooting-general)
+ [

## Ambienti che accedono a segreti e parametri con variabili di ambiente
](#troubleshooting-secrets-env-variables)
+ [

## Creazione dell'ambiente e avvii di istanze
](#troubleshooting-envcreate)
+ [

## Distribuzioni
](#troubleshooting-deployments)
+ [

## Integrità
](#troubleshooting-health)
+ [

## Ambienti con sistemi di bilanciamento del carico configurati a doppio stack
](#troubleshooting-dual-stack-load-balancer)
+ [

## Configurazione
](#troubleshooting-configuration)
+ [

## Risoluzione dei problemi dei container Docker
](#troubleshooting-docker)
+ [

## Domande frequenti
](#troubleshooting-faq)
+ [

## Errori comuni
](#common-errors)
+ [

## Errori di distribuzione
](#python-common-troubleshooting)

## Utilizzo dell'analisi dell'ambiente basata sull'intelligenza artificiale
<a name="troubleshooting-ai-analysis"></a>

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, utilizzando l'API Elastic Beanstalk AWS CLI tramite o **eb logs --analyze** eseguendo con l'EB 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](health-ai-analysis.md).

## Utilizzo dei AWS Systems Manager runbook Elastic Beanstalk
<a name="troubleshooting-systems-manager"></a>

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 [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html) 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.

1. Aprire la console [AWS Systems Manager](https://console.aws.amazon.com/systems-manager/home). 

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

1. Scegli **Esegui automazione**.

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

1. **Seleziona la **AWSSupport-TroubleshootElasticBeanstalk**scheda, quindi scegli Avanti.**

1. Seleziona **Esegui**.

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

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

   1. In **Nome dell'ambiente**, inserisci l'ambiente Elastic Beanstalk.

   1. (Facoltativo) Per **S3 UploaderLink**, inserisci un link se un AWS Support Engineer ti ha fornito un link S3 per la raccolta dei log.

1. 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
<a name="troubleshooting-general"></a>

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](health-ai-analysis.md).
+ Se un'operazione sul tuo ambiente restituisce un errore contenente il testo`The 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](environment-management-invalid-stack.md) per una guida alla risoluzione dei problemi.
+ Se un'operazione sull'ambiente restituisce un errore che contiene il testo`Environment environment-name associated CloudFormation stack stack_arn does not exist`, chiudi l'ambiente e creane un altro.
+ Esamina gli [eventi](using-features.events.md) 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](using-features.changehistory.md) 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](using-features.logging.md) 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](using-features.ec2connect.md) e controlla le risorse di sistema.
+ [Esegui il roll back](using-features.deploy-existing-version.md) a una versione precedente e funzionante dell'applicazione.
+ Annulla le modifiche di configurazione recenti o ripristina una [configurazione salvata](environment-configuration-methods-before.md#configuration-options-before-savedconfig).
+ Distribuisci un nuovo ambiente. Se l'ambiente sembra integro, esegui uno [scambio di CNAME](using-features.CNAMESwap.md) 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
<a name="troubleshooting-secrets-env-variables"></a>

**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](AWSHowTo.secrets.IAM-permissions.md#AWSHowTo.secrets.IAM-permissions.secrets-manager). 
+ Se questo evento è stato attivato dall'`RestartAppServer`operazione, una volta risolto il problema, riprova a effettuare la chiamata per risolverlo. `RestartAppServer` 
+ Se l'evento è stato attivato tramite una `UpdateEnvironment` chiamata, riprova l'operazione. `UpdateEnvironment` 

Per esempi di questi comandi, vedi [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html). *[Per ulteriori informazioni sulle azioni API per queste operazioni, consulta l'AWS Elastic Beanstalk API Reference.](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*

**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](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline)

**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 utilizzarlo`RestartAppServer`, poiché non sarà sufficiente a far apparire l'ambiente in questa situazione. Per esempi di questi comandi, vedi [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html). *[Per ulteriori informazioni sulle azioni API per queste operazioni, consulta l'AWS Elastic Beanstalk API Reference.](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*

## Creazione dell'ambiente e avvii di istanze
<a name="troubleshooting-envcreate"></a>

**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](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) 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](vpc.md) 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](environment-platform-update-managed.md). Per ulteriori informazioni, consulta [Gestione dei ruoli del servizio Elastic Beanstalk](iam-servicerole.md).

## Distribuzioni
<a name="troubleshooting-deployments"></a>

**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](using-features.rolling-version-deploy.md) 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](applications-versions.md).

**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](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) per dare più tempo alla tua applicazione di avviare l'esecuzione durante le distribuzioni.

## Integrità
<a name="troubleshooting-health"></a>

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

Prova a [eseguire più istanze](using-features.managing.as.md) oppure [scegli un altro tipo di istanza](using-features.managing.ec2.md).

**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.log` la 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 (,). `CPUUtilization` `EnvironmentHealth` L'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](using-features.logging.md). CloudWatch ](AWSHowTo.cloudwatchlogs.md) Puoi anche eseguire il runbook di [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)automazione 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à](ebextensions.md) 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](https://status.aws.amazon.com/) per assicurarti che il servizio Elastic Compute Cloud (Amazon EC2) sia verde oppure [richiedi un aumento della quota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-instances).

**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.log`Cerca gli errori dell'agente sanitario e gli errori `/var/log/messages` a livello di sistema. Verifica che il servizio healthd sia in esecuzione connettendoti all'istanza tramite SSH ed eseguendolo. `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 dell'istanza.

[Per ulteriori dettagli, [recupera i log completi del pacchetto](using-features.logging.md) o abilita lo streaming dei log. CloudWatch ](AWSHowTo.cloudwatchlogs.md) Puoi anche eseguire il runbook di [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)automazione per facilitare la diagnosi del problema.

## Ambienti con sistemi di bilanciamento del carico configurati a doppio stack
<a name="troubleshooting-dual-stack-load-balancer"></a>

**Evento:** in *VPC *vpc\$1id* 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](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs)

 **Evento:** *una o più sottoreti per VPC *vpc\$1id* 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](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs)

 **Errore: l'`IpAddressType`***opzione 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
<a name="troubleshooting-configuration"></a>

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

Lo CloudFormation stack sottostante dell'ambiente potrebbe trovarsi nello stato *\$1\$1FAILED*. È 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](environment-management-invalid-stack.md).

**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](using-features.CNAMESwap.md).

## Risoluzione dei problemi dei container Docker
<a name="troubleshooting-docker"></a>

**Evento:** *estrazione dell'immagine Docker non riuscita :latest: nome del repository non valido (), sono consentiti soltanto i caratteri [a-z0-9-\$1.]. 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](single-container-docker-configuration.md)

**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.json`Fornisce 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](iam-instanceprofile.md)

**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 immaginiUsando Gestione dei segreti AWS](docker-configuration.remote-repo.md).

## Domande frequenti
<a name="troubleshooting-faq"></a>

**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](using-features.managing.as.md).

**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)](using-features.changehistory.md). 

**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](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)

**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](ebextensions.md). 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
<a name="common-errors"></a>

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\$1 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
<a name="python-common-troubleshooting"></a>

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**

1. Esegui **eb status** per vedere lo stato della distribuzione corrente e l'integrità dell'host EC2. 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.

1. 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](health-enhanced-ebcli.md).

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

   ```
   $ eb logs
   ```

1. 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/`.

1. Esegui **eb console** per visualizzare l'ambiente applicativo nella [console di gestione AWS](https://aws.amazon.com/console/). È 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.