AWS CloudShell entorno informático: especificaciones y software - 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.

AWS CloudShell entorno informático: especificaciones y software

Cuando se lanza AWS CloudShell, se crea un entorno informático basado en Amazon Linux 2023 para alojar la experiencia de shell. El entorno está configurado con recursos de computación (vCPU y memoria) y ofrece una amplia gama de software preinstalado al que se puede acceder desde la interfaz de la línea de comandos. Asegúrese de que todo software que instale en el entorno de computación tenga aplicados los parches correspondientes y esté actualizado. También puede configurar su entorno predeterminado instalando software y modificando los scripts del intérprete de comandos.

Recursos del entorno de computación

A cada entorno AWS CloudShell informático 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.

CloudShell requisitos de red

WebSockets

CloudShell depende del WebSocket protocolo, que permite la comunicación interactiva bidireccional entre el navegador web del usuario y el CloudShell servicio en la AWS nube. 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 ocurre este problema, su CloudShell interfaz informa del siguiente error:Failed to open sessions : Timed out while opening the session.

Si este error se produce repetidamente, 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 quieres definir los permisos detallados mediante listas de permisos específicas URLs, puedes 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 que StreamUrl utiliza Systems Manager eswss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

La región representa el identificador de AWS región de una región compatible AWS Systems Manager, como us-east-2 la región EE.UU. Este (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.

Software preinstalado

nota

Como el entorno de AWS CloudShell desarrollo se actualiza periódicamente para proporcionar 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

Intérpretes de comandos preinstalados
Nombre Descripción Version information

Bash

El shell Bash es la aplicación de shell predeterminada para AWS CloudShell.

bash --version

PowerShell (pwsh)

Con una interfaz de línea de comandos y compatibilidad con el lenguaje de secuencias de comandos, PowerShell se basa en el entorno de ejecución del lenguaje de comandos .NET de Microsoft. PowerShell utiliza comandos ligeros denominados cmdlets que aceptan y devuelven objetos.NET.

pwsh --version

Z Shell (zsh)

Z Shell, también conocido como zsh, es una versión ampliada de Bourne Shell que ofrece un soporte de personalización mejorado para temas y complementos.

zsh --version

AWS interfaces de línea de comandos (CLI)

CLI
Nombre Descripción Version information

AWS CDK Kit de herramientas CLI

El AWS CDK kit de herramientas, el comando CLIcdk, es la herramienta principal que interactúa con la aplicación. AWS CDK Ejecuta tu aplicación, consulta el modelo de aplicación que has definido y produce e implementa las AWS CloudFormation plantillas generadas por. AWS CDK

Para obtener más información, consulte Kit de herramientas AWS CDK.

cdk --version

AWS CLI

AWS CLI Se trata de una interfaz de línea de comandos que puede utilizar para gestionar varios AWS servicios desde la línea de comandos y automatizarlos mediante scripts. Para obtener más información, consulte Administre AWS los servicios desde CLI en CloudShell.

Para obtener información acerca de cómo puede asegurarse de utilizar la mayoría de la up-to-date AWS CLI versión 2, consulteInstalación AWS CLI en su directorio principal.

aws --version

CLI DE EB

La AWS Elastic Beanstalk CLI proporciona una interfaz de línea de comandos para simplificar la creación, actualización y supervisión 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 .

eb --version

La 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.

ecs-cli --version

AWS SAM CLI

AWS SAM CLI es una herramienta de línea de comandos que funciona con una AWS Serverless Application Model plantilla y un código de aplicación. Puede realizar varias tareas. Estas incluyen la invocación local de las funciones de Lambda, la creación de un paquete de despliegue para la aplicación sin servidor y el despliegue de la aplicación sin servidor en la nube. 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 .

sam --version

Herramientas de AWS para PowerShell Herramientas de AWS para PowerShell Se trata de PowerShell módulos que se basan en la funcionalidad expuesta en el. AWS SDK for .NET Con Herramientas de AWS para PowerShell, puede programar operaciones en sus AWS recursos desde la línea de PowerShell comandos.

AWS CloudShell preinstala la versión modularizada (AWS.Tools) del. Herramientas de AWS para PowerShell

Para obtener más información, consulte Uso de las herramientas de AWS PowerShell en la Guía del Herramientas de AWS para PowerShell usuario.

pwsh --Command ' Get-Module -ListAvailable -Name AWS.Tools.Common'

Tiempos de ejecución y AWS SDKs: Node.js y Python 3

Tiempos de ejecución y AWS SDKs
Nombre Descripción Version information

Node.js (con npm)

Node.js es un JavaScript entorno de ejecución 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 de módulos en línea. JavaScript Para obtener más información, consulte la documentación en el sitio web de npm.

  • Node.js: node --version

  • npm: npm --version

SDK para JavaScript en Node.js

El kit de desarrollo de software (SDK) ayuda a simplificar la codificación al proporcionar JavaScript objetos 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 for JavaScript.

npm -g ls --depth 0 2>/dev/null | grep aws-sdk

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.

  • Python 3: python3 --version

  • pip: pip3 --version

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 orientada a objetos easy-to-use, así como un acceso de bajo nivel a la misma. Servicios de AWS

Para obtener más información, consulte la documentación de Boto3.

pip3 list | grep boto3

Herramientas de desarrollo y utilidades de intérprete de comandos

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 /usr/share/bash-completion/completions.

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 función de autocompletar para los comandos de Git, añade la siguiente línea para .bashrc que la función esté disponible siempre que se inicie la AWS CloudShell sesión:

source /usr/share/bash-completion/completions/git

Si quiere usar scripts de finalización personalizados, agréguelos a su directorio principal persistente ($HOME) y búsquelos directamente en .bashrc.

Para obtener más información, consulta la página README del proyecto en. GitHub

dnf info bash-completion

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.

git --version

iputils

El paquete iputils contiene utilidades para redes Linux. Para obtener más información sobre las utilidades incluidas, consulte el repositorio iputils en. GitHub

Ejemplos de una herramienta iputils: arping -V

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

jq --version

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.

kubectl --version

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.

make --version

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.

man --version

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.

nano --version

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.

ps --version

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 administrado por OpenBSD.

ssh -V

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.

sudo --version

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.

tar --version

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.

tmux -V

unzip

Para obtener más información, consulte zip/unzip.
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.

vim --version

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.

wget --version

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.

unzip --version

zip --version

Docker

Docker es una plataforma abierta para desarrollar, enviar y ejecutar aplicaciones. Docker le permite separar las aplicaciones de la infraestructura para que pueda entregar software de forma rápida. Le permite crear Dockerfiles en su interior AWS CloudShell y crear activos de Docker con CDK. Para obtener información sobre qué AWS regiones son compatibles con Docker, consulte Regiones compatibles para. AWSAWS CloudShell Debe tener en cuenta que el espacio de Docker en el entorno es limitado. Si tiene imágenes individuales de gran tamaño o demasiadas imágenes de Docker preexistentes, pueden producirse problemas. Para obtener más información sobre Docker, consulte la Guía de documentación de Docker.

docker --version

Instalación AWS CLI en su directorio principal

Al igual que el resto del software preinstalado en su CloudShell entorno, la AWS CLI herramienta se actualiza automáticamente con actualizaciones programadas y parches de seguridad. Si quiere asegurarse de disponer de la up-to-date versión más completa de AWS CLI, puede optar por instalar la herramienta manualmente en el directorio principal del shell.

importante

Debe instalar manualmente la copia de AWS CLI en el directorio principal para que esté disponible la próxima vez que inicie una CloudShell sesión. 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 instalar esta copia de AWS CLI, no se actualiza automáticamente. Es decir, es su responsabilidad administrar las actualizaciones y los parches de seguridad.

Para obtener más información sobre el modelo de responsabilidad AWS compartida, consulteProtección de datos en AWS CloudShell.

Para instalar AWS CLI
  1. En la línea de CloudShell comandos, utilice el curl comando para transferir una copia comprimida del archivo AWS CLI instalado al shell:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. Descomprima la carpeta comprimida:

    unzip awscliv2.zip
  3. Para añadir la herramienta a una carpeta específica, ejecute el AWS CLI instalador:

    sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/bin

    Si 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
  4. Para su comodidad, le recomendamos que actualice también la variable de entorno de PATH para no tener que especificar la ruta de instalación de la herramienta al ejecutar los comandos aws:

    export PATH=/home/cloudshell-user/usr/local/bin:$PATH
    nota

    Si deshace este cambio aPATH, aws los comandos que no incluyan una ruta específica utilizarán la versión preinstalada de 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 antes de instalar cualquier aplicación de terceros en el entorno informático AWS CloudShell del dispositivo.

De forma predeterminada, todos los AWS CloudShell usuarios tienen permisos de sudo. 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 pierdes el acceso después de modificar .bashrc o modificar cualquier otro archivo de forma incorrecta, puedes volver AWS CloudShell a su configuración predeterminada borrando tu 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.

  1. Abra .bashrc con un editor de texto (Vim, por ejemplo):

    vim .bashrc
  2. En la interfaz del editor, pulse la tecla I para iniciar la edición y, a continuación, añada lo siguiente:

    zsh
  3. Para salir del archivo editado .bashrc y guardarlo, pulse Esc para entrar en el modo de comando Vim e introduzca lo siguiente:

    :wq

  4. Utilice el comando source para volver a cargar el archivo .bashrc:

    source .bashrc

    Cuando 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.