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.
Risoluzione degli errori
Quando si verifica uno dei seguenti errori di indicizzazione, è possibile utilizzare le seguenti soluzioni per risolverli.
Argomenti
Si sono verificati alcuni problemi durante la preparazione del terminale
I Web Socket non supportati causano il mancato avvio delle sessioni CloudShell
Docker non è in esecuzione quando si utilizza AWS CloudShell
Impossibile accedere alle risorse all'interno di VPC dal mio AWS CloudShell Ambiente VPC
L'ENI utilizzato da AWS CloudShell per il mio ambiente VPC non è stato ripulito
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
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.
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.
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.
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.
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
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
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
-
Nella AWS CloudShell riga di comando, immettete il seguente comando per aprire il file del profilo.
vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1Nota
Se ci sei già PowerShell, puoi anche aprire il file del profilo nell'editor con il seguente comando.
vim $PROFILE -
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' -
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.
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
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
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).