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

Cuando lanzasAWS CloudShell, un entorno informático basado enAmazon Linux 2se crea para alojar la experiencia de shell. El entorno se configura conrecursos informáticos (vCPU y memoria)y ofrece una amplia gama desoftware preinstaladoa la que se puede obtener acceso desde la interfaz de línea de comandos de. También puede configurar el entorno predeterminado instalando software y modificando los scripts de shell.

Recursos del entorno informático

CadaAWS CloudShellal entorno informático se le asignan los siguientes recursos de CPU y memoria:

  • 1 vCPU (unidad de procesamiento central virtual)

  • 2 GiB RAM

Además, el entorno se aprovisiona con la siguiente configuración de almacenamiento de información:

  • 1 GB de almacenamiento persistente (el almacenamiento persiste una vez finalizada la sesión)

Para obtener más información, consulte Almacenamiento persistente.

importante

En la actualidad, elAWS CloudShellel entorno informático no admite contenedores Docker.

requisitos de red CloudShell

Sockets web

CloudShell depende delProtocolo de conector web, que permite la comunicación interactiva bidireccional entre el navegador web del usuario y el CloudShell servicioservicio en laAWSCloud. Si utiliza un navegador en una red privada, es probable que los servidores proxy y los cortafuegos faciliten el acceso seguro a Internet. La comunicación de Web Socket suele atravesar servidores proxy sin problemas. Sin embargo, en algunos casos, los servidores proxy impiden que los Web Sockets funcionen correctamente. Si esto ocurre, 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 del servidor proxy para asegurarse de que está configurado para permitir Web Sockets. También puede ponerse en contacto con el administrador del sistema de su red.

nota

Si desea definir permisos más detallados mediante la lista de URL específicas de permiso, puede agregar parte de la URL que laAWS Systems Managersesión utiliza para abrir un WebSocket conexión para enviar entradas y salidas de recepción. (SuAWS CloudShelllos comandos se envían a esa sesión de Systems Manager.)

El formato de este StreamUrl utilizado por Systems Manager es wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

Laregiónrepresenta el identificador de región de unAWSRegión admitida porAWS Systems Manager, como, por ejemplo,us-east-2para la región EE. UU. Este (Ohio).

Ya que laid-de-sesiónse creadespuésuna sesión concreta de Systems Manager se ha iniciado correctamente, solo puede especificarwss://ssmmessages.region.amazonaws.comal actualizar la lista de permisos de URL. Para obtener más información, consulte laStartSessionen laAWS Systems ManagerReferencia de la API.

Software preinstalado

nota

Ya que laAWS CloudShellel entorno de 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 cambio, describimos cómo puedes comprobar qué versión está instalada. A menudo, esto se puede hacer introduciendo el nombre del programa seguido de la--versionopción (por ejemplo,git --version).

Conchas

Conchas preinstaladas
Nombre Descripción Version information

Bash

El shell Bash es la aplicación shell predeterminada paraAWS CloudShell.

bash --version

PowerShell

Ofrecer una interfaz de línea de comandos y compatibilidad con lenguaje de secuencias de comandos, PowerShell se basa en la parte superior de .NET Command Language Runtime de Microsoft. PowerShell utiliza comandos ligeros denominadoscmdletsque aceptan y devuelven objetos .NET.

(Get-Host).Version

Carcasa Z (zsh)

La cáscara Z, también conocida comozsh, es una versión ampliada de Bourne Shell que ofrece soporte de personalización mejorado para temas y complementos.

zsh --version

AWSinterfaces de línea de comandos de (CLI de)

CLI
Nombre Descripción Version information

AWS CLI

LaAWS CLIes una interfaz de línea de comandos que puede utilizar para administrar variosAWSservicios desde la línea de comandos y automatizarlos mediante scripts. Para obtener más información, consulte Uso deAWSservicios enAWS CloudShell.

Para obtener información sobre cómo asegurarse de que utiliza más up-to-date versionAWS CLIversión 2, consulteInstalaciónAWS CLIal directorio de inicio.

aws --version

CLI DE EB

LaAWS Elastic BeanstalkLa CLI proporciona una interfaz de línea de comandos de simplificar la creación, actualización y monitoreo de entornos desde un repositorio local.

Para obtener más información, consulteUso de la interfaz de línea de comandos de Elastic Beanstalk (CLI de EB)en laAWS Elastic BeanstalkGuía para desarrolladores.

eb --version

CLI de Amazon ECS

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, actualización y monitoreo de clústeres y tareas.

Para obtener más información, consulteUso de la interfaz de línea de comandos de Amazon ECSen laGuía para desarrolladores Amazon Elastic Container.

ecs-cli --version

AWS SAM CLI

AWS SAMLa CLI es una herramienta de línea de comandos que funciona en unAWS Serverless Application Modelplantilla y código de aplicación. Puede realizar varias tareas. Entre ellas se incluye la invocación local de funciones de Lambda, la creación de un paquete de implementación para la aplicación sin servidor y la implementación de la aplicación sin servidor en laAWSCloud.

Para obtener más información, consulte laAWS SAMReferencia de comandos de la CLIen laAWS Serverless Application ModelGuía para desarrolladores.

sam --version

Runtimes y SDK de AWS: Node.js y Python 3

Runtimes y SDK de AWS
Nombre Descripción Version information

Node.js (con npm)

Node.js es un JavaScript runtime diseñado para facilitar la aplicación de técnicas de programación asíncronas. Para obtener más información, consulte ladocumentación en el sitio oficial Node.js.

npm es un gestor de paquetes que proporciona acceso a un registro en línea de módulos JavaScript. Para obtener más información, consulte ladocumentación en el sitio oficial de npm.

  • Node.js:node --version

  • npm:npm --version

SDK para JavaScript en Node.js

Este kit de desarrollo de software (SDK) ayuda a simplificar la codificación al proporcionar objetos JavaScript para los servicios de AWS, incluidos Amazon S3, Amazon EC2, DynamoDB y Amazon SWF. Para obtener más información, consulte AWS SDK for JavaScript Developer Guide.

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

Python

Tanto Python 3 como Python 2 están listos para usar 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 ladocumentación en el sitio oficial de Python.

Además, preinstalado es pip, el instalador de paquetes para Python. Puede utilizar este programa de línea de comandos para instalar paquetes Python desde los índices en línea, como el Índice de paquetes de Python. Para obtener más información, consulte ladocumentación proporcionada por Python Packaging Authority.

  • Python 2:python --version

  • Python 3:python3 --version

  • pip:pip3 --version

SDK para Python (Boto3)

Boto es el kit de desarrollo de software (SDK) que utilizan los desarrolladores de Python para crear, configurar y administrar servicios de AWS, como EC2 y S3. El SDK proporciona una API fácil de usar orientada a objetos, así como acceso de bajo nivel a los servicios de AWS.

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

pip3 list | grep boto3

Herramientas de desarrollo y utilidades de shell

Herramientas de desarrollo y utilidades de shell
Nombre Descripción Version information

finalización bash

bash-termination es un conjunto de funciones de shell que permiten completar automáticamente comandos o argumentos de tipo parcialmente pulsando la teclaTabClave. Puede encontrar los paquetes que admite bash-complete en/usr/share/bash-completion/completions.

Para configurar el autocompletado para los comandos de un paquete, el archivo de programa debe ser fuente. Por ejemplo, para configurar el autocompletado de comandos de Git, añada la línea siguiente a.bashrcpor lo que la función está disponible siempre que tuAWS CloudShellcomienza la sesión:

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

Si desea utilizar scripts de finalización personalizados, agréguelos al directorio principal persistente ($HOME) y obtenerlos directamente en.bashrc.

Para obtener más información, consulte laREADMEen GitHub.

yum info bash-completion

Utilidad CodeCommit para Git

git-remote-codecommit es una utilidad que proporciona un método sencillo para extraer e insertar código de CodeCommit repositorios ampliando Git. Es el método recomendado para admitir conexiones que se realizan con acceso federado, proveedores de identidad y credenciales temporales.

Para obtener más información, consultePasos de configuración de conexiones HTTPS aAWS CodeCommitcon git-remote-codecommiten laAWS CodeCommitGuía del usuario de.

pip3 list | grep git-remote-codecommit

Git

Git es un sistema de control de versiones distribuido que admite prácticas modernas de desarrollo de software mediante flujos de trabajo de sucursales y almacenamiento de contenido. Para obtener más información, consulte lapágina de documentación en el sitio oficial de Git.

git --version

iputilos

El paquete iputils contiene utilidades para redes Linux. Para obtener más información sobre las utilidades proporcionadas, consulte laRepositorio de iputils en GitHub.

Ejemplos de una herramienta iputils:arping -V

jq La utilidad jq analiza los datos con formato JSON para producir resultados modificados por filtros de línea de comandos. Para obtener más información, consulte lamanual jq alojado en GitHub.

jq --version

make

La utilidad make usamakefilespara automatizar conjuntos de tareas y organizar la compilación de código. Para obtener más información, consulte laDocumentació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 lsdevuelve la página de manual dellsque enumera el contenido de los directorios. Para obtener más información, consulte laEntrada de Wikipedia en la página de man.

man --version

procps

procps es una utilidad de administración del sistema que se puede utilizar para supervisar y detener los procesos que se están ejecutando actualmente. Para obtener más información, consulteel archivo README que enumera 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 preinstalado. Para obtener más información, consulte laSitio de OpenSSHmantenido por OpenBSD.

ssh -V

sudo

Con la utilidad sudo, los usuarios pueden ejecutar un programa con los privilegios 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 laManual de sudo.

sudo --version

tar

tar es una utilidad de línea de comandos que puede utilizar para agrupar varios archivos en un solo archivo de archivo (a menudo denominado tarball). Para obtener más información, consulte laDocumentación tar GNU.

tar --version.

tmux

tmux es un multiplexor de terminales que puede utilizar para ejecutar diferentes programas simultáneamente en varias ventanas. Al ejecutar, tmux muestra información sobre la sesión actual en una barra de estado de la parte inferior de la ventana. Para obtener más información, consulteun blog que proporciona una introducción concisa a tmux.

tmux -V

unzip

Consulte zip/unzip
vim

vim es un editor personalizable con el que los usuarios interactúan a través de una interfaz basada en texto. Para obtener más información, consulte larecursos de documentación proporcionados en vim.org.

vim --version

wget

wget es un programa informático utilizado para recuperar contenido de los servidores web especificados por los endpoints de la línea de comandos. Para obtener más información, consulte laDocumentación de GNU Wget.

wget --version

zip (zip)

Las utilidades zip/unzip utilizan un formato de archivo de archivo que proporciona compresión de datos sin pérdidas sin pérdida de datos. Llame al comando zip para agrupar y comprimir archivos en un solo archivo. Use unzip para extraer archivos de un archivo en un directorio especificado.

unzip --version

zip --version

InstalaciónAWS CLIal directorio de inicio

Al igual que el resto del software que está preinstalado en su CloudShell el entorno de,AWS CLIse actualiza automáticamente con actualizaciones programadas y parches de seguridad. Si desea asegurarse de que tiene el máximo up-to-date versión deAWS CLI, puede elegir instalar manualmente la herramienta en el directorio principal del shell.

importante

Debe instalar manualmente la copia deAWS CLIen el directorio home para que esté disponible la próxima vez que inicies un CloudShell sesión. Esto se debe a que los archivos que se añaden a directorios fuera de$HOMEse eliminan después de finalizar una sesión de shell. Tenga en cuenta también que, después de instalar esta copia deAWS CLI, no se actualiza automáticamente. En otras palabras, es responsabilidad tuya administrar las actualizaciones y los parches de seguridad.

Para obtener más información acerca de laAWSModelo de responsabilidad compartida, consulteProtección de los datos en AWS CloudShell.

Para instalar AWS CLI

  1. En primer lugar, en la CloudShell en la línea de comandos, utilice lacurlpara transferir una copia comprimida delAWS CLIinstalado en el shell de:

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

    unzip awscliv2.zip
  3. A continuación, ejecute elAWS CLIinstalador para agregar la herramienta a una carpeta especificada:

    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 también actualice laPATHvariable de entorno para que no tenga que especificar la ruta de acceso a la instalación de la herramienta cuando se ejecutaawsComandos de la :

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

    Si deshace este cambio enPATH,awscomandos que no incluyen una ruta especificada utilizan la versión preinstalada deAWS CLIde forma predeterminada.

Instalación de software de terceros en su entorno de shell

nota

Le recomendamos que revise laModelo de responsabilidad compartida de seguridadantes de instalar aplicaciones de terceros en elAWS CloudShelldel entorno informático de.

De forma predeterminada, todasAWS CloudShelllos usuarios tienen privilegios sudo. Por lo tanto, puede utilizar lasudopara instalar software que aún no está disponible en el entorno informático del shell. Por ejemplo, puede utilizarsudocon la utilidad de administración de paquetes YUM para instalar el editor de nanotexto GNU:

sudo yum install nano

A continuación, puede iniciar el programa recién instalado escribiendonano.

importante

Utilidades de administración de paquetes, como los programas de instalación de yum en directorios (/user/bin, por ejemplo), que se reciclan cuando finaliza la sesión de shell. Esto significa que se instala y utiliza software adicional por sesión.

Modificación del shell con scripts

Si desea modificar el entorno de shell predeterminado, puede editar un script de shell que se ejecuta cada vez que se inicia el entorno de shell. La.bashrcscript se ejecuta cada vez que se inicia el shell bash predeterminado.

aviso

Si modificas incorrectamente tu.bashrc, es posible que después no pueda obtener acceso al entorno de shell. Es recomendable hacer una copia del archivo antes de editar. También puede mitigar el riesgo abriendo dos vaciados al editar..bashrc. Si pierdes el acceso en un shell, seguirás iniciando sesión en el otro shell y puedes revertir cualquier cambio.

Si pierde el acceso después de haber modificado incorrectamente.bashrco cualquier otro archivo, puedes devolverAWS CloudShella su configuración predeterminada porborrar el directorio de inicio.

En el procedimiento, modificará el.bashrcscript para que su entorno de shell cambie automáticamente a la ejecución del shell Z.

  1. Abra el icono.bashrcmediante un editor de texto (Vim, por ejemplo):

    vim .bashrc
  2. En la interfaz del editor, pulse la teclaIpara comenzar a editar y añadir lo siguiente:

    zsh
  3. Para salir y guardar los editados.bashrcarchivo, pulseEscpara entrar en el modo de comando Vim e introduzca lo siguiente:

    :wq

  4. Usarsourcepara volver a cargar el.bashrcfile:

    source .bashrc

    Cuando la interfaz de línea de comandos vuelve a estar disponible, el símbolo de solicitud ha cambiado a%para indicar que ahora estás usando el shell Z.

Eliminación del directorio de inicio

aviso

Eliminar el directorio personal es una acción irreversible en la que todos los datos almacenados en el directorio personal se eliminan de forma permanente. Sin embargo, es posible que desee considerar esta opción en las siguientes situaciones:

  • Ha modificado un archivo incorrectamente y no puede acceder alAWS CloudShellentorno informático. Eliminar las devoluciones del directorio de inicioAWS CloudShella su configuración predeterminada.

  • Desea eliminar todos los datos deAWS CloudShellinmediatamente. Tenga en cuenta que, si deja de usarAWS CloudShellen unAWSRegión, el almacenamiento persistente eseliminado automáticamente al final del periodo de retencióna menos que lancesAWS CloudShellde nuevo en la Región.

Si necesita almacenamiento prolongado para sus archivos, considere un servicio como Amazon S3 o CodeCommit.

Para eliminar el directorio principal y restablecerAWS CloudShell

  1. En el navegador CloudShell interfaz, elijaActions,BorrarAWS CloudShelldirectorio de inicio.

  2. En el cuadro de diálogo, especifique la palabra «eliminar» para activar laBorraropción.

    
      Activar el botón Eliminar directorio principal.
  3. Elija Eliminar (Delete).

    Un nuevoAWS CloudShellse crea e inicia un entorno informático con la configuración predeterminada. Puede confirmar la eliminación ejecutando ellsen el directorio de inicio.