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 cómputo (v CPU y memoria) y proporciona una amplia gama de software preinstalado al que se puede acceder desde la interfaz de línea de comandos. Asegúrese de que todo el software que instale en el entorno informático esté parcheado y 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 memoria CPU y los siguientes:

  • 1 v CPU (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íficasURLs, puedes 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 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 especificarlo wss://ssmmessages.region.amazonaws.com al actualizar URL la lista de permitidos. Para obtener más información, consulte la StartSessionoperación en la Referencia.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 proporcionamos 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)

Al ofrecer una interfaz de línea de comandos y compatibilidad con el lenguaje de secuencias de comandos, PowerShell se basa en los de Microsoft. NETTiempo de ejecución del lenguaje de comandos. PowerShell utiliza comandos ligeros llamados cmdlets aceptar y devolver. NETobjetos.

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 CLI comandocdk, 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 plantillas generadas por el AWS CloudFormation . 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 Gestione AWS los servicios desde CLI dentro 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 en AWS CLI su directorio principal.

aws --version

EB CLI

AWS Elastic Beanstalk CLIProporciona una interfaz de línea de comandos para simplificar la creación, actualización y supervisión de los entornos desde un repositorio local.

Para obtener más información, consulte Uso de la interfaz de línea de comandos CLI (EB) de Elastic Beanstalk en la Guía para desarrolladores.AWS Elastic Beanstalk

eb --version

Amazon ECS CLI

La interfaz de línea de comandos de Amazon Elastic Container Service (Amazon ECSCLI) () proporciona comandos de alto nivel para simplificar la creación, actualización y supervisión de clústeres y tareas.

Para obtener más información, consulte Uso de la interfaz de línea de ECS comandos de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.

ecs-cli --version

AWS SAM CLI

AWS SAM CLIes 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 AWS SAM CLI comandos en la Guía para desarrolladores.AWS Serverless Application Model

sam --version

AWS Tools for PowerShell AWS Tools for PowerShell Se trata de PowerShell módulos que se basan en la funcionalidad expuesta en el AWS SDK for .NET. Con AWS 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) del. AWS Tools for PowerShell

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

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

Tiempos de ejecución y AWSSDKs: 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 motor 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

SDKpara JavaScript en Node.js

El kit de desarrollo de software (SDK) ayuda a simplificar la codificación al proporcionar JavaScript objetos para AWS servicios como Amazon S3, AmazonEC2, 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 (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

SDKpara 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. SDKProporciona un acceso easy-to-use orientado a objetos API y de bajo nivel. 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 READMEpágina 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 HTTPS las conexiones AWS CodeCommit a y 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 JSON formato para producir resultados que se modifican 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 Kubernetes. API

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, consulta la documentación de Make. GNU

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 la documentación sobre GNU 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 README archivo que muestra los programas que se pueden ejecutar con procps.

ps --version

SSHcliente

SSHlos clientes utilizan el protocolo shell seguro para las comunicaciones cifradas con un ordenador remoto. Open SSH es el SSH cliente que viene preinstalado. Para obtener más información, consulte el SSHsitio de Open mantenido 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.

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 ellos. 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, consulta la guía de documentación de Docker.

docker --version

Instalación en AWS CLI 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 utilizarlos sudo con la utilidad de DNF administración de paquetes para instalarlocowsay, que genera imágenes ASCII artísticas 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 incorrectamente .bashrc o cualquier otro archivo, puede volver AWS CloudShell a su configuración predeterminada borrando su 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.