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
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.
Temas
- Acceso denegado
- Permisos insuficientes
- No se puede acceder a la línea de AWS CloudShell comandos
- No se puede hacer ping a las direcciones IP externas
- Se han producido algunos problemas al preparar el terminal
- Las teclas de flecha no funcionan correctamente en PowerShell
- Los Web Sockets no compatibles provocan un error al iniciar las sesiones CloudShell
- No se pudo importar el módulo AWSPowerShell.NetCore
- Docker no se ejecuta cuando se usa AWS CloudShell
- Docker se ha quedado sin espacio en disco
- Se está agotando el tiempo de espera de docker push y sigue intentándolo
- No puedo acceder a los recursos de la VPC desde mi entorno de AWS CloudShell VPC
- El ENI utilizado AWS CloudShell por mi entorno de VPC no está limpio
- El usuario con CreateEnvironment permiso solo para entornos de VPC también tiene acceso a entornos públicos AWS CloudShell
Acceso denegado
Problema: Al intentar iniciar el sistema CloudShell desde AWS Management Console, aparece el mensaje «No se ha podido iniciar el entorno». Para volver a intentarlo, actualiza el navegador o reinicia seleccionando Acciones, reinicia AWS CloudShell
. Se le deniega el acceso incluso después de haber solicitado los permisos de su administrador de IAM y de haber actualizado o reiniciado el navegador. CloudShell
Solución: póngase en contacto con AWS Support
Permisos insuficientes
Problema: Al intentar iniciar el entorno CloudShell desde AWS Management Console, aparece el mensaje «No se ha podido iniciar el entorno». No dispone del permiso necesario. Pida al administrador de IAM que le conceda acceso a AWS CloudShell»
. Se le deniega el acceso y se le notifica que no dispone de los permisos necesarios.
Causa: la identidad de IAM a la que estás accediendo AWS CloudShell carece de los permisos de IAM necesarios.
Solución: solicite al administrador de IAM 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 las políticas de IAM.
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.
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 protocolo ICMP no está activado AWS CloudShell, la utilidad ping no funciona en el entorno informático del shell.
Solución: debido a que el ICMP no es compatible AWS CloudShell, puede ejecutar el siguiente comando para instalar Netcat. Netcat es una utilidad de redes computacionales para leer conexiones de red y escribir en ellas mediante TCP o UDP.
sudo yum install nc nc -zv www.amazon.com 443
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
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
-
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
-
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'
-
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.
Los Web Sockets no compatibles provocan un error al iniciar las sesiones CloudShell
Problema: cuando intenta 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 en la que 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ífica URLs. Puede añadir parte de la 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 especificar wss://ssmmessages.region.amazonaws.com
cuando actualice su lista de direcciones URL permitidas. Para obtener más información, consulta la StartSessionoperación en la referencia de la AWS Systems Manager API.
No se pudo importar el módulo AWSPowerShell.NetCore
Problema: al importar el AWSPower Shell. NetCoreEn el módulo PowerShell byImport-Module -Name AWSPowerShell.NetCore
, recibirá el siguiente mensaje de error:
Import-Module: el módulo especificado, «Shell». AWSPower 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
Docker no se ejecuta cuando se usa AWS CloudShell
Problema: Docker no se ejecuta de forma correcta cuando se usa AWS CloudShell. Se 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 cuando ejecutas Docker AWS CloudShell en una GovCloud región que no lo admite. Asegúrese de ejecutar Docker en las regiones de AWS compatibles. Para ver una lista de las regiones en las que Docker está disponible, consulta las regiones compatibles AWS para AWS CloudShell
Docker se ha quedado sin espacio en disco
Problema: se 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 que haya imágenes individuales de gran tamaño o 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 crea que pueden ser grandes y considere la posibilidad de 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 de 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
Se está agotando el tiempo de espera de docker push
y sigue intentándolo
Problema: cuando se ejecuta docker push
, se agota el tiempo de espera de este y sigue intentándolo sin éxito.
Causa: esto puede deberse a la falta de permisos, a la inserción en un repositorio incorrecto o a la falta de autenticación.
Solución: para intentar resolver este problema, asegúrese de realizar la inserción en el repositorio correcto. Ejecute docker
login
para autenticar de forma adecuada. Asegúrese de tener todos los permisos necesarios para insertar en un repositorio de Amazon ECR.
No puedo acceder a los recursos de la VPC desde mi entorno de AWS CloudShell VPC
Problema: no puedo acceder a los recursos de la VPC mientras utilizo mi entorno de VPC AWS CloudShell .
Causa: el entorno de AWS CloudShell VPC hereda la configuración de red de la VPC.
Solución: para resolver este problema, asegúrese de que la VPC esté configurada de forma correcta para acceder a sus recursos. Para obtener más información, consulte en la documentación de la VPC el tema Conectar la VPC a otras redes y la documentación del Analizador de acceso a la red. Para encontrar la IPv4 dirección que utiliza el entorno de AWS CloudShell VPC, ejecute el comando `ip -a` dentro de su entorno en la línea de comandos o en la página de la consola de VPC.
El ENI utilizado AWS CloudShell por mi entorno de VPC no está limpio
Problema: no se puede limpiar la interfaz de red elástica que AWS CloudShell utiliza para mi entorno de VPC.
Causa: el permiso ec2:DeleteNetworkInterface
no está habilitado para su rol.
Solución: para resolver este problema, asegúrese de que el permiso ec2:DeleteNetworkInterface
esté habilitado para su rol, tal y 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 solo para entornos de VPC también tiene acceso a entornos públicos AWS CloudShell
Problema: El usuario restringido con CreateEnvironment
permiso solo para entornos de VPC también puede acceder a los entornos públicos AWS CloudShell .
Causa: si limita CreateEnvironment
los permisos para la creación de entornos de VPC únicamente y si ya ha creado un entorno público, conservará el acceso al CloudShell entorno público existente hasta que se elimine este entorno mediante la interfaz de usuario web. Sin embargo, si nunca los 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 administrador de IAM primero debe actualizar la política de IAM 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. (Acciones → Eliminar CloudShell entorno).