Solución de problemas AWS CloudShell - AWS CloudShell

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas AWS CloudShell

Durante el uso AWS CloudShell, es posible que se produzcan problemas, por ejemplo, al iniciar CloudShell o realizar tareas clave mediante la interfaz de línea de comandos del shell. La información que se trata en este capítulo describe cómo solucionar algunos de los problemas comunes que es posible que encuentre.

Para obtener respuestas a una variedad de preguntas sobre CloudShell, consulte la AWS CloudShell FAQs. También puede buscar respuestas y publicar preguntas en los foros de debate de AWS CloudShell. Cuando acceda al foro, es posible que se requiera que inicie sesión en AWS. También puede ponerse en contacto con nosotros directamente.

Solución de errores

Cuando se encuentre ante alguno de los siguientes errores de indexación, puede utilizar las siguientes soluciones que se indican a continuación para corregirlos.

Error: «No se puede iniciar el entorno. Para volver a intentarlo, actualiza el navegador o reinicia seleccionando «Acciones, Reiniciar AWS CloudShell »

Problema: cuando intentas iniciar AWS CloudShell desde el AWS Management Console, se te deniega el acceso incluso después de haber obtenido los permisos necesarios de tu IAM administrador y de haber actualizado o reiniciado el navegador. CloudShell

Solución: póngase en contacto con AWS Support.

(Volver arriba)

Error: «No se puede iniciar el entorno. No dispone del permiso necesario. Pida a su IAM administrador que le conceda acceso a AWS CloudShell»

Problema: cuando intentas iniciar AWS CloudShell desde AWS Management Console, se te deniega el acceso y se te notifica que no tienes los permisos necesarios.

Causa: la IAM identidad a la que estás accediendo AWS CloudShell carece de los IAM permisos necesarios.

Solución: solicite al IAM administrador que le proporcione los permisos necesarios. Para ello, pueden añadir una política AWS gestionada adjunta (AWSCloudShellFullAccess) o una política integrada integrada. Para obtener más información, consulte Administrar el AWS CloudShell acceso y el uso con políticas IAM.

(Volver arriba)

No se puede acceder a la línea de AWS CloudShell comandos

Problema: después de modificar un archivo que utiliza el entorno informático, no se puede acceder a la línea de comandos AWS CloudShell.

Solución: si pierde el acceso después de modificar .bashrc o modificar cualquier otro archivo de forma incorrecta, puede volver AWS CloudShell a su configuración predeterminada borrando el directorio principal.

(Volver arriba)

No se puede hacer ping a las direcciones IP externas

Problema: cuando ejecuta un comando ping desde la línea de comandos (por ejemplo, ping amazon.com), recibe el siguiente mensaje.

ping: socket: Operation not permitted

Causa: la utilidad ping utiliza el Protocolo de mensajes de control de Internet (ICMP) para enviar paquetes de solicitudes de eco a un host de destino. Espere a que se produzca un eco desde el objetivo para responder. Como el ICMP protocolo no está habilitado en AWS CloudShell, la utilidad ping no funciona en el entorno informático del shell.

Solución: debido a que no ICMP es compatible AWS CloudShell, puede ejecutar el siguiente comando para instalar Netcat. Netcat es una utilidad de red informática para leer y escribir en conexiones de red mediante TCP o. UDP

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

(Volver arriba)

Se han producido algunos problemas al preparar el terminal

Problema: al intentar acceder AWS CloudShell mediante el navegador Microsoft Edge, no puede iniciar una sesión de shell y el navegador muestra un mensaje de error.

Causa: AWS CloudShell no es compatible con versiones anteriores de Microsoft Edge. Puedes acceder AWS CloudShell mediante las cuatro versiones principales más recientes de los navegadores compatibles.

Solución: instale una versión actualizada del navegador Edge desde el sitio de Microsoft.

(Volver arriba)

Las teclas de flecha no funcionan correctamente en PowerShell

Problema: En condiciones normales de funcionamiento, puede utilizar las teclas de dirección para navegar por la interfaz de la línea de comandos y explorar el historial de comandos hacia atrás y hacia delante. Sin embargo, al presionar las teclas de flecha en ciertas versiones de PowerShell on AWS CloudShell, es posible que las letras se muestren incorrectamente.

Causa: la situación en la que las teclas de flecha imprimen letras de forma incorrecta es un problema conocido en las versiones PowerShell 7.2.x que se ejecutan en Linux.

Solución: para eliminar las secuencias de escape que modifican el comportamiento de las teclas de flecha, edite el archivo PowerShell de perfil y establezca la $PSStyle variable en. PlainText

  1. En la línea de AWS CloudShell comandos, introduzca el siguiente comando para abrir el archivo de perfil.

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

    Si ya está dentro PowerShell, también puede abrir el archivo de perfil en el editor con el siguiente comando.

    vim $PROFILE
  2. En el editor, vaya al final del texto existente en el archivo, presione i para entrar en el modo Insertar y, a continuación, añada la siguiente declaración.

    $PSStyle.OutputRendering = 'PlainText'
  3. Tras realizar la edición, pulse Esc para entrar en el modo de comando. A continuación, introduzca el siguiente comando para guardar el archivo y salir del editor.

    :wq
nota

Los cambios surtirán efecto la próxima vez que comience PowerShell.

(Volver arriba)

Los Web Sockets no compatibles provocan un error al iniciar las sesiones CloudShell

Problema: Al intentar iniciar AWS CloudShell, recibe repetidamente el siguiente mensaje:Failed to open sessions : Timed out while opening the session.

Causa: CloudShell depende del WebSocket protocolo, que permite la comunicación interactiva bidireccional entre su navegador web y AWS CloudShell. Si utilizas un navegador en una red privada, es probable que los servidores proxy y los firewalls faciliten el acceso seguro a Internet. WebSocket Por lo general, la comunicación puede atravesar los servidores proxy sin problemas. Sin embargo, en algunos casos, los servidores proxy WebSockets impiden que funcionen correctamente. Si se produce este problema, no se CloudShell puede iniciar una sesión de shell y, finalmente, se agota el tiempo de espera del intento de conexión.

Solución: el tiempo de espera de la conexión puede deberse a un problema que no WebSockets sea compatible. Si este es el caso, actualice primero la ventana del navegador donde se encuentra la interfaz de línea de CloudShell comandos.

Si sigue recibiendo errores de tiempo de espera después de la actualización, consulte la documentación de su servidor proxy. Además, asegúrese de que su servidor proxy esté configurado para permitir Web Sockets. También puede ponerse en contacto con el administrador del sistema de la red.

nota

Supongamos que desea definir permisos granulares mediante una lista de permisos específicaURLs. Puede añadir parte de los URL que utiliza la AWS Systems Manager sesión para abrir una WebSocket conexión para enviar entradas y recibir salidas. Los AWS CloudShell comandos se envían a esa sesión de Systems Manager.

El formato StreamUrl que utiliza Systems Manager es wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

La región representa el identificador de región de una Región de AWS región compatible con AWS Systems Manager. Por ejemplo, us-east-2 es el identificador de región de la región Este de EE. UU. (Ohio).

Como el identificador de sesión se crea después de que una sesión concreta de Systems Manager se haya iniciado correctamente, solo puede especificarlo wss://ssmmessages.region.amazonaws.com cuando actualice URL la lista de permitidos. Para obtener más información, consulte la StartSessionoperación en la Referencia.AWS Systems Manager API

(Volver arriba)

No se pudo importar el módulo AWSPowerShell.NetCore

Problema: Al importar el AWSPowerShell. NetCoreen el módulo PowerShell deImport-Module -Name AWSPowerShell.NetCore, recibirá el siguiente mensaje de error:

Import-Module: el módulo especificado '. AWSPowerShell NetCore'no se cargó porque no se encontró un archivo de módulo válido en ningún directorio de módulos.

Causa: el AWSPowerShell.NetCore módulo se sustituye por los módulos AWS.Tools por servicio de. AWS CloudShell

Solución: es posible que las instrucciones de importación explícitas ya no sean necesarias o deban cambiarse al módulo .Tools correspondiente por servicio AWS.

  • En la mayoría de los casos, siempre que no se utilice ningún tipo .Net, no necesitará ninguna declaración de importación explícita. Los siguientes son ejemplos de declaraciones de importación.

    • Get-S3Bucket

    • (Get-EC2Instance).Instances

  • Si se utilizan los tipos .Net, importe el módulo de nivel de servicio (AWS.Tools.<Service>). A continuación, se muestra un ejemplo sintaxis .

    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()

Para obtener más información, consulte el anuncio de la versión 4 para AWS Tools for PowerShell.

(Volver arriba)

Docker no se ejecuta cuando se usa AWS CloudShell

Problema: Docker no funciona correctamente cuando se usa. AWS CloudShell Recibe el siguiente mensaje de error:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

Solución: intente reiniciar el entorno. Este mensaje de error puede aparecer al ejecutar Docker AWS CloudShell en una región que no lo admite. Asegúrese de ejecutar Docker en una región compatible. Para obtener información sobre las regiones con las que se admite el uso de contenedores de Docker AWS CloudShell, consulte Regiones de Docker.

Docker se ha quedado sin espacio en disco

Problema: recibe el siguiente mensaje de error:ERROR: failed to solve: failed to register layer: write [...]: no space left on device.

Causa: el Dockerfile supera el espacio disponible en disco. AWS CloudShell Esto puede deberse a imágenes individuales de gran tamaño o a demasiadas imágenes de Docker preexistentes.

Solución: ejecute df -h para averiguar el uso del disco. Ejecute sudo du -sh /folder/folder1 para evaluar el tamaño de ciertas carpetas que considere grandes y considere eliminar otros archivos para liberar espacio. Una opción sería considerar la posibilidad de eliminar las imágenes de Docker no utilizadas mediante la ejecución. docker rmi Debe tener en cuenta que el espacio de Docker en el entorno es limitado. Para obtener más información sobre Docker, consulte la guía de documentación de Docker.

docker pushse está agotando el tiempo de espera y lo sigue intentando

Problema: cuando docker push lo ejecutas, se agota el tiempo de espera y sigue intentándolo sin éxito.

Causa: esto puede deberse a la falta de permisos, al envío a un repositorio incorrecto o a una falta de autenticación.

Solución: Para intentar resolver este problema, asegúrate de que estás accediendo al repositorio correcto. Ejecute docker login para autenticarse correctamente. Asegúrate de tener todos los permisos necesarios para acceder a un ECR repositorio de Amazon.

No puedo acceder a los recursos VPC de mi AWS CloudShell VPC entorno

Problema: no puedo acceder a los recursos VPC mientras uso mi AWS CloudShell VPC entorno.

Causa: su AWS CloudShell VPC entorno hereda su configuración de red. VPC

Solución: Para resolver este problema, asegúrese de que VPC está configurado correctamente para acceder a sus recursos. Para obtener más información, consulte VPC la documentación Conéctese VPC a otras redes y la documentación Network Access Analyzer y la documentación Network Access Analyzer. Para encontrar la IPv4 dirección que utiliza el AWS CloudShell VPC entorno, ejecute el comando `ip -a` dentro de su entorno en la línea de comandos o en la página de la VPC consola.

La ENI utilizada por AWS CloudShell para mi VPC entorno no está limpia

Problema: No se puede limpiar lo ENI usado por AWS CloudShell para mi VPC entorno.

Causa: ec2:DeleteNetworkInterface el permiso no está habilitado para su función.

Solución: para resolver este problema, asegúrese de que el ec2:DeleteNetworkInterface permiso esté habilitado para su rol, como se muestra en el siguiente script de ejemplo:

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

El usuario con CreateEnvironment permiso exclusivo para VPC entornos también tiene acceso a AWS CloudShell entornos públicos

Problema: Los usuarios restringidos con CreateEnvironment permiso exclusivo para VPC entornos también pueden acceder a AWS CloudShell entornos públicos.

Causa: si limita CreateEnvironment los permisos para la creación de VPC entornos únicamente y si ya ha creado un entorno público, conservará el acceso al CloudShell entorno público existente hasta que lo elimine mediante la interfaz de usuario web. Sin embargo, si nunca lo ha utilizado CloudShell antes, no tendrá acceso a los entornos públicos.

Solución: para restringir el acceso a los AWS CloudShell entornos públicos, el IAM administrador primero debe actualizar la IAM política con la restricción y, a continuación, el usuario debe eliminar manualmente el entorno público existente mediante la interfaz de usuario AWS CloudShell web. (AccionesEliminar CloudShell entorno).