View a markdown version of this page

Risoluzione dei problemi AWS CloudShell - AWS CloudShell

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 AWS CloudShell

Durante l'utilizzo AWS CloudShell, è possibile che si verifichino problemi, ad esempio quando si avvia CloudShell o si eseguono attività chiave utilizzando l'interfaccia a riga di comando della shell. Le informazioni trattate in questo capitolo spiegano come risolvere alcuni dei problemi più comuni che potresti riscontrare.

Per le risposte a una serie di domande in merito CloudShell, consulta le AWS CloudShell domande frequenti. Puoi anche cercare risposte e pubblicare domande nel Forum di AWS CloudShell discussione. Quando entri in questo forum, ti potrebbe essere richiesto di accedere a AWS. È inoltre possibile contattarci direttamente.

Risoluzione degli errori

Quando si verifica uno dei seguenti errori di indicizzazione, è possibile utilizzare le seguenti soluzioni per risolverli.

Accesso negato

Problema: quando si tenta CloudShell di avviare l'ambiente Console di gestione AWS, viene visualizzato il messaggio "Impossibile avviare l'ambiente. Per riprovare, aggiorna il browser o riavvia selezionando «Azioni», «Riavvia AWS CloudShell». Ti viene negato l'accesso anche dopo aver richiesto le autorizzazioni all'amministratore IAM e aver aggiornato il browser o riavviato. CloudShell

Soluzione: contatta l'assistenza. AWS

(Torna all'inizio)

Autorizzazioni insufficienti

Problema: quando si tenta di avviare CloudShell da Console di gestione AWS, viene visualizzato il messaggio «Impossibile avviare l'ambiente. Non hai le autorizzazioni richieste. Chiedi al tuo amministratore IAM di concedere l'accesso a AWS CloudShell". Ti viene negato l'accesso e ti viene comunicato che non disponi delle autorizzazioni richieste.

Causa: l'identità IAM che stai utilizzando per accedere AWS CloudShell non dispone delle autorizzazioni IAM necessarie.

Soluzione: richiedi al tuo amministratore IAM di fornirti le autorizzazioni necessarie. Possono farlo aggiungendo una policy AWS gestita allegata (AWSCloudShellFullAccess) o una policy in linea incorporata. Per ulteriori informazioni, consulta Gestione AWS CloudShell accesso e utilizzo con le policy IAM.

(Torna all'inizio)

La sessione Shell inizia in modalità di ripristino

Problema: all'avvio AWS CloudShell, viene visualizzato un messaggio che indica che la sessione di shell non è AWS CloudShell riuscita ed è in esecuzione in modalità di ripristino.

Causa: Bash è uscito con un errore durante l'avvio, in genere a causa di un problema nei file di configurazione della shell (ad esempio.bashrc,.bash_profile, o). .profile

Soluzione: dalla modalità di ripristino, ripristina le impostazioni predefinite ~/.bashrc eseguendo:

mv ~/.bashrc ~/.bashrc.bak && cp /etc/skel/.bashrc ~/.bashrc

Se il problema è presente ~/.bash_profile o~/.profile, esegui il backup del file problematico:

mv ~/.bash_profile ~/.bash_profile.bak mv ~/.profile ~/.profile.bak

Quindi riavvia AWS CloudShell. Controlla i file di backup per trovare e risolvere il problema, quindi ripristinali.

(Torna all'inizio)

Impossibile accedere AWS CloudShell riga di comando

Problema: dopo aver modificato un file utilizzato dall'ambiente di calcolo, non è possibile accedere alla riga di comando in. AWS CloudShell

Soluzione: se perdi l'accesso dopo una modifica errata .bashrc o qualsiasi altro file, puoi tornare AWS CloudShell alle impostazioni predefinite eliminando la tua home directory.

(Torna all'inizio)

Impossibile connettersi all'ambiente

Problema: viene visualizzato l'errore «Impossibile connettersi all'ambiente. Potresti avere troppe sessioni di shell in esecuzione».

Causa: questo errore si verifica quando hai troppe AWS CloudShell schede aperte o quando c'è un problema di connettività.

Soluzione: chiudi tutte le AWS CloudShell schede aggiuntive e riprova.

(Torna all'inizio)

Impossibile eseguire il ping di indirizzi IP esterni

Problema: quando si esegue un comando ping dalla riga di comando (ad esempio,ping amazon.com), viene visualizzato il seguente messaggio.

ping: socket: Operation not permitted

Causa: l'utilità ping utilizza Internet Control Message Protocol (ICMP) per inviare pacchetti di richieste echo a un host di destinazione. Attende la risposta di un eco dal bersaglio. Poiché il protocollo ICMP non è abilitato AWS CloudShell, l'utilità ping non funziona nell'ambiente di calcolo della shell.

Soluzione: poiché ICMP non è supportato in AWS CloudShell, è possibile eseguire il seguente comando per installare Netcat. Netcat è un'utilità di rete per computer per leggere e scrivere su connessioni di rete tramite TCP o UDP.

sudo yum install nc nc -zv www.amazon.com 443

(Torna all'inizio)

Si sono verificati alcuni problemi durante la preparazione del terminale

Problema: quando si tenta di accedere AWS CloudShell tramite il browser Microsoft Edge, non è possibile avviare una sessione di shell e il browser visualizza un messaggio di errore.

Causa: AWS CloudShell non è compatibile con le versioni precedenti di Microsoft Edge. Puoi accedere AWS CloudShell utilizzando le ultime quattro versioni principali dei browser supportati.

Soluzione: installa una versione aggiornata del browser Edge dal sito Microsoft.

(Torna all'inizio)

I tasti freccia non funzionano correttamente in PowerShell

Problema: durante il normale funzionamento, puoi utilizzare i tasti freccia per navigare nell'interfaccia della riga di comando ed eseguire una scansione avanti e indietro nella cronologia dei comandi. Tuttavia, quando si premono i tasti freccia in alcune versioni di PowerShell on AWS CloudShell, è possibile che le lettere vengano emesse in modo errato.

Causa: La situazione in cui i tasti freccia emettono lettere in modo errato è un problema noto nelle versioni PowerShell 7.2.x in esecuzione su Linux.

Soluzione: per eliminare le sequenze di escape che modificano il comportamento dei tasti freccia, modificate il file del PowerShell profilo e impostate la variabile su. $PSStyle PlainText

  1. Nella AWS CloudShell riga di comando, immettete il seguente comando per aprire il file del profilo.

    vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1
    Nota

    Se ci sei già PowerShell, puoi anche aprire il file del profilo nell'editor con il seguente comando.

    vim $PROFILE
  2. Nell'editor, vai alla fine del testo esistente del file, premi i per accedere alla modalità di inserimento, quindi aggiungi la seguente dichiarazione.

    $PSStyle.OutputRendering = 'PlainText'
  3. Dopo aver effettuato la modifica, premete Esc per accedere alla modalità di comando. Quindi, immetti il seguente comando per salvare il file e uscire dall'editor.

    :wq
Nota

Le modifiche avranno effetto al successivo avvio PowerShell.

(Torna all'inizio)

I Web Socket non supportati causano il mancato avvio delle sessioni CloudShell

Problema: Quando si tenta di iniziare AWS CloudShell, si riceve ripetutamente il seguente messaggio:. Failed to open sessions : Timed out while opening the session

Causa: CloudShell dipende dal WebSocket protocollo, che consente una comunicazione interattiva bidirezionale tra il browser web e AWS CloudShell. Se utilizzi un browser in una rete privata, l'accesso sicuro a Internet è probabilmente facilitato da server proxy e firewall. WebSocket la comunicazione in genere può attraversare i server proxy senza problemi. Tuttavia, in alcuni casi, i server proxy WebSockets impediscono il corretto funzionamento. Se si verifica questo problema, non è CloudShell possibile avviare una sessione di shell e il tentativo di connessione alla fine si interrompe.

Soluzione: un timeout della connessione potrebbe essere causato da un problema diverso da quello non WebSockets supportato. In tal caso, aggiorna innanzitutto la finestra del browser in cui si trova l'interfaccia a riga di CloudShell comando.

Se continui a ricevere errori di timeout dopo l'aggiornamento, consulta la documentazione del tuo server proxy. Inoltre, assicurati che il tuo server proxy sia configurato per consentire Web Sockets. In alternativa, contattate l'amministratore di sistema della rete.

Nota

Supponiamo di voler definire autorizzazioni granulari consentendo l'inserimento di URL specifici. Puoi aggiungere parte dell'URL che la AWS Systems Manager sessione utilizza per aprire una WebSocket connessione per l'invio di input e la ricezione di output. I AWS CloudShell comandi vengono inviati a quella sessione di Systems Manager.

Il formato utilizzato da Systems Manager è wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output). StreamUrl

La regione rappresenta l'identificatore di regione per un Regione AWS utente supportato da AWS Systems Manager. Ad esempio, us-east-2 è l'identificatore della regione degli Stati Uniti orientali (Ohio).

Poiché l'ID di sessione viene creato dopo l'avvio corretto di una particolare sessione di Systems Manager, è possibile specificare solo wss://ssmmessages.region.amazonaws.com quando si aggiorna la lista degli URL consentiti. Per ulteriori informazioni, vedere l'StartSessionoperazione nell'API Reference. AWS Systems Manager

(Torna all'inizio)

Impossibile importare il AWSPowerShell.NetCore modulo

Problema: quando si importa il AWSPowerShell.NetCore modulo in PowerShell byImport-Module -Name AWSPowerShell.NetCore, viene visualizzato il seguente messaggio di errore:

Import-Module: il modulo specificato 'AWSPowerShell.NetCore' non è stato caricato perché non è stato trovato alcun file di modulo valido in nessuna directory del modulo.

Causa: il AWSPowerShell.NetCore modulo viene sostituito dai moduli AWS.Tools per servizio in. AWS CloudShell

Soluzione: eventuali dichiarazioni di importazione esplicite potrebbero non essere più necessarie o dover essere modificate nel relativo modulo .Tools per servizio. AWS

Esempio
Esempio
  • Nella maggior parte dei casi, purché non vengano utilizzati tipi .Net, non è necessaria alcuna dichiarazione di importazione esplicita. Di seguito sono riportati alcuni esempi di dichiarazioni di importazione.

    • Get-S3Bucket

    • (Get-EC2Instance).Instances

  • Se vengono utilizzati i tipi.Net, importa il modulo a livello di servizio ()AWS.Tools.<Service>. Di seguito è riportato un esempio di sintassi.

    Import-Module -Name AWS.Tools.EC2 $InstanceTag = [Amazon.EC2.Model.Tag]::new("Environment","Dev")
    Import-Module -Name AWS.Tools.S3 $LifecycleRule = [Amazon.S3.Model.LifecycleRule]::new()

Per ulteriori informazioni, vedere l'annuncio della versione 4 per. AWS Strumenti per PowerShell

(Torna all'inizio)

Docker non è in esecuzione quando si utilizza AWS CloudShell

Problema: Docker non funziona correttamente durante l'utilizzo. AWS CloudShell Viene visualizzato il seguente messaggio di errore:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

Soluzione: Prova a riavviare il tuo ambiente. Questo messaggio di errore può verificarsi quando esegui Docker AWS CloudShell in una regione. GovCloud Assicurati di eseguire Docker nelle regioni AWS supportate. Per un elenco delle regioni in cui Docker è disponibile, consulta AWS Regioni supportate per. AWS CloudShell

Docker ha esaurito lo spazio su disco

Problema: stai ricevendo il seguente messaggio di errore:ERROR: failed to solve: failed to register layer: write [...]: no space left on device.

Causa: Il Dockerfile sta superando lo spazio su disco disponibile in. AWS CloudShell Ciò può essere causato da singole immagini di grandi dimensioni o da troppe immagini Docker preesistenti.

Soluzione: esegui df -h per trovare l'utilizzo del disco. Corri sudo du -sh /folder/folder1 per valutare le dimensioni di alcune cartelle che ritieni possano essere grandi e valuta la possibilità di eliminare altri file per liberare spazio. Un'opzione potrebbe essere quella di considerare la rimozione delle immagini Docker inutilizzate eseguendo. docker rmi Tieni presente che Docker ha uno spazio limitato nell'ambiente, per ulteriori informazioni su Docker, consulta la guida alla documentazione Docker.

docker push sta scadendo e continua a riprovare

Problema: quando docker push lo esegui, il timeout è scaduto e continua a riprovare senza successo.

Causa: il problema può essere causato dalla mancanza di autorizzazioni, dal trasferimento al repository sbagliato o dalla mancanza di autenticazione.

Soluzione: per provare a risolvere il problema, assicurati di eseguire il push nel repository corretto. Esegui docker login per autenticarti correttamente. Assicurati di disporre di tutte le autorizzazioni necessarie per l'invio a un repository Amazon ECR.

Impossibile accedere alle risorse all'interno di VPC dal mio AWS CloudShell Ambiente VPC

Problema: impossibile accedere alle risorse all'interno del VPC durante l'utilizzo del mio ambiente AWS CloudShell VPC.

Causa: l'ambiente AWS CloudShell VPC eredita le impostazioni di rete del tuo VPC.

Soluzione: per risolvere questo problema, assicurati che il tuo VPC sia configurato correttamente per accedere alle tue risorse. Per ulteriori informazioni, consulta la documentazione VPC Connetti il tuo VPC ad altre reti e la documentazione di Network Access Analyzer Network Access Analyzer. Puoi trovare l'indirizzo IPv4 utilizzato dall'ambiente AWS CloudShell VPC eseguendo il comando `ip -a` all'interno del tuo ambiente nel prompt della riga di comando o nella pagina della console VPC.

L'ENI utilizzato da AWS CloudShell per il mio ambiente VPC non è stato ripulito

Problema: impossibile ripulire l'ENI utilizzato AWS CloudShell per il mio ambiente VPC.

Causa: ec2:DeleteNetworkInterface l'autorizzazione non è abilitata per il tuo ruolo.

Soluzione: per risolvere questo problema, assicurati che ec2:DeleteNetworkInterface l'autorizzazione sia abilitata per il tuo ruolo, come mostrato nel seguente script di esempio:

{ "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } }, "Resource": "arn:aws:ec2:*:*:network-interface/*" }

Anche l'utente con CreateEnvironment autorizzazione per i soli ambienti VPC ha accesso al pubblico AWS CloudShell ambienti

Problema: l'utente con CreateEnvironment autorizzazione limitata ai soli ambienti VPC è anche in grado di accedere agli ambienti pubblici AWS CloudShell .

Causa: quando limiti CreateEnvironment le autorizzazioni per la creazione solo di ambienti VPC e se hai già creato un ambiente pubblico, manterrai l'accesso all'ambiente pubblico esistente fino a quando questo CloudShell ambiente non verrà eliminato utilizzando l'interfaccia utente web. Ma se non l'hai mai usato CloudShell prima, non avrai accesso agli ambienti pubblici.

Soluzione: per limitare l'accesso agli AWS CloudShell ambienti pubblici, l'amministratore IAM deve prima aggiornare la policy IAM con la restrizione, quindi l'utente deve eliminare manualmente l'ambiente pubblico esistente utilizzando l'interfaccia utente AWS CloudShell web. (Azioni Elimina CloudShell ambiente).