Entorno informático AWS CloudShell: 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.

Entorno informático AWS CloudShell: especificaciones y software

Cuando se lanzaAWS CloudShell, se crea un entorno informático basado en Amazon Linux 2023 para alojar la experiencia de shell. El entorno está configurado con recursos informáticos (vCPU y memoria) y ofrece una amplia gama de software preinstalado al que se puede acceder desde la interfaz de línea de comandos. También puede configurar su entorno predeterminado instalando software y modificando los scripts de shell.

Recursos del entorno informático

A cada entorno informático 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 una vez finalizada la sesión)

Para 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 desea definir permisos detallados mediante la inclusión de direcciones URL específicas, puede añadir parte de la URL que utilice la AWS Systems Manager sesión para abrir una WebSocket conexión para enviar entradas y recibir salidas. (Sus comandos AWS CloudShell 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 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 StartSessionoperación en la referencia de la AWS Systems Manager API.

Software preinstalado

nota

Como el entorno de desarrollo de 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 de --version (por ejemplo, git --version).

Intérpretes de comandos

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

Bash

El intérprete de comandos Bash es la aplicación del intérprete de comandos 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 extendida de Bourne Shell que ofrece un soporte de personalización mejorado para temas y complementos.

zsh --version

Interfaz de línea de comandos (CLI) de AWS

CLI
Nombre Descripción Version information

AWS CDK Toolkit CLI

AWS CDK Toolkit, el comando CLI, cdk, es la herramienta principal que interactúa con su aplicación AWS CDK. Ejecute su aplicación, consulte el modelo de aplicación que ha definido y produzca e implemente las plantillas de AWS CloudFormation generadas por AWS CDK.

Para obtener más información, consulte AWS CDK Toolkit.

cdk --version

AWS CLI

AWS CLI es una interfaz de línea de comandos para administrar múltiples servicios de AWS desde la línea de comandos y automatizarlos mediante scripts. Para más información, consulte Trabajando conAWS servicios enAWS CloudShell.

Para obtener información acerca de cómo puede asegurarse de que está utilizando la mayoría de la up-to-date AWS CLI versión 2, consulteInstalación de AWS CLI en el directorio de inicio.

aws --version

CLI DE EB

CLI de AWS Elastic Beanstalk es una interfaz de 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 EB CLI, consulte Uso de Elastic Beanstalk Command Line Interface (EB CLI) en la Guía para desarrolladores de AWS Elastic Beanstalk.

eb --version

Amazon ECS CLI

La interfaz de 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 línea de comandos de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.

ecs-cli --version

AWS SAM CLI

CLI de AWS SAM es una herramienta de 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 AWS Cloud.

Para obtener más información, consulte la Referencia de CLI de AWS SAM en la Guía para desarrolladores de AWS Serverless Application Model.

sam --version

AWS Tools for PowerShell AWS Tools for PowerShellSe trata de PowerShell módulos que se basan en la funcionalidad expuesta en elAWS SDK for .NET. ConAWS Tools for PowerShell, puede programar operaciones en sus AWS recursos desde la línea de PowerShell comandos.

AWS CloudShell preinstala la versión modularizada (AWS.Tools) de AWS Tools for PowerShell.

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

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

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

Tiempos de ejecución y SDK de AWS
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 usarse en el entorno de shell. Python 3 ahora se considera la versión predeterminada del lenguaje de programación (el soporte para Python 2 finalizó 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 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 administrarServicios 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. 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. /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 característica de autocompletar para los comandos de Git, añada la siguiente línea para .bashrc que la característica esté disponible siempre que se inicie la sesión AWS CloudShell:

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, consulte la página README del proyecto en. GitHub

dnf info bash-completion

CodeCommit utilidad para Git

git-remote-codecommit es una utilidad que proporciona un método sencillo para insertar y extraer código de los CodeCommit repositorios mediante la extensión de Git. Es el método recomendado para admitir conexiones realizadas con acceso federado, proveedores de identidad y credenciales temporales.

Para obtener más información, consulta los pasos de configuración de las conexiones HTTPS hacia AWS CodeCommit dentro git-remote-codecommit en la Guía del AWS CodeCommit usuario.

pip3 list | grep git-remote-codecommit

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 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 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 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 shell 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 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 sus aplicaciones de su infraestructura para que pueda entregar software rápidamente. Le permite crear Dockerfiles internamente AWS CloudShell y crear activos de Docker con CDK. Para obtener información sobre qué regiones son compatibles con Docker, consulta Docker Regions. 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, consulta la guía de documentación de Docker.

docker --version

Instalación de AWS CLI en el directorio de inicio

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 deAWS 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 que instale esta copia de 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 AWS, consulte Protecció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 de lo 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 instalador AWS CLI:

    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 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 a PATH, los comandos aws 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 de shell

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 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 informático del intérprete de comandos. Por ejemplo, puede usarlo sudo con la utilidad de administración de paquetes DNF para instalarlocowsay, que genera imágenes artísticas en 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/usr/bin, como dnf, instalan programas en directorios (por ejemplo), que se reciclan cuando finaliza la sesión de shell. 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.

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