Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes AWS CloudShell
Lors de l'utilisation AWS CloudShell, vous pouvez rencontrer des problèmes, par exemple lorsque vous lancez CloudShell ou effectuez des tâches clés à l'aide de l'interface de ligne de commande du shell. Les informations abordées dans ce chapitre expliquent comment résoudre certains des problèmes courants que vous pourriez rencontrer.
Pour obtenir des réponses à diverses questions à ce sujet CloudShell, consultez les AWS CloudShell FAQ
Résolution des erreurs
Lorsque vous rencontrez l'une des erreurs indexées suivantes, vous pouvez utiliser les solutions suivantes pour les résoudre.
Rubriques
Impossible d'envoyer une requête ping aux adresses IP externes
Quelques problèmes sont survenus lors de la préparation de votre terminal
Les touches fléchées ne fonctionnent pas correctement dans PowerShell
Les Web Sockets non pris en charge empêchent le démarrage des sessions CloudShell
Docker ne fonctionne pas lors de l'utilisation AWS CloudShell
Impossible d'accéder aux ressources du VPC depuis mon AWS CloudShell Environnement VPC
L'ENI utilisé par AWS CloudShell car mon environnement VPC n'est pas nettoyé
Accès refusé
Problème : Lorsque vous essayez CloudShell de démarrer à partir de Console de gestion AWS, le message « Impossible de démarrer l'environnement » s'affiche. Pour réessayer, actualisez le navigateur ou redémarrez en sélectionnant « Actions », AWS CloudShell « Redémarrer ». L'accès vous est refusé même si vous avez obtenu les autorisations requises auprès de votre administrateur IAM et que vous avez actualisé votre navigateur ou redémarré. CloudShell
Solution : contactez le AWS support
Autorisations insuffisantes
Problème : Lorsque vous essayez CloudShell de démarrer à partir de Console de gestion AWS, le message « Impossible de démarrer l'environnement » s'affiche. Vous ne disposez pas des autorisations requises. Demandez à votre administrateur IAM d'accorder l'accès à AWS CloudShell«. L'accès vous est refusé et vous êtes averti que vous ne disposez pas des autorisations requises.
Cause : L'identité IAM que vous utilisez pour accéder AWS CloudShell ne dispose pas des autorisations IAM nécessaires.
Solution : demandez à votre administrateur IAM de vous fournir les autorisations nécessaires. Pour ce faire, ils peuvent ajouter une politique AWS gérée attachée (AWSCloudShellFullAccess) ou une stratégie en ligne intégrée. Pour de plus amples informations, veuillez consulter Gestion AWS CloudShell accès et utilisation avec les politiques IAM.
La session Shell démarre en mode de récupération
Problème : Lorsque vous démarrez AWS CloudShell, un message s'affiche indiquant que l'initialisation de votre session shell AWS CloudShell a échoué et qu'elle est en cours d'exécution en mode de restauration.
Cause : Bash s'est terminé avec une erreur au démarrage, généralement en raison d'un problème dans les fichiers de configuration de votre shell (tels que .bashrc.bash_profile, ou.profile).
Solution : à partir du mode de restauration, restaurez votre configuration ~/.bashrc par défaut en exécutant :
mv ~/.bashrc ~/.bashrc.bak && cp /etc/skel/.bashrc ~/.bashrc
Si le problème se trouve dans ~/.bash_profile ou~/.profile, sauvegardez le fichier problématique :
mv ~/.bash_profile ~/.bash_profile.bak mv ~/.profile ~/.profile.bak
Puis redémarrez AWS CloudShell. Passez en revue vos fichiers sauvegardés pour trouver et résoudre le problème, puis restaurez-les.
Impossible d'accéder AWS CloudShell ligne de commande
Problème : après avoir modifié un fichier utilisé par l'environnement informatique, vous ne pouvez pas accéder à la ligne de commande dans AWS CloudShell.
Solution : Si vous perdez l'accès à un fichier .bashrc ou à un autre fichier de manière incorrecte, vous pouvez revenir AWS CloudShell à ses paramètres par défaut en supprimant votre répertoire personnel.
Impossible de se connecter à l'environnement
Problème : le message d'erreur « Impossible de se connecter à l'environnement » s'affiche. Il se peut que vous ayez trop de sessions shell en cours d'exécution. »
Cause : Cette erreur se produit lorsque trop d' AWS CloudShell onglets sont ouverts ou en cas de problème de connectivité.
Solution : fermez tous AWS CloudShell les onglets supplémentaires et réessayez.
Impossible d'envoyer une requête ping aux adresses IP externes
Problème : Lorsque vous exécutez une commande ping depuis la ligne de commande (par exemple,ping amazon.com), le message suivant s'affiche.
ping: socket: Operation not permitted
Cause : L'utilitaire ping utilise le protocole ICMP (Internet Control Message Protocol) pour envoyer des paquets de requêtes d'écho à un hôte cible. Il attend la réponse d'un écho de la cible. Le protocole ICMP n'étant pas activé dans AWS CloudShell, l'utilitaire ping ne fonctionne pas dans l'environnement informatique du shell.
Solution : Comme ICMP n'est pas pris en charge dans AWS CloudShell, vous pouvez exécuter la commande suivante pour installer Netcat. Netcat est un utilitaire de réseau informatique permettant de lire et d'écrire sur des connexions réseau via TCP ou UDP.
sudo yum install nc nc -zv www.amazon.com 443
Quelques problèmes sont survenus lors de la préparation de votre terminal
Problème : lorsque vous essayez d'accéder à l' AWS CloudShell aide du navigateur Microsoft Edge, vous ne pouvez pas démarrer une session shell et le navigateur affiche un message d'erreur.
Cause : AWS CloudShell n'est pas compatible avec les versions antérieures de Microsoft Edge. Vous pouvez y accéder AWS CloudShell en utilisant les quatre dernières versions majeures des navigateurs pris en charge.
Solution : installez une version mise à jour du navigateur Edge à partir du site Microsoft
Les touches fléchées ne fonctionnent pas correctement dans PowerShell
Problème : En fonctionnement normal, vous pouvez utiliser les touches fléchées pour naviguer dans l'interface de ligne de commande et parcourir l'historique de vos commandes en arrière et en avant. Toutefois, lorsque vous appuyez sur les touches fléchées dans certaines versions de PowerShell activé AWS CloudShell, les lettres peuvent être mal sorties.
Cause : La situation dans laquelle les touches fléchées génèrent des lettres de manière incorrecte est un problème connu avec les versions PowerShell 7.2.x exécutées sous Linux.
Solution : pour supprimer les séquences d'échappement qui modifient le comportement des touches fléchées, modifiez le fichier de PowerShell profil et définissez la $PSStyle variable surPlainText.
-
Dans la ligne de AWS CloudShell commande, entrez la commande suivante pour ouvrir le fichier de profil.
vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1Note
Si vous êtes déjà connecté PowerShell, vous pouvez également ouvrir le fichier de profil dans l'éditeur à l'aide de la commande suivante.
vim $PROFILE -
Dans l'éditeur, allez à la fin du texte existant du fichier, appuyez sur i pour passer en mode Insertion, puis ajoutez l'instruction suivante.
$PSStyle.OutputRendering = 'PlainText' -
Après avoir effectué la modification, appuyez Esc pour passer en mode commande. Entrez ensuite la commande suivante pour enregistrer le fichier et quitter l'éditeur.
:wq
Note
Vos modifications prendront effet la prochaine fois que vous démarrerez PowerShell.
Les Web Sockets non pris en charge empêchent le démarrage des sessions CloudShell
Problème : Lorsque vous essayez de démarrer AWS CloudShell, le message suivant s'affiche à plusieurs reprises :Failed to open sessions : Timed out while opening the session.
Cause : CloudShell dépend du WebSocket protocole, qui permet une communication interactive bidirectionnelle entre votre navigateur Web et AWS CloudShell. Si vous utilisez un navigateur sur un réseau privé, l'accès sécurisé à Internet est probablement facilité par les serveurs proxy et les pare-feux. WebSocket la communication peut généralement traverser les serveurs proxy sans problème. Mais, dans certains cas, les serveurs proxy ne WebSockets peuvent pas fonctionner correctement. Si ce problème se produit, CloudShell impossible de démarrer une session shell et la tentative de connexion finit par expirer.
Solution : un délai de connexion peut être dû à un problème autre que la WebSockets non-prise en charge. Si tel est le cas, rafraîchissez d'abord la fenêtre du navigateur dans laquelle se trouve l'interface de ligne de CloudShell commande.
Si des erreurs de temporisation persistent après l'actualisation, consultez la documentation de votre serveur proxy. Assurez-vous également que votre serveur proxy est configuré pour autoriser les Web Sockets. Vous pouvez également contacter l'administrateur système de votre réseau.
Note
Supposons que vous souhaitiez définir des autorisations granulaires en autorisant des URL spécifiques. Vous pouvez ajouter une partie de l'URL que la AWS Systems Manager session utilise pour ouvrir une WebSocket connexion afin d'envoyer des entrées et de recevoir des sorties. Vos AWS CloudShell commandes sont envoyées à cette session de Systems Manager.
Le format utilisé par Systems Manager pour StreamUrl cela est
wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).
La région représente l'identifiant de région d'une Région AWS entité prise en charge par AWS Systems Manager. Par exemple, us-east-2 est l'identifiant de région pour la région de l'Est des États-Unis (Ohio).
Étant donné que l'identifiant de session est créé après le démarrage réussi d'une session Systems Manager spécifique, vous ne pouvez le spécifier que wss://ssmmessages.region.amazonaws.com lorsque vous mettez à jour votre liste d'URL autorisées. Pour plus d'informations, consultez l'StartSessionopération dans la référence de AWS Systems Manager l'API.
Impossible d'importer le AWSPowerShell.NetCore module
Problème : lorsque vous importez le AWSPowerShell.NetCore module dans PowerShell byImport-Module -Name AWSPowerShell.NetCore, le message d'erreur suivant s'affiche :
Import-Module: Le module « AWSPowerShell.NetCore » spécifié n'a pas été chargé car aucun fichier de module valide n'a été trouvé dans aucun répertoire de module.
Cause : Le AWSPowerShell.NetCore module est remplacé par les modules AWS.Tools par service dans. AWS CloudShell
Solution : Il se peut que les instructions d'importation explicites ne soient plus nécessaires ou qu'il faille les remplacer par le module AWS.Tools par service correspondant.
Exemple
Exemple
-
Dans la plupart des cas, tant qu'aucun type .Net n'est utilisé, aucune instruction d'importation explicite n'est nécessaire. Voici des exemples de déclarations d'importation.
-
Get-S3Bucket -
(Get-EC2Instance).Instances
-
-
Si des types .Net sont utilisés, importez le module de niveau de service ()
AWS.Tools.<Service>. Voici un exemple de syntaxe.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()
Pour plus d'informations, consultez l'annonce de la
Docker ne fonctionne pas lors de l'utilisation AWS CloudShell
Problème : Docker ne fonctionne pas correctement lors de l'utilisation AWS CloudShell. Le message d'erreur suivant s'affiche :docker: Cannot connect to the
Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
Solution : essayez de redémarrer votre environnement. Ce message d'erreur peut apparaître lorsque vous exécutez Docker AWS CloudShell dans une GovCloud région. Assurez-vous que vous exécutez Docker dans les AWS régions prises en charge. Pour obtenir la liste des régions dans lesquelles Docker est disponible, consultez la section AWS Régions prises en charge pour AWS CloudShell.
Docker n'a plus d'espace disque
Problème : Vous recevez le message d'erreur suivant :ERROR: failed to solve: failed to register layer: write [...]: no space
left on device.
Cause : Le Dockerfile dépasse l'espace disque disponible dans. AWS CloudShell Cela peut être dû à de grandes images individuelles ou à un trop grand nombre d'images Docker préexistantes.
Solution : Exécutez df -h pour trouver l'utilisation du disque. Exécutez sudo du -sh /folder/folder1 pour évaluer la taille de certains dossiers qui, selon vous, peuvent être volumineux et envisagez de supprimer d'autres fichiers pour libérer de l'espace. Une option serait d'envisager de supprimer les images Docker inutilisées en exécutantdocker
rmi. Vous devez savoir que Docker dispose d'un espace limité dans l'environnement. Pour plus d'informations sur Docker, consultez le guide de documentation Docker
docker push arrive à expiration et continue de réessayer
Problème : lorsque vous l'exécutezdocker push, le délai est expiré et vous recommencez sans succès.
Cause : Cela peut être dû à des autorisations manquantes, à un transfert vers le mauvais référentiel ou à un manque d'authentification.
Solution : Pour essayer de résoudre ce problème, assurez-vous de rediriger le dossier vers le référentiel approprié. Exécutez docker
login pour vous authentifier correctement. Assurez-vous que vous disposez de toutes les autorisations nécessaires pour effectuer un transfert vers un référentiel Amazon ECR.
Impossible d'accéder aux ressources du VPC depuis mon AWS CloudShell Environnement VPC
Problème : Impossible d'accéder aux ressources du VPC lors de l'utilisation de mon environnement AWS CloudShell VPC.
Cause : Votre environnement AWS CloudShell VPC hérite des paramètres réseau de votre VPC.
Solution : Pour résoudre ce problème, assurez-vous que votre VPC est correctement configuré pour accéder à vos ressources. Pour plus d'informations, consultez la documentation VPC Connectez votre VPC à d'autres réseaux et la documentation Network Access Analyzer. Vous pouvez trouver l'adresse IPv4 utilisée par l'environnement AWS CloudShell VPC en exécutant la commande dans votre environnement dans `ip -a` l'invite de ligne de commande ou sur la page de la console VPC.
L'ENI utilisé par AWS CloudShell car mon environnement VPC n'est pas nettoyé
Problème : Impossible de nettoyer l'ENI utilisé par AWS CloudShell mon environnement VPC.
Cause : ec2:DeleteNetworkInterface l'autorisation n'est pas activée pour votre rôle.
Solution : Pour résoudre ce problème, assurez-vous que ec2:DeleteNetworkInterface l'autorisation est activée pour votre rôle, comme indiqué dans l'exemple de script suivant :
{ "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } }, "Resource": "arn:aws:ec2:*:*:network-interface/*" }
L'utilisateur CreateEnvironment autorisé uniquement pour les environnements VPC a également accès au public AWS CloudShell environnements
Problème : Les utilisateurs dont les CreateEnvironment autorisations sont limitées aux seuls environnements VPC peuvent également accéder aux AWS CloudShell environnements publics.
Cause : Lorsque vous limitez CreateEnvironment les autorisations pour la création d'environnements VPC uniquement et si vous avez déjà créé un environnement public, vous conservez votre accès à l' CloudShellenvironnement public existant jusqu'à ce que cet environnement soit supprimé à l'aide de l'interface utilisateur Web. Mais si vous ne l'avez jamais utilisé CloudShell auparavant, vous n'aurez pas accès aux environnements publics.
Solution : pour restreindre l'accès aux AWS CloudShell environnements publics, l'administrateur IAM doit d'abord mettre à jour la politique IAM avec la restriction, puis l'utilisateur doit supprimer manuellement l'environnement public existant à l'aide de l'interface utilisateur AWS CloudShell Web. (Actions → Supprimer CloudShell l'environnement).