Entorno de computación de AWS CloudShell: especificaciones y software
Al iniciar AWS CloudShell, se crea un entorno de computación basado en Amazon Linux 2023
Recursos del entorno de computación
A cada entorno de computación de AWS CloudShell se le asignan los siguientes recursos de CPU y memoria:
-
1 vCPU (unidad central de procesamiento virtual)
-
2-GiB RAM
Además, el entorno se aprovisiona con la siguiente configuración de almacenamiento:
-
1 GB de almacenamiento persistente (el almacenamiento persiste después de finalizar la sesión)
Para obtener más información, consulte Almacenamiento persistente.
Requisitos de red de CloudShell
WebSockets
CloudShell depende del protocolo WebSocket, que permite la comunicación interactiva bidireccional entre el navegador web del usuario y el servicio CloudShell en la nube de AWS. Si utiliza un navegador en una red privada, es probable que los servidores proxy y los firewalls faciliten el acceso seguro a Internet. La comunicación de WebSocket normalmente puede atravesar los servidores proxy sin problemas. Sin embargo, en algunos casos, los servidores proxy impiden que los WebSockets funcionen correctamente. Si se produce este problema, su interfaz de CloudShell informa del siguiente error: Failed to open sessions : Timed out while opening the session.
Si este error se repite, consulte la documentación de su servidor proxy para asegurarse de que está configurado para permitir WebSockets. Como alternativa, puede ponerse en contacto con el administrador del sistema de su red.
nota
Si desea definir permisos detallados permitiendo URL específicas, puede añadir parte de la URL que utilice la sesión de AWS Systems Manager para abrir una conexión WebSocket para enviar entradas y recibir salidas. (Sus comandos de AWS CloudShell se envían a esa sesión de Systems Manager).
El formato de esta StreamUrl utilizada por 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 compatible con AWS Systems Manager, como us-east-2 para 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, consulte la operación StartSession en la Referencia API de AWS Systems Manager.
Software preinstalado
nota
Como el entorno de desarrollo AWS CloudShell se actualiza periódicamente para otorgar acceso al software más reciente, no incluimos números de versión específicos en esta documentación. En su lugar, describimos cómo puede comprobar qué versión está instalada. Para comprobar la versión instalada, introduzca el nombre del programa seguido de la opción --version (por ejemplo, git
--version).
Intérpretes de comandos
| Nombre | Descripción | Version information |
|---|---|---|
|
Bash |
El intérprete de comandos Bash es la aplicación de intérprete de comandos predeterminada para AWS CloudShell. |
|
|
PowerShell (pwsh) |
PowerShell, que ofrece una interfaz de la línea de comandos y compatibilidad con lenguajes de scripting, se basa en el entorno de ejecución del lenguaje de comandos .NET de Microsoft. PowerShell utiliza comandos ligeros denominados “ |
|
| Z Shell (zsh) |
Z Shell, también conocido como |
|
Interfaz de la línea de comandos (CLI) de AWS
| Nombre | Descripción | Version information |
|---|---|---|
|
Kit de herramientas de AWS CDK: la CLI |
El kit de herramientas AWS CDK, el comando de la CLI, Para obtener más información, consulte Kit de herramientas AWS CDK. |
|
|
AWS CLI |
La AWS CLI es una interfaz de la línea de comandos para administrar múltiples servicios de AWS desde la línea de comandos y automatizarlos mediante scripts. Para obtener más información, consulte Administración de los servicios de AWS desde la CLI en CloudShell. Para obtener información sobre cómo puede asegurarse de que está utilizando la versión de la AWS CLI 2 más actualizada, consulte Instalación de la AWS CLI en el directorio de inicio. |
|
| CLI DE EB |
La CLI de AWS Elastic Beanstalk es una interfaz de la línea de comandos de que simplifican la creación, actualización y monitoreo de entornos desde un repositorio local. Para obtener más información sobre la EB CLI, consulte Uso de Elastic Beanstalk Command Line Interface (EB CLI) en la Guía para desarrolladores de AWS Elastic Beanstalk. |
|
|
CLI de Amazon ECS |
La interfaz de la línea de comandos (CLI) de Amazon Elastic Container Service (Amazon ECS) proporciona comandos de alto nivel que simplifican la creación, la actualización y el monitoreo de clústeres y tareas. Para obtener más información, consulte la Usar la interfaz de la línea de comandos de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service. |
|
|
AWS SAM CLI |
La CLI de AWS SAM es una herramienta de la línea de comandos que opera sobre una plantilla de AWS Serverless Application Model y código de la aplicación. Puede realizar varias tareas. Estos incluyen la invocación de funciones de Lambda localmente, la creación de un paquete de implementación para su aplicación sin servidor y la implementación de su aplicación sin servidor en la nube de AWS. Para obtener más información, consulte la referencia de la CLI de AWS SAM en la Guía para desarrolladores de AWS Serverless Application Model. |
|
| Herramientas de AWS para PowerShell | Herramientas de AWS para PowerShell son módulos de PowerShell basados en la funcionalidad expuesta por SDK para .NET. Con Herramientas de AWS para PowerShell, se permite realizar operaciones mediante scripts en sus recursos de AWS desde la línea de comandos de PowerShell. AWS CloudShell preinstala la versión modularizada (AWS.Tools) de Herramientas de AWS para PowerShell. Para obtener más información, consulte Uso de las herramientas de AWS para PowerShell en la Guía del usuario de Herramientas de AWS para PowerShell. |
|
Entornos de ejecución y SDK de AWS: Node.js y Python 3
| Nombre | Descripción | Version information |
|---|---|---|
|
Node.js (con npm) |
Node.js es un entorno de ejecución de JavaScript diseñado para facilitar la aplicación de técnicas de programación asíncrona. Para obtener más información, consulte la documentación del sitio oficial de Node.js npm es un administrador de paquetes que proporciona acceso a un registro en línea de módulos de JavaScript. Para obtener más información, consulte la documentación en el sitio web de npm |
|
|
SDK para JavaScript en Node.js |
El kit de desarrollo de software (SDK) ayuda a simplificar la codificación al proporcionar objetos de JavaScript para los servicios de AWS, incluidos Amazon S3, Amazon EC2, DynamoDB y Amazon SWF. Para obtener más información, consulte la Guía para desarrolladores de AWS SDK para JavaScript. |
|
|
Python |
Python 3 está listo para su uso en el entorno del intérprete de comandos. Python 3 ahora se considera la versión predeterminada del lenguaje de programación (Python 2 dejó de recibir soporte en enero de 2020). Para obtener más información, consulte la documentación del sitio oficial de Python Además, viene preinstalado pip, el instalador de paquetes para Python. Puede usar este programa de la línea de comandos para instalar paquetes de Python desde los índices en línea, como el Python Package Index. Para obtener más información, consulte la documentación de Python Packaging Authority |
|
|
SDK para Python (Boto3) |
Boto es el kit de desarrollo de software (SDK) que los desarrolladores de Python utilizan para crear, configurar y administrar Servicios de AWS como Amazon EC2 y Amazon S3. El SDK proporciona una API fácil de usar y orientada a objetos, así como un acceso de bajo nivel a los Servicios de AWS. Para obtener más información, consulte la documentación de Boto3 |
|
Herramientas de desarrollo y utilidades de intérprete de comandos
| Nombre | Descripción | Version information |
|---|---|---|
|
bash-completion |
bash-completion es un conjunto de funciones de intérprete de comandos que permite completar automáticamente comandos o argumentos escritos parcialmente pulsando la tecla Tab. Puede encontrar los paquetes compatibles con bash-completion en Para configurar la función de autocompletar los comandos de un paquete, el archivo del programa debe ser el origen. Por ejemplo, para configurar la característica de autocompletar para los comandos de Git, añada la siguiente línea para
Si quiere usar scripts de finalización personalizados, agréguelos a su directorio principal persistente ( Para obtener más información, consulte la página README |
|
| cqlsh-expansion | cqlsh-expansion es un conjunto de herramientas que incluye cqlsh y ayudantes preconfigurados para Amazon Keyspaces, al tiempo que mantiene la total compatibilidad con Apache Cassandra. Para obtener más información, consulte Using cqlsh to connect to Amazon Keyspaces en Amazon Keyspaces (for Apache Cassandra) Developer Guide. |
|
| Docker |
Docker |
|
| Git |
Git es un sistema de control de versiones distribuido que apoya las prácticas modernas de desarrollo de software a través de los flujos de trabajo de las sucursales y la puesta en escena del contenido. Para obtener más información, consulte la página de documentación del sitio oficial de Git |
|
| iputils |
El paquete iputils contiene utilidades para redes Linux. Para obtener más información sobre las utilidades proporcionadas, consulte el repositorio de iputils en GitHub |
Ejemplos de una herramienta iputils: |
| jq | La utilidad jq analiza los datos con formato JSON para producir una salida que se modifica mediante filtros de la línea de comandos. Para obtener más información, consulte el manual de jq alojado en GitHub |
|
|
kubectl |
kubectl es una herramienta de la línea de comandos para comunicarse con el plano de control de un clúster de Kubernetes mediante la API de Kubernetes. |
|
|
make |
La utilidad make utiliza makefiles para automatizar conjuntos de tareas y organizar la compilación de código. Para obtener más información, consulte la Documentación de GNU Make |
|
|
man |
El comando man proporciona páginas de manual para utilidades y herramientas de la línea de comandos. Por ejemplo, man ls vuelve a la página del manual del comando ls que muestra el contenido de los directorios. Para obtener más información, consulte la entrada man en Wikipedia |
|
| nano | nano es un editor pequeño y fácil de usar para una interfaz basada en texto. Para obtener más información, consulte Documentación GMU nano |
|
|
OpenJDK 21 |
Amazon Corretto 21 es una distribución de OpenJDK 21 |
|
|
procps |
procps es una utilidad de administración del sistema que puede utilizar para supervisar y detener los procesos que se estén ejecutando actualmente. Para obtener más información, consulte el archivo README que muestra los programas que se pueden ejecutar con procps |
|
|
psql |
PostgreSQL es un potente sistema de bases de datos de código abierto que utiliza capacidades SQL estándar y ofrece características robustas para gestionar y escalar de forma segura operaciones de datos complejas. Para obtener más información, consulte What is PostgreSQL |
|
|
Cliente SSH |
Los clientes SSH utilizan el protocolo del intérprete de comandos seguro para las comunicaciones cifradas con un equipo remoto. OpenSSH es el cliente SSH que viene preinstalado. Para obtener más información, consulte el sitio OpenSSH |
|
|
sudo |
Con la utilidad sudo, los usuarios pueden ejecutar un programa con los permisos de seguridad de otro usuario, normalmente el superusuario. Sudo resulta útil cuando necesita instalar aplicaciones como administrador del sistema. Para obtener más información, consulte el manual de Sudo |
|
|
tar |
tar es una utilidad de la línea de comandos que se puede utilizar para agrupar varios archivos en un único archivo (a menudo denominado tarball). Para obtener más información, consulte la documentación de GNU |
|
|
tmux |
tmux es un multiplexor de terminal que puede utilizar para ejecutar diferentes programas simultáneamente en varias ventanas. Para obtener más información, consulte un blog que ofrece una introducción concisa a tmux |
|
| vim |
vim es un editor personalizable con el que puedes interactuar a través de una interfaz basada en texto. Para obtener más información, consulte la documentación del proveedor de recursos de vim.org |
|
| wget |
wget es un programa informático utilizado para recuperar contenido de servidores web especificados por puntos de conexión en la línea de comandos. Para obtener más información, consulte la documentación de GNU Wget |
|
| zip/unzip |
Las utilidades zip/unzip utilizan un formato de archivo comprimido que ofrece una compresión de datos sin pérdida de datos. Ejecute el comando zip para agrupar y comprimir archivos en un único archivo. Use unzip para extraer archivos de un archivo a un directorio específico. |
|
Instalación de la AWS CLI en el directorio de inicio
Al igual que el resto del software preinstalado en el entorno CloudShell, la herramienta de la AWS CLI se actualiza automáticamente con actualizaciones programadas y parches de seguridad. Si quiere asegurarse de tener la versión más actualizada de la AWS CLI, puede optar por instalar la herramienta manualmente en el directorio principal del intérprete de comandos.
importante
Debe instalar manualmente la copia de la AWS CLI en el directorio principal para que esté disponible la próxima vez que inicie una sesión de CloudShell. Esta instalación es necesaria porque los archivos que se añaden a directorios externos a $HOME se eliminan al finalizar una sesión del intérprete de comandos. Además, después de que instale esta copia de la AWS CLI, no se actualiza automáticamente. Es decir, es su responsabilidad administrar las actualizaciones y los parches de seguridad.
Para más información sobre el modelo de responsabilidad compartida de AWS, consulte Protección de los datos en AWS CloudShell.
Para instalar AWS CLI
-
En la línea de comandos de CloudShell, utilice el comando
curlpara transferir una copia comprimida de la AWS CLI instalada al intérprete de comandos:curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" -
Descomprima la carpeta comprimida:
unzip awscliv2.zip -
Para añadir la herramienta a una carpeta específica, ejecute el instalador la AWS CLI:
sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/binSi se ha instalado correctamente, la línea de comandos muestra el siguiente mensaje:
You can now run: /home/cloudshell-user/usr/local/bin/aws --version -
Para su comodidad, le recomendamos que actualice también la variable de entorno de
PATHpara no tener que especificar la ruta de instalación de la herramienta al ejecutar los comandosaws:export PATH=/home/cloudshell-user/usr/local/bin:$PATHnota
Si deshace este cambio a
PATH, los comandos deawsque no incluyan una ruta específica utilizarán la versión preinstalada de la AWS CLI por defecto.
Instalación de software de terceros en el entorno del intérprete de comandos
nota
Le recomendamos que revise el modelo de responsabilidad de seguridad compartida
De forma predeterminada, todos los usuarios de AWS CloudShell tienen permisos. Por lo tanto, puede usar el comando sudo para instalar software que aún no esté disponible en el entorno de computación del intérprete de comandos. Por ejemplo, puede usar sudo con la utilidad de administración de paquetes DNF para instalar cowsay, que genera imágenes de arte en formato ASCII de una vaca con el siguiente mensaje:
sudo dnf install cowsay
A continuación, puede iniciar el programa recién instalado escribiendo echo "Welcome to AWS
CloudShell" | cowsay.
importante
Las utilidades de administración de paquetes como dnf instalan programas en directorios (/usr/bin, por ejemplo), que se reciclan cuando finaliza la sesión del intérprete de comandos. Esto significa que se instala y utiliza software adicional por sesión.
Modificar el intérprete de comandos con scripts
Si desea modificar el entorno del intérprete de comandos predeterminado, puede editar un script del intérprete de comandos que se ejecute cada vez que se inicie el entorno del intérprete de comandos. El script .bashrc se ejecuta cada vez que se inicia el intérprete de comandos bash predeterminado.
aviso
Si modifica el archivo .bashrc de forma incorrecta, es posible que no pueda acceder al entorno del intérprete de comandos más adelante. Se recomienda hacer una copia del archivo antes de editarlo. También puede evitar riesgos si abre dos intérpretes de comandos al editar .bashrc. Si pierde el acceso a un intérprete de comandos, su sesión seguirá iniciada en otro intérprete de comandos y podrá deshacer cualquier cambio.
Si pierde el acceso después de modificar .bashrc o modificar cualquier otro archivo de forma incorrecta, puede recuperar la configuración predeterminada de AWS CloudShell eliminando el directorio principal.
En el proceso, modificará el script .bashrc para que su entorno del intérprete de comandos pase automáticamente a ejecutar el intérprete de comandos Z.
-
Abra
.bashrccon un editor de texto (Vim, por ejemplo):vim .bashrc -
En la interfaz del editor, pulse la tecla I para iniciar la edición y, a continuación, añada lo siguiente:
zsh -
Para salir del archivo editado
.bashrcy guardarlo, pulse Esc para entrar en el modo de comando Vim e introduzca lo siguiente::wq -
Utilice el comando
sourcepara volver a cargar el archivo.bashrc:source .bashrcCuando la interfaz de la línea de comandos vuelva a estar disponible, el símbolo del indicador cambiará a
%para indicar que ahora está utilizando el intérprete de comandos Z.