0% encontró este documento útil (0 votos)
40 vistas78 páginas

AWS CloudShell

AWS CloudShell
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas78 páginas

AWS CloudShell

AWS CloudShell
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

AWS: CloudShell

Guía del usuario

AWS: CloudShell: Guía del usuario


Copyright © 2021 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
AWS: CloudShell Guía del usuario

Las marcas comerciales y la imagen comercial de Amazon no se pueden utilizar en relación con ningún producto
o servicio que no sea de Amazon, de ninguna manera que pueda causar confusión entre los clientes y de ninguna
manera que menosprecie o desacredite a Amazon. Todas las demás marcas comerciales que no son propiedad de
Amazon son propiedad de sus respectivos propietarios, que pueden o no estar afiliados, conectados o patrocinados
por Amazon.
AWS: CloudShell Guía del usuario

Table of Contents
¿Qué es AWS CloudShell? .................................................................................................................. 1
CloudShell Características de AWS ............................................................................................... 3
Interfaz de línea de comandos de AWS ................................................................................. 3
Shells y herramientas de desarrollo ....................................................................................... 3
Almacenamiento persistente ................................................................................................. 3
Security ............................................................................................................................. 3
Opciones de personalización ................................................................................................ 4
Pricing ...................................................................................................................................... 4
¿Cómo puedo comenzar? ............................................................................................................ 4
Temas clave CloudShell de AWS ................................................................................................. 6
FAQs ........................................................................................................................................ 6
¿Cómo empiezo con AWS CloudShell? ................................................................................. 6
¿Qué permisos necesito para obtener acceso a AWS CloudShell? ............................................. 6
¿En qué regiones de AWS está CloudShell disponible AWS? .................................................... 7
¿Qué tipos de shell puedo utilizar en AWS CloudShell? ........................................................... 7
¿Qué navegadores web puedo utilizar con AWS CloudShell? .................................................... 7
¿Qué software está preinstalado en mi entorno de shell? ......................................................... 7
¿Puedo instalar software que no esté disponible en el entorno del shell? ..................................... 8
¿Puedo restringir las acciones que los usuarios pueden realizar en CloudShellAWS? .................... 8
Explicación introductoria ...................................................................................................................... 9
Prerequisites .............................................................................................................................. 9
Contents .................................................................................................................................... 9
Paso 1: Iniciar sesión en la consola de administración de AWS ....................................................... 10
Paso 2: Lanzar AWS CloudShell, seleccionar una región y elegir un shell. ......................................... 14
Paso 3: Cargar un archivo en AWS CloudShell ............................................................................. 16
Paso 4: Editar el código del archivo y ejecutarlo desde la línea de comandos ..................................... 18
Paso 5: Utilizar la CLI de AWS para añadir el archivo como objeto en un bucket de Amazon S3 ............. 19
Temas relacionados .................................................................................................................. 20
Tutoriales ......................................................................................................................................... 21
Tutorial: Uso de CodeCommit ..................................................................................................... 21
Prerequisites .................................................................................................................... 21
Paso 1: Crear y clonar un CodeCommit repositorio ................................................................ 21
Paso 2: Establecer una fase y confirmar un archivo antes de enviarlo al CodeCommit repositorio
de ................................................................................................................................... 22
Tutorial: Creación de prefirmadas URLs ....................................................................................... 23
Prerequisites .................................................................................................................... 23
Paso 1: Crear un rol de IAM para conceder acceso al bucket de Amazon S3 .............................. 23
Generar la URL prefirmada ................................................................................................ 24
Uso de AWS CloudShell .................................................................................................................... 26
Lanzamiento de AWS CloudShell ................................................................................................ 26
Navegación por la CloudShell interfaz de AWS ............................................................................. 28
Elección de shells ..................................................................................................................... 30
Trabajar en regiones de AWS .................................................................................................... 30
Uso de archivos y almacenamiento ............................................................................................. 32
Inicio y finalización de sesiones de shell ...................................................................................... 36
Uso de los servicios de AWS ............................................................................................................. 37
Ejemplos de línea de comandos de la CLI de AWS para servicios de AWS seleccionados .................... 37
DynamoDB ...................................................................................................................... 37
AWS Cloud9 .................................................................................................................... 38
Amazon EC2 .................................................................................................................... 38
S3 Glacier ....................................................................................................................... 38
CLI de AWS Elastic Beanstalk .................................................................................................... 38
CLI de Amazon ECS ................................................................................................................. 39
CLI de AWS SAM ..................................................................................................................... 39

iii
AWS: CloudShell Guía del usuario

Personalización de AWS CloudShell .................................................................................................... 40


Dividir la pantalla de línea de comandos en varias pestañas ............................................................ 40
Cambiar el tamaño de la fuente .................................................................................................. 40
Cambio del tema de la interfaz ................................................................................................... 41
Uso de pegado seguro para texto multilínea ................................................................................. 41
Seguridad .......................................................................................................................................... 3
Protección de los datos ............................................................................................................. 44
Cifrado de datos ............................................................................................................... 45
Administración de identidades y accesos ...................................................................................... 46
Audience ......................................................................................................................... 46
Autenticación con identidades ............................................................................................. 46
Administración del CloudShell acceso y el uso de AWS con políticas de IAM .............................. 48
Registro y monitoreo ................................................................................................................. 51
Monitorización de la actividad mediante CloudTrail ................................................................. 51
AWS CloudShell en CloudTrail ........................................................................................... 51
Validación de la conformidad ...................................................................................................... 52
Resiliencia ............................................................................................................................... 53
Seguridad de la infraestructura ................................................................................................... 53
Configuración y análisis de vulnerabilidades ................................................................................. 54
Prácticas recomendadas de seguridad ......................................................................................... 54
Entorno CloudShell informático de AWS ............................................................................................... 55
Recursos del entorno informático ................................................................................................ 55
Software preinstalado ................................................................................................................ 55
Shells .............................................................................................................................. 55
Interfaces de línea de comandos (CLI) de AWS .................................................................... 56
Tiempos de ejecución y SDKsAWS: [Link] y Python 3 ......................................................... 57
Herramientas de desarrollo y utilidades de shell .................................................................... 58
Instalación de software en el entorno del shell .............................................................................. 61
Modificación del shell con scripts ................................................................................................ 62
Eliminación del directorio principal ............................................................................................... 63
Solución de problemas ...................................................................................................................... 66
No se puede lanzar AWS CloudShell con el mensaje "No se puede iniciar el entorno. No tiene
permisos de acceso. Solicitar al administrador de IAM el acceso a AWS CloudShell." .......................... 66
Error al llamar a un comando de la CLI de AWS en PowerShell: "No credentials specified or obtain
from persisted/shell defaults". ..................................................................................................... 66
No se puede obtener acceso a la línea de CloudShell comandos de AWS. ........................................ 67
No se pueden hacer ping a direcciones IP externas. ...................................................................... 68
Navegadores compatibles .................................................................................................................. 69
Regiones de compatibles ................................................................................................................... 70
Límites ............................................................................................................................................ 71
Almacenamiento persistente ....................................................................................................... 71
Uso mensual ............................................................................................................................ 71
Shells simultáneos .................................................................................................................... 72
Sesiones de shell ..................................................................................................................... 72
Acceso a la red y transferencia de datos ...................................................................................... 72
Restricciones en los archivos del sistema y recargas de páginas ...................................................... 72
Historial de revisión ........................................................................................................................... 73
.................................................................................................................................................... lxxiv

iv
AWS: CloudShell Guía del usuario

¿Qué es AWS CloudShell?


AWS CloudShell es un shell autenticado previamente basado en navegador que puede lanzar
directamente (p. 4)desde la consola de administración de AWS. Puede ejecutar comandos de la CLI
de AWS en los servicios de AWS mediante su shell preferido (shell PowerShellBash, o Z). Y puede hacerlo
sin necesidad de descargar o instalar herramientas de línea de comandos.

1
AWS: CloudShell Guía del usuario

2
AWS: CloudShell Guía del usuario
CloudShell Características de AWS

Al lanzar AWS CloudShell, se crea un entorno ??? (p. 55) informático basado en Amazon Linux
2. Dentro de este entorno, tiene acceso a una amplia gama de herramientas (p. 55)de desarrollo
preinstaladas, opciones para cargar y descargar archivos (p. 32)y almacenamiento de archivos que
persiste entre (p. 3)sesiones.

Pruébelo ahora: Tutorial: Introducción a AWS CloudShell (p. 9).

CloudShell Características de AWS


Interfaz de línea de comandos de AWS
Puede lanzar AWS CloudShell desde la consola de administración de AWS y las credenciales de AWS
que utilizó para iniciar sesión en la consola estarán disponibles automáticamente en una nueva sesión del
shell. Esta autenticación previa de CloudShell los usuarios de AWS le permite omitir la configuración de
credenciales al interactuar con los servicios de AWS mediante la versión 2 de la CLI de AWS (preinstalada
en el entorno informático del shell).

Para obtener más información acerca de cómo interactuar con los servicios de AWS mediante la interfaz
de línea de comandos, consulte Uso de los servicios de AWS en AWS CloudShell (p. 37).

Shells y herramientas de desarrollo


Con el shell que se crea para las CloudShell sesiones de AWS, puede cambiar sin problemas entre sus
shells de línea de comandos (p. 30)preferidos. En concreto, puede cambiar entre Bash, PowerShelly
el shell Z. También tiene acceso a herramientas y utilidades preinstaladas, como git, make, pip, sudo, tar,
tmux, vim, wget y zip.

El entorno de shell está preconfigurado con compatibilidad con lenguajes de software de líder, lo que le
permite ejecutar proyectos de [Link] y Python, por ejemplo, sin tener que realizar primero instalaciones
en tiempo de ejecución. PowerShell Los usuarios de pueden utilizar el tiempo de ejecución de .NET Core.

Los archivos creados en o cargados en AWS también se CloudShell pueden confirmar en un repositorio
local antes de enviarlos a un repositorio remoto administrado por AWS. CodeCommit

Para obtener más información, consulte Entorno CloudShell informático de AWS: especificaciones y
software (p. 55).

Almacenamiento persistente
Al utilizar CloudShell AWS, dispone de almacenamiento persistente de 1 GB para cada región de AWS sin
costo adicional. El almacenamiento persistente se encuentra en su directorio principal ($HOME) y es privado
para usted. A diferencia de los recursos del entorno efímero que se reciclan después de que finalice cada
sesión del shell, los datos del directorio principal persisten entre sesiones.

Para obtener más información acerca de la retención de datos en el almacenamiento persistente, consulte
Almacenamiento persistente (p. 71).

Security
El CloudShell entorno de AWS y sus usuarios están protegidos por características de seguridad
específicas, como la administración de permisos de IAM, las restricciones de sesiones del shell y el
pegado seguro para la entrada de texto.

3
AWS: CloudShell Guía del usuario
Opciones de personalización

Administración de permisos con IAM

Los administradores pueden conceder y denegar permisos a CloudShell los usuarios de AWS mediante
políticas de IAM. Los administradores también pueden crear políticas que especifiquen de forma detallada
las acciones particulares que esos usuarios pueden realizar con el entorno del shell. Para obtener
más información, consulte Administración del CloudShell acceso y el uso de AWS con políticas de
IAM (p. 48).

Administración de sesiones de shell

Las sesiones inactivas y de ejecución prolongada se detienen y reciclan automáticamente. Para obtener
más información, consulte Sesiones de shell (p. 72).

Pegar de forma segura para entrada de texto

La opción Safe Paste (Pegar seguro) habilitada de forma predeterminada es una característica de
seguridad que le pide que verifique que el texto multilínea que está a punto de pegar en el shell no
contiene scripts maliciosos. Para obtener más información, consulte Uso de pegado seguro para texto
multilínea (p. 41).

Opciones de personalización
La CloudShell experiencia de AWS se puede personalizar cambiando los diseños de pantalla (varias
pestañas), los tamaños de texto y los temas de la interfaz de luz/oscuridad. Para obtener más información,
consulte Personalización de su CloudShell experiencia de AWS (p. 40).

También puede ampliar su entorno de shell instalando su propio software (p. 61) y modificando los
scripts (p. 62)de shell de inicio.

Pricing
AWS CloudShell es un servicio de AWS que está disponible sin cargo adicional. Se paga por cualquier
otro recurso de AWS que se ejecute con CloudShellAWS. También se aplican las tarifas estándar de
transferencia de datos.

Para obtener más información, consulte Límites y restricciones de AWS CloudShell (p. 71).

¿Cómo puedo comenzar?


Para comenzar a trabajar con el shell, inicie sesión en la consola de administración de AWS y elija AWS en
la página CloudShell de inicio de .

4
AWS: CloudShell Guía del usuario
¿Cómo puedo comenzar?

5
AWS: CloudShell Guía del usuario
Temas clave CloudShell de AWS

Para obtener un tutorial de inicio de sesión en la consola de administración de AWS y de realización de


tareas clave con AWS CloudShell, consulte Tutorial: Introducción a AWS CloudShell (p. 9).

Temas clave CloudShell de AWS


• Tutorial: Introducción a AWS CloudShell (p. 9)
• Uso de AWS CloudShell (p. 26)
• Uso de los servicios de AWS en AWS CloudShell (p. 37)
• Personalización de su CloudShell experiencia de AWS (p. 40)
• Entorno CloudShell informático de AWS: especificaciones y software (p. 55)

AWS: CloudShell FAQs


Respuestas a preguntas frecuentes sobre este servicio de AWS.

• ¿Cómo empiezo con AWS CloudShell? (p. 6)


• ¿Qué permisos necesito para obtener acceso a AWS CloudShell? (p. 6)
• ¿En qué regiones de AWS está CloudShell disponible AWS? (p. 7)
• ¿Qué tipos de shell puedo utilizar en AWS CloudShell? (p. 7)
• ¿Qué navegadores web puedo utilizar con AWS CloudShell? (p. 7)
• ¿Qué software está preinstalado en mi entorno de shell? (p. 7)
• ¿Puedo instalar software que no esté disponible en el entorno del shell? (p. 8)
• ¿Puedo restringir las acciones que los usuarios pueden realizar en CloudShellAWS? (p. 8)

¿Cómo empiezo con AWS CloudShell?


Puede lanzar AWS CloudShell con un solo clic desde la consola de administración de AWS. Lo único que
necesita para comenzar es iniciar sesión en la consola de con sus credenciales de AWS o IAM en https://
[Link]/console/home.. Puede elegir el CloudShell enlace de AWS en la página de inicio
de o escribir "CloudShell" en el cuadro Find Services (Buscar servicios).

Para obtener más información, consulte Tutorial: Introducción a AWS CloudShell (p. 9).

Volver a la lista de FAQs (p. 6)

¿Qué permisos necesito para obtener acceso a AWS


CloudShell?
Dado que accede a AWS CloudShell desde la consola de administración de AWS, debe ser un usuario de
IAM que pueda proporcionar un alias o ID de cuenta, nombre de usuario y contraseña válidos.

Para lanzar AWS CloudShell desde la consola, debe tener los permisos de IAM proporcionados por una
política asociada. Para obtener más información, consulte Administración del CloudShell acceso y el uso
de AWS con políticas de IAM (p. 48).

Volver a la lista de FAQs (p. 6)

6
AWS: CloudShell Guía del usuario
¿En qué regiones de AWS está CloudShell disponible AWS?

¿En qué regiones de AWS está CloudShell disponible


AWS?
En la actualidad, AWS CloudShell está disponible en las siguientes regiones de AWS:

• [Link]. Este (Ohio)


• [Link]. Este (Norte de Virginia)
• [Link]. Oeste (Oregón)
• Asia Pacífico (Tokio)
• Europa (Irlanda)

Volver a la lista de FAQs (p. 6)

¿Qué tipos de shell puedo utilizar en AWS


CloudShell?
Puede elegir ejecutar comandos utilizando el shell Bash, PowerShello el shell Z. Para cambiar a un shell
específico, en el símbolo del sistema, escriba el nombre del programa del shell:

• bash: Uso del shell Bash


• pwsh: Usar PowerShell
• zsh: Uso del shell Z

Volver a la lista de FAQs (p. 6)

¿Qué navegadores web puedo utilizar con AWS


CloudShell?
AWS CloudShell es compatible con las tres últimas versiones de Google Chrome, Mozilla Firefox, Microsoft
Edge y Apple Safari.

Volver a la lista de FAQs (p. 6)

¿Qué software está preinstalado en mi entorno de


shell?
Con el shell que se crea para las CloudShell sesiones de AWS, puede cambiar sin problemas entre sus
shells de línea de comando preferidos (p. 30) (shell PowerShellBash, y Z). También tienen acceso a
herramientas y utilidades preinstaladas como Make, pip, sudo, tar, tmux, Vim, Wget y Zip.

El entorno del shell está preconfigurado con compatibilidad con los principales lenguajes de software.
Puede utilizarlo para ejecutar proyectos de [Link] y Python, por ejemplo, sin tener que realizar primero
instalaciones en tiempo de ejecución. PowerShell Los usuarios de pueden utilizar el tiempo de ejecución
de .NET Core.

Los archivos creados con el shell de o cargados con la interfaz del shell de se pueden añadir a un
repositorio con control de versiones administrado mediante una versión preinstalada de Git.

Para obtener más información, consulte Software preinstalado (p. 55).

7
AWS: CloudShell Guía del usuario
¿Puedo instalar software que no esté
disponible en el entorno del shell?

Volver a la lista de FAQs (p. 6)

¿Puedo instalar software que no esté disponible en el


entorno del shell?
Sí. CloudShell Los usuarios de AWS tienen privilegios sudo, por lo que tienen derechos administrativos
para instalar software desde la línea de comandos. Para obtener más información, consulte Instalación de
software en el entorno del shell (p. 61).

Volver a la lista de FAQs (p. 6)

¿Puedo restringir las acciones que los usuarios


pueden realizar en CloudShellAWS?
Sí. Por ejemplo, puede permitir a los usuarios obtener acceso a CloudShell AWS, pero impedirles que
carguen o descarguen archivos en el entorno del shell. También puede incluso impedir completamente
que obtengan acceso a AWS CloudShell. Para obtener más información, consulte Administración del
CloudShell acceso y el uso de AWS con políticas de IAM (p. 48).

Volver a la lista de FAQs (p. 6)

8
AWS: CloudShell Guía del usuario
Prerequisites

Tutorial: Introducción a AWS


CloudShell
En este tutorial introductorio se muestra cómo lanzar AWS CloudShell y realizar tareas clave con la interfaz
de línea de comandos del shell.

En primer lugar, iniciará sesión en la consola de administración de AWS y lanzará AWS CloudShell en una
nueva ventana del navegador. A continuación, seleccionará una región de AWS y un tipo de shell con el
que trabajar.

A continuación, creará una nueva carpeta en el directorio de inicio y cargará un archivo en ella desde el
equipo local. Trabajará en ese archivo con un editor preinstalado antes de ejecutarlo como un programa
desde la línea de comandos. Por último, llamará a los comandos de la CLI de AWS para crear un bucket
de Amazon S3 y añadirle el archivo como un objeto.

Prerequisites
Permisos de IAM

La forma más rápida de obtener permisos para AWS CloudShell es asociar la siguiente política
administrada de AWS a su identidad de IAM (usuario, rol o grupo):

• AWSCloudShellFullAccess: proporciona a los usuarios acceso completo a AWS CloudShell y a sus


características.

En este tutorial, también interactuará con los servicios de AWS (en este caso, crear un bucket de Amazon
S3 y añadirle un objeto). Por lo tanto, la identidad de IAM requiere una política que conceda, como mínimo,
los s3:CreateBucket permisos s3:PutObject y .

Para obtener más información, consulte Amazon Amazon S3 Actions en la guía del desarrollador de
Amazon Simple Storage Service.

Archivo de ejercicio

Este ejercicio también implica cargar y editar un archivo que luego se ejecuta como programa desde la
interfaz de línea de comandos. Abra un editor de texto en su equipo local y añada el siguiente fragmento
de código:

import sys
x=int([Link][1])
y=int([Link][2])
sum=x+y
print("The sum is",sum)

Guarde el archivo con el nombre add_prog.py.

Contents
• Paso 1: Iniciar sesión en la consola de administración de AWS (p. 10)

9
AWS: CloudShell Guía del usuario
Paso 1: Iniciar sesión en la
consola de administración de AWS

• Paso 2: Lanzar AWS CloudShell, seleccionar una región y elegir un shell. (p. 14)
• Paso 3: Cargar un archivo en AWS CloudShell (p. 16)
• Paso 4: Editar el código del archivo y ejecutarlo desde la línea de comandos (p. 18)
• Paso 5: Utilizar la CLI de AWS para añadir el archivo como objeto en un bucket de Amazon S3
(p. 19)

Paso 1: Iniciar sesión en la consola de


administración de AWS
Este paso implica introducir la información de usuario de IAM para acceder a la consola de administración
de AWS. Si ya está en la consola de , vaya al paso (p. 14)2.

• Puede obtener acceso a la consola de administración de AWS mediante una URL de inicio de sesión
de los usuarios de IAM o accediendo a la página principal de inicio de sesión.

IAM user sign-in URL

• Abra un navegador e introduzca la siguiente URL de inicio de sesión, sustituyendo


account_alias_or_id por el alias o el ID de cuenta proporcionado por el administrador:

[Link]

• Escriba el nombre de usuario y la contraseña de IAM y elija Sign in (Iniciar sesión).

10
AWS: CloudShell Guía del usuario
Paso 1: Iniciar sesión en la
consola de administración de AWS

11
AWS: CloudShell Guía del usuario
Paso 1: Iniciar sesión en la
consola de administración de AWS

Main sign-in page

• Abra [Link]
• Si no ha iniciado sesión anteriormente en este navegador, aparecerá la página principal de
inicio de sesión. Elija IAM user (Usuario de IAM), introduzca el alias o el ID de cuenta y elija
Next (Siguiente).

• Si ya ha iniciado sesión como usuario de IAM antes. Su navegador podría recordar el alias o el
ID de la cuenta de AWS. Si es así, escriba su nombre de usuario y contraseña de IAM y elija
Sign in (Iniciar sesión).

12
AWS: CloudShell Guía del usuario
Paso 1: Iniciar sesión en la
consola de administración de AWS

13
AWS: CloudShell Guía del usuario
Paso 2: Lanzar AWS CloudShell,
seleccionar una región y elegir un shell.

Note

También tiene la opción de iniciar sesión como usuario [Link]


latest/UserGuide/raíz. Esta identidad tiene acceso completo a todos los servicios y recursos
de AWS de la cuenta. Le recomendamos encarecidamente que no utilice el usuario raíz en
las tareas cotidianas, incluso las tareas administrativas. En lugar de ello, es mejor ceñirse a la
práctica recomendada de utilizar el usuario final exclusivamente para crear al primer usuario
de IAM.

Paso 2: Lanzar AWS CloudShell, seleccionar una


región y elegir un shell.
En este paso, se lanza AWS CloudShell desde la interfaz de la consola, se elige una región de AWS
disponible y se cambia al shell preferido (shell PowerShellBash, o Z).

1. Desde la consola de administración de AWS, puede lanzar AWS CloudShell eligiendo las siguientes
opciones disponibles en la barra de navegación:

• Elija el CloudShell icono de AWS.


• Comience a escribir "cloudshell" en el cuadro Search (Buscar) y, a continuación, elija la CloudShell
opción .

14
AWS: CloudShell Guía del usuario
Paso 2: Lanzar AWS CloudShell,
seleccionar una región y elegir un shell.

15
AWS: CloudShell Guía del usuario
Paso 3: Cargar un archivo en AWS CloudShell

Cuando AWS se CloudShell lanza en una nueva ventana del navegador por primera vez, se muestra
un panel de bienvenida y muestra las características principales. Después de cerrar este panel, se
proporcionan actualizaciones de estado mientras el shell configura y reenvía las credenciales de la
consola. Cuando se muestra el símbolo del sistema, el shell está listo para la interacción.
Note

Si surge algún problema que le impida lanzar o interactuar correctamente con AWS
CloudShell, busque información para identificar y solucionar esos problemas en Solución de
problemas de AWS CloudShell (p. 66).
2. Para elegir una región de AWS en la que trabajar, vaya al menú Select a Region (Seleccionar una
región) y seleccione una región de AWS (p. 70)compatible en la que trabajar. (Las regiones
disponibles están resaltadas).
Important

Si cambia de región, la interfaz se actualiza y el nombre de la región de AWS seleccionada


se muestra encima del texto de la línea de comandos. Los archivos que añada al
almacenamiento persistente solo están disponibles en esta misma región de AWS. Si cambia
las regiones, se puede acceder a diferentes almacenamientos (y archivos).
3. Para elegir un shell preinstalado con el que trabajar, escriba su nombre de programa en el símbolo del
sistema:

Bash

bash

Si cambia a Bash, el símbolo en el símbolo del sistema se actualiza a $.


Note

Bash es el shell predeterminado que se ejecuta al lanzar AWS CloudShell.


PowerShell

pwsh

Si cambia a PowerShell, el símbolo en el símbolo del sistema se actualiza a PS>.


Z shell

zsh

Si cambia al shell Z, el símbolo en el símbolo del sistema se actualiza a %.

Paso 3: Cargar un archivo en AWS CloudShell


Este paso le guía a través del proceso de carga de un archivo y, a continuación, desplazándolo a un nuevo
directorio en su directorio de inicio.

1. Para comprobar el directorio de trabajo actual, en el símbolo del sistema, escriba el siguiente
comando:

pwd

Al pulsar Intro, el shell devuelve el directorio de trabajo actual. Por ejemplo: /home/cloudshell-
user.
2. Para cargar un archivo en este directorio, vaya a Actions (Acciones) y seleccione Upload file (Cargar
archivo) en el menú.

16
AWS: CloudShell Guía del usuario
Paso 3: Cargar un archivo en AWS CloudShell

17
AWS: CloudShell Guía del usuario
Paso 4: Editar el código del archivo y
ejecutarlo desde la línea de comandos

Se muestra el cuadro de diálogo Upload file (Cargar archivo).


3. Elija Browse (Examinar).
4. En el cuadro de diálogo File upload (Carga de archivos) del sistema, seleccione el archivo de texto
que ha creado para este tutorial (add_prog.py) y elija Open (Abrir).
5. En el cuadro de diálogo Upload file (Cargar archivo), elija Upload (Cargar).

Una barra de progreso realiza un seguimiento de la carga. Si la carga se realiza correctamente, un


mensaje confirma que add_prog.py se ha añadido a la raíz del directorio principal.
6. Para crear un directorio para el archivo , escriba el comando make directories: mkdir mysub_dir.
7. Para mover el archivo cargado desde la raíz del directorio principal al nuevo directorio, utilice el mv
comando :

mv add_prog.py mysub_dir.
8. Para cambiar su directorio de trabajo al nuevo directorio, escriba cd mysub_dir.

El símbolo del sistema se actualiza para indicar que ha cambiado el directorio de trabajo.
9. Para ver el contenido del directorio actual, mysub_dir, escriba el ls comando .

Se muestra el contenido del directorio de trabajo, incluido el archivo que acaba de cargar.

Paso 4: Editar el código del archivo y ejecutarlo


desde la línea de comandos
En este paso se muestra cómo utilizar el editor de Vim preinstalado para trabajar con un archivo . A
continuación, ejecute ese archivo como un programa desde la línea de comandos.

1. Para editar el archivo que cargó en el paso anterior, escriba el siguiente comando:

vim add_prog.py

La interfaz del shell se actualiza para mostrar el editor Vim.


2. Para editar el archivo en Vim, pulse la I tecla . Ahora edite el contenido para que el programa sume
tres números en lugar de dos:

import sys
x=int([Link][1])
y=int([Link][2])
z=int([Link][3])
sum=x+y+z
print("The sum is",sum)

Note

Si pega el texto en el editor y tiene habilitada la característica Safe Paste (Pegar


(p. 41)con seguridad), se muestra una advertencia. El texto de varias líneas que se copia
puede contener scripts maliciosos. Con Safe Paste, puede verificar el texto completo antes de
pegarlo. Si está convencido de que el texto es seguro, elija Paste (Pegar).
3. Después de editar el programa, pulse Esc para entrar en el modo de comando Vim. A continuación,
escriba el siguiente comando para guardar el archivo y salir del editor:

:wq

18
AWS: CloudShell Guía del usuario
Paso 5: Utilizar la CLI de AWS para añadir el
archivo como objeto en un bucket de Amazon S3

Note

Si es la primera vez que utiliza Vim, puede resultarle complicado cambiar entre el modo
de comando (utilizado al guardar archivos y salir de la aplicación) y el modo de inserción
(utilizado al insertar texto nuevo). Como punto de referencia fácil de recordar, para entrar
en el modo de inserción, pulse Iy, para entrar en el modo de comando, pulse Esc. Para
obtener más información acerca de Vim y otras herramientas disponibles en CloudShellAWS,
consulte Herramientas de desarrollo y utilidades de shell (p. 58).
4. De vuelta en la interfaz de línea de comandos principal, ejecute el programa y especifique tres
números para la entrada:

python3 add_prog.py 4 5 6

La línea de comandos muestra el resultado del programa: The sum is 15.

Paso 5: Utilizar la CLI de AWS para añadir el


archivo como objeto en un bucket de Amazon S3
En este paso, creará un bucket de Amazon S3 y, a continuación, utilizará el PutObject método para añadir
el archivo de código como un objeto en ese bucket.
Note

En la mayoría de los casos, puede utilizar un servicio como CodeCommit (p. 21) para confirmar
un archivo de software en un repositorio con control de versiones. Este tutorial de introducción
utiliza Amazon S3 para el almacenamiento para mostrar lo fácil que es utilizar la CLI de AWS en
CloudShellAWS. Con este método, no es necesario descargar ni instalar ningún recurso adicional.
Además, dado que ya está autenticado en el shell, no es necesario configurar las credenciales
antes de realizar llamadas.

1. Para crear un bucket en una región de AWS especificada, escriba el siguiente comando:

aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1

Si la llamada se realiza correctamente, la línea de comandos muestra una respuesta del servicio
similar al siguiente resultado:

{
"Location": "/insert-unique-bucket-name-here"
}

Note

Si no cumple las reglas de nomenclatura de buckets (utilizando solo letras minúsculas, por
ejemplo), se muestra el siguiente error: An error occurred (InvalidBucketName) when calling
the CreateBucket operation: The specified bucket is not valid.
2. Para cargar un archivo y añadirlo como objeto al bucket que se acaba de crear, llame al PutObject
método :

aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body


add_prog.py

19
AWS: CloudShell Guía del usuario
Temas relacionados

Si el objeto se ha cargado correctamente en el bucket de Amazon S3 la línea de comandos muestra


una respuesta del servicio similar al siguiente resultado:

{
"ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""
}

ETag es el hash del objeto que se ha almacenado. Se puede utilizar para comprobar la integridad del
objeto cargado en Amazon S3

Temas relacionados
• Uso de los servicios de AWS en AWS CloudShell (p. 37)
• Tutorial: Uso de CodeCommit en AWS CloudShell (p. 21)
• Uso de AWS CloudShell (p. 26)
• Personalización de su CloudShell experiencia de AWS (p. 40)

20
AWS: CloudShell Guía del usuario
Tutorial: Uso de CodeCommit

CloudShell Tutoriales de AWS


Los siguientes tutoriales muestran cómo realizar tareas con AWS CloudShell.

Temas
• Tutorial: Uso de CodeCommit en AWS CloudShell (p. 21)
• Tutorial: Creación de una URL prefirmada para objetos de Amazon S3 con AWS CloudShell (p. 23)

Tutorial: Uso de CodeCommit en AWS CloudShell


CodeCommit es un servicio de control de código fuente administrado, seguro y altamente escalable que
aloja repositorios Git privados. Con AWS CloudShell, puede trabajar con CodeCommit en la línea de
comandos mediante git-remote-codecommit. Esta utilidad está preinstalada en el entorno CloudShell
informático de AWS y proporciona un método sencillo para insertar y extraer código de CodeCommit los
repositorios de . Lo hace ampliando Git. Para obtener más información, consulte la Guía del CodeCommit
usuario de AWS.

En este tutorial se describe cómo crear un CodeCommit repositorio y clonarlo en su entorno CloudShell
informático de AWS. En este tutorial también se muestra cómo puede preparar y confirmar un archivo en el
repositorio clonado antes de enviarlo al repositorio remoto administrado en la nube de AWS.

Prerequisites
Para obtener información sobre los permisos que un usuario de IAM necesita para utilizar AWS CloudShell,
consulte la sección de requisitos previos en el tutorial (p. 9)Introducción. También necesita permisos
de [Link]
[Link] IAM para trabajar con CodeCommit.

Además, antes de comenzar debe tener lo siguiente:

• Comprensión básica de los conceptos de control de versiones y comandos de Git


• Un archivo en el directorio principal del shell que se puede confirmar en los repositorios locales y
remotos. En este tutorial, se denomina my-git-file.

Paso 1: Crear y clonar un CodeCommit repositorio


1. En la interfaz de línea de CloudShell comandos de AWS, escriba el siguiente codecommit comando
para crear un CodeCommit repositorio denominado MyDemoRepo:

aws codecommit create-repository --repository-name MyDemoRepo --repository-description


"My demonstration repository"

Si el repositorio se ha creado correctamente, la línea de comandos muestra la respuesta del servicio:

{
"repositoryMetadata": {
"accountId": "111122223333",

21
AWS: CloudShell Guía del usuario
Paso 2: Establecer una fase y confirmar un archivo
antes de enviarlo al CodeCommit repositorio de

"repositoryId": "0dcd29a8-941a-1111-1111-11111111111a",
"repositoryName": "MyDemoRepo",
"repositoryDescription": "My demonstration repository",
"lastModifiedDate": "2020-11-23T[Link].068000+00:00",
"creationDate": "2020-11-23T[Link].068000+00:00",
"cloneUrlHttp": "[Link]
MyDemoRepo",
"cloneUrlSsh": "ssh://[Link]/v1/repos/
MyDemoRepo",
"Arn": "arn:aws:codecommit:eu-west-1:111111111111:MyDemoRepo"
}
)

2. Con la línea de comandos, cree un nuevo directorio para el repositorio local y conviértalo en su
directorio de trabajo:

mkdir my-shell-repo
cd my-shell-repo

3. Ahora clone el repositorio remoto con el git clone comando . (Cuando trabaje con git-remote-
codecommit, utilice el estilo de URL HTTPS (GRC).

git clone codecommit::eu-west-1://MyDemoRepo

Si el repositorio se clona correctamente, la línea de comandos muestra la respuesta del servicio:

Cloning into 'MyDemoRepo'...


warning: You appear to have cloned an empty repository.

4. Para ir al repositorio clonado, utilice el cd comando :

cd MyDemoRepo

Paso 2: Establecer una fase y confirmar un archivo


antes de enviarlo al CodeCommit repositorio de
1. Añada un archivo llamado my-git-file a la MyDemoRepo carpeta mediante un editor Vim o la
característica de carga de archivos de AWS CloudShell. Para obtener información sobre cómo utilizar
ambos, consulte el tutorial ??? (p. 9)Introducción.
2. Para almacenar el archivo en el repositorio, ejecute el add comando git:

git add my-git-file

3. Para comprobar que el archivo se ha almacenado provisionalmente y está listo para confirmarse,
ejecute el status comando git:

git status

my-git-file aparece como un nuevo archivo y aparece en texto verde, lo que indica que está listo
para confirmarse.
4. Ahora, confirme esta versión del archivo almacenado en el repositorio:

git commit -m "first commit to repo"

22
AWS: CloudShell Guía del usuario
Tutorial: Creación de prefirmadas URLs

Note

Si se le solicita información de configuración para completar la confirmación, utilice el


siguiente formato:

$ git config --global [Link] "Jane Doe"


$ git config --global [Link] janedoe@[Link]

5. Por último, para sincronizar el repositorio remoto con los cambios realizados en el repositorio local,
envíe los cambios a la ramificación ascendente:

git push

Tutorial: Creación de una URL prefirmada para


objetos de Amazon S3 con AWS CloudShell
En este tema se muestra cómo crear una URL prefirmada para compartir un objeto de Amazon S3 con
otros usuarios. Como los propietarios de objetos especifican sus propias credenciales de seguridad al
compartirlos, cualquier persona que reciba la URL prefirmada puede obtener acceso al objeto durante un
tiempo limitado.

Prerequisites
• Usuario de IAM con permisos de acceso proporcionados por la AWSCloudShellFullAccess política.
• Para conocer los permisos de IAM necesarios para crear una URL prefirmada, consulte Compartir un
objeto con otros en la guía del desarrollador de Amazon Simple Storage Service.

Paso 1: Crear un rol de IAM para conceder acceso al


bucket de Amazon S3
1. Para obtener los detalles de IAM que se pueden compartir, llame al get-caller-identity
comando desde AWS CloudShell:

aws sts get-caller-identity

Si la llamada se realiza correctamente, la línea de comandos muestra una respuesta similar a esta:

{
"Account": "123456789012",
"UserId": "AROAXXOZUUOTTWDCVIDZ2:redirect_session",
"Arn": "arn:aws:sts::531421766567:assumed-role/Feder08/redirect_session"
}

2. Tome la información de usuario que obtuvo en el paso anterior y añádala a una CloudFormation
plantilla de AWS. Esta plantilla crea un rol de IAM. Este rol concede a su colaborador permisos de
privilegios mínimos para los recursos compartidos.

Resources:
CollaboratorRole:

23
AWS: CloudShell Guía del usuario
Generar la URL prefirmada

Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
AWS: "arn:aws:iam::531421766567:role/Feder08"
Action: "sts:AssumeRole"
Description: Role used by my collaborators
MaxSessionDuration: 7200
CollaboratorPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- 's3:*'
Resource: 'arn:aws:s[Link]shared-bucket-for-my-cool-startup'
Condition:
StringEquals:
s3:prefix:
- "myfolder/*"
PolicyName: S3ReadSpecificFolder
Roles:
- !Ref CollaboratorRole
Outputs:
CollaboratorRoleArn:
Description: Arn for the Collaborator's Role
Value: !GetAtt [Link]

3. Guarde la CloudFormation plantilla de AWS en un archivo llamado [Link].


4. Ahora utilice la plantilla para implementar la pila y crear el rol de IAM llamando al deploy comando :

aws cloudformation deploy --template-file ./[Link] --stack-name CollaboratorRole


--capabilities CAPABILITY_IAM

Generar la URL prefirmada


1. Con su editor en AWS CloudShell, añada el siguiente código. Este código crea una URL que
proporciona a los usuarios federados acceso directo a la consola de administración de AWS.

import urllib, json, sys


import requests
import boto3
import os

def main():
sts_client = [Link]('sts')
assume_role_response = sts_client.assume_role(
RoleArn=[Link](ROLE_ARN),
RoleSessionName="collaborator-session"
)
credentials = assume_role_response['Credentials']
url_credentials = {}
url_credentials['sessionId'] = [Link]('AccessKeyId')
url_credentials['sessionKey'] = [Link]('SecretAccessKey')
url_credentials['sessionToken'] = [Link]('SessionToken')
json_string_with_temp_credentials = [Link](url_credentials)

24
AWS: CloudShell Guía del usuario
Generar la URL prefirmada

print(f"json string {json_string_with_temp_credentials}")

request_parameters = f"?
Action=getSigninToken&Session={[Link](json_string_with_temp_credentials)}"
request_url = "[Link] + request_parameters
r = [Link](request_url)
signin_token = [Link]([Link])
request_parameters = "?Action=login"
request_parameters += "&Issuer=[Link]"
request_parameters += "&Destination=" + [Link]("[Link]
[Link]/cloudshell")
request_parameters += "&SigninToken=" + signin_token["SigninToken"]
request_url = "[Link] + request_parameters

# Send final URL to stdout


print (request_url)

if __name__ == "__main__":
main()

2. Guarde el código en un archivo llamado [Link].


3. Por último, ejecute lo siguiente desde la línea de comandos para recuperar el ARN del rol de IAM de
AWS CloudFormation. A continuación, utilícelo en el script de Python para obtener credenciales de
seguridad temporales:

ROLE_ARN=$(aws cloudformation describe-stacks --stack-name CollaboratorRole --query


"Stacks[*].Outputs[?OutputKey=='CollaboratorRoleArn'].OutputValue" --output text)
python3 ./[Link]

El script devuelve una URL en la que un colaborador puede hacer clic para llevarlas a AWS
CloudShell en la consola de administración de AWS. El colaborador tiene control total sobre la
myfolder/ carpeta del bucket de Amazon S3 durante los próximos 3600 segundos (1 hora). Las
credenciales caducan al cabo de una hora. Después de este tiempo, el colaborador ya no puede
obtener acceso al bucket.

25
AWS: CloudShell Guía del usuario
Lanzamiento de AWS CloudShell

Uso de AWS CloudShell


En este tema se describe cómo obtener acceso a AWS CloudShell, navegar por la interfaz del shell, elegir
un tipo de shell, trabajar con cargas y descargas de archivos y administrar las sesiones de shell.

Lanzamiento de AWS CloudShell


Puede lanzar AWS CloudShell desde la consola de administración de AWS utilizando uno de los dos
métodos siguientes:

1. Elija el CloudShell icono de AWS en la barra de navegación de la consola.


2. Comience a escribir "cloudshell" en el cuadro Find Services (Buscar servicios) y, a continuación, elija la
CloudShell opción .

26
AWS: CloudShell Guía del usuario
Lanzamiento de AWS CloudShell

27
AWS: CloudShell Guía del usuario
Navegación por la CloudShell interfaz de AWS

Navegación por la CloudShell interfaz de AWS


La siguiente captura de pantalla indica varias características clave de la CloudShell interfaz de AWS.
Puede utilizar estas características cuando utilice la línea de comandos, utilice las herramientas de carga/
descarga de archivos, personalice el entorno del shell y obtenga acceso a la asistencia de usuario.

28
AWS: CloudShell Guía del usuario
Navegación por la CloudShell interfaz de AWS

29
AWS: CloudShell Guía del usuario
Elección de shells

1. Interfaz de línea de CloudShell comandos de AWS que se utiliza para ejecutar comandos con el shell
(p. 30)que se prefiera. El tipo de shell actual se indica mediante el símbolo del sistema.
2. La región de AWS donde CloudShell se está ejecutando AWS actualmente.
3. El enlace Notification (Notificación), que proporciona acceso al panel de estado personal y a los
registros de eventos.
4. El nombre y el ID de cuenta del CloudShell usuario de AWS actual (desenfocados aquí). Puede utilizar
este menú para ver la información de la cuenta, cambiar de rol y cerrar sesión en AWS.
5. El menú Select a Region donde puede elegir en qué región de AWS se ejecuta su entorno de shell. Para
obtener más información, consulte Regiones de AWS compatibles con AWS CloudShell (p. 70).
6. El menú Support (Soporte), que se utiliza para obtener acceso a los recursos de asistencia del usuario,
incluida la documentación y la capacitación.
7. El menú Actions (Acciones), que proporciona opciones para cambiar el diseño (p. 40)de la pantalla,
descargar y cargar archivos (p. 32)y reiniciar la CloudShellde (p. 36)AWS.
8. La opción Preferences (Preferencias), que puede utilizar para personalizar la experiencia (p. 40)del
shell. Para ello, cambie el tamaño del texto y cambie el tema de color de la interfaz.
9. La barra inferior, que tiene opciones para proporcionar comentarios, acceder a versiones localizadas de
la interfaz y conocer nuestra política de privacidad y condiciones de uso.

Elección del shell


Los siguientes shells están preinstalados y listos para su uso en AWS CloudShell: el shell PowerShellBash,
y el shell Z. Para obtener información sobre las versiones preinstaladas en el entorno del shell, consulte la
tabla ??? (p. 55) de shells en la Entorno CloudShell informático de AWS (p. 55) sección .

El símbolo del sistema le permite identificar el shell en el que se encuentra actualmente:

• $: Shell Bash
• PS>: PowerShell
• %: Shell Z

Para cambiar a un nuevo shell, escriba el nombre del programa del shell en el símbolo del sistema:

• bashBash:
• pwsh: PowerShell
• zsh: Shell Z

Trabajar en regiones de AWS


La región de AWS actual en la que se ejecuta se muestra encima de la interfaz de línea de comandos.

30
AWS: CloudShell Guía del usuario
Trabajar en regiones de AWS

31
AWS: CloudShell Guía del usuario
Uso de archivos y almacenamiento

Puede elegir una región de AWS en la que trabajar seleccionando una en el menú Select a Region
(Seleccionar una región). Después de cambiar las regiones, la interfaz se actualiza a medida que la sesión
del shell se conecta a un entorno informático que se ejecuta en la región seleccionada.
Important

Tiene un almacenamiento persistente de 1 GB para cada región de AWS. El almacenamiento


persistente se encuentra en su directorio principal ($HOME). Por lo tanto, los archivos personales,
directorios, programas y scripts que se almacenan en su directorio de inicio en una región de
AWS. Además, son diferentes de los que se encuentran en el directorio principal y almacenan una
región diferente.
La retención a largo plazo de archivos con almacenamiento persistente también se administra por
regiones. Para obtener más información, consulte Almacenamiento persistente (p. 71).

Uso de archivos y almacenamiento


Con la interfaz CloudShellde AWS, puede cargar archivos en y descargar archivos desde el entorno del
shell. Para asegurarse de que cualquiera de los archivos que añade estén disponibles después de que
finalice la sesión, debe conocer la diferencia entre el almacenamiento temporal y persistente:

• Almacenamiento persistente: tiene 1 GB de almacenamiento persistente para cada región de AWS. El


almacenamiento persistente se encuentra en su directorio principal.
• Almacenamiento temporal: el almacenamiento temporal existe en directorios fuera del directorio principal
y se recicla al final de una sesión.

Important

Los archivos que desee conservar y utilizar para sesiones de shell futuras deben dejarse siempre
en el directorio de inicio. Si mueve un archivo fuera del directorio principal (con el mv comando ,
por ejemplo), se recicla cuando finaliza la sesión de shell actual.

Para descargar archivos desde AWS CloudShell

1. Elija Actions (Acciones), Download file (Descargar archivo).


2. En el cuadro de diálogo Download file (Descargar archivo), escriba la ruta del archivo que se va a
descargar.

32
AWS: CloudShell Guía del usuario
Uso de archivos y almacenamiento

33
AWS: CloudShell Guía del usuario
Uso de archivos y almacenamiento

Note

Puede utilizar rutas absolutas o relativas al especificar un archivo para su descarga. Con los
nombres de ruta relativos, /home/cloudshell-user/ se añade automáticamente al inicio
de forma predeterminada. Por lo tanto, para descargar un archivo denominado mydownload-
file, las dos rutas siguientes son válidas:

• Ruta absoluta: /home/cloudshell-user/subfolder/[Link]


• Ruta relativa: subfolder/[Link]
3. Elija Download (Descargar).

Si la ruta del archivo es correcta, se muestra un cuadro de diálogo. Puede utilizar este cuadro de
diálogo para abrir el archivo con la aplicación predeterminada. También puede guardar el archivo en
una carpeta de su equipo local.

Para cargar archivos en AWS CloudShell

1. Elija Actions (Acciones), Upload file (Cargar archivo).


Note

De forma predeterminada, los archivos se cargan en la raíz del directorio principal: /home/
cloudshell-user. Si mueve archivos (con el mv comando , por ejemplo), asegúrese de
que los archivos permanezcan en el directorio principal. Aquí es donde se encuentra su
almacenamiento persistente de 1 GB.
2. En el cuadro de diálogo Upload file (Cargar archivo), elija Browse (Examinar) para seleccionar un
archivo en su equipo local. (El tamaño de carga máximo es de 1 GB).
3. En el cuadro de diálogo Upload file (Cargar archivo) del sistema, seleccione un archivo para cargarlo y
elija Open (Abrir).
4. Elija Upload (Cargar) para añadir el archivo seleccionado al entorno del shell.

34
AWS: CloudShell Guía del usuario
Uso de archivos y almacenamiento

35
AWS: CloudShell Guía del usuario
Inicio y finalización de sesiones de shell

Si intenta cargar un archivo que hace que supere el límite por región, se le notifica que la carga no
puede continuar. Por ejemplo, se le advierte que la carga no se puede completar si intenta cargar un
archivo de 200 MB cuando ya ha almacenado 900 MB de datos en su directorio principal.

Para eliminar archivos de AWS CloudShell

1. Para eliminar archivos de AWS CloudShell, utilice comandos de shell estándar como rm (eliminar):

rm my-file-for-removal
2. También puede eliminar varios archivos que cumplan los criterios especificados mediante el find
comando . En el siguiente ejemplo se eliminan todos los archivos que incluyen la frase ".pdf" en sus
nombres:

find -type f -name '*pdf*' -delete

Note

Si deja de utilizar AWS CloudShell en una región de AWS, los datos del almacenamiento
persistente de esa región se eliminan automáticamente después de un periodo definido. Para
obtener más información, consulte Almacenamiento persistente (p. 71).

Inicio y finalización de sesiones de shell


Note

Como medida de seguridad, si no interactúa con el shell mediante el teclado o el puntero durante
un periodo prolongado, la sesión se detiene automáticamente. Las sesiones de ejecución muy
prolongada también se detienen automáticamente. Para obtener más información, consulte
Sesiones de shell (p. 72).

Reinicio de sesiones de shell

1. Puede reiniciar una sesión de shell eligiendo Actions (Acciones), Restart (CloudShellReiniciar).

Se le notifica que al reiniciar AWS se CloudShell detienen todas las sesiones activas de la región de
AWS actual.
2. Elija Restart (Reiniciar) para confirmar.

Una interfaz muestra un mensaje que indica que el entorno CloudShell informático de AWS se está
deteniendo. Una vez que el entorno se haya detenido y reiniciado, puede comenzar a trabajar con la
línea de comandos en una nueva sesión.

Note

En algunos casos, el entorno puede tardar unos minutos en reiniciarse.

Salida manual de sesiones de shell

Con la línea de comandos, puede dejar una sesión de shell y cerrar la sesión con el exit comando . A
continuación, puede pulsar cualquier tecla para volver a conectarse y seguir utilizando AWS CloudShell.

36
AWS: CloudShell Guía del usuario
Ejemplos de línea de comandos de la CLI de
AWS para servicios de AWS seleccionados

Uso de los servicios de AWS en AWS


CloudShell
Una ventaja clave de AWS CloudShell es que puede utilizarla para administrar los servicios de AWS desde
la interfaz de línea de comandos. Esto significa que no es necesario descargar e instalar herramientas
ni configurar las credenciales localmente de antemano. Al lanzar AWS CloudShell, se crea un entorno
informático que tiene las siguientes herramientas de línea de comandos de AWS ya instaladas:

• CLI de AWS (p. 37)


• CLI de AWS Elastic Beanstalk (p. 38)
• CLI de Amazon ECS (p. 39)
• AWS SAM (p. 39)

Y dado que ya ha iniciado sesión en AWS, no es necesario configurar las credenciales localmente antes de
utilizar los servicios de . Las credenciales que utilizó para iniciar sesión en la consola de administración de
AWS se reenvían a AWS CloudShell.

En el resto de este tema se explica cómo comenzar a utilizar AWS CloudShell para interactuar con
determinados servicios de AWS desde la línea de comandos.

Ejemplos de línea de comandos de la CLI de AWS


para servicios de AWS seleccionados
Los siguientes ejemplos representan solo algunos de los numerosos servicios de AWS con los que puede
trabajar utilizando los comandos disponibles en la versión 2 de la CLI de AWS. Para obtener una lista
completa, consulte la Referencia de comandos de la CLI de AWS.

• DynamoDB (p. 37)


• AWS Cloud9 (p. 38)
• Amazon EC2 (p. 38)
• S3 Glacier (p. 38)

DynamoDB
DynamoDB es un servicio de NoSQL base de datos completamente administrado que ofrece un
desempeño rápido y predecible, así como una escalabilidad óptima. La implementación del NoSQL modo
de este servicio admite estructuras de datos de documentos y clave-valor.

El siguiente create-table comando crea una tabla NoSQLde estilo que se llama MusicCollection en
su cuenta de AWS.

aws dynamodb create-table \


--table-name MusicCollection \
--attribute-definitions AttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S \
--key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \

37
AWS: CloudShell Guía del usuario
AWS Cloud9

--tags Key=Owner,Value=blueTeam

Para obtener más información, consulte Uso de DynamoDB con la CLI de AWS en la Guía del usuario de
la interfaz de línea de comandos de AWS.

AWS Cloud9
AWS Cloud9 es un entorno de desarrollo integrado (IDE) basado en la nube que puede utilizar para
escribir, ejecutar y depurar el código en una ventana del navegador. El entorno incluye un editor de código,
un depurador y un terminal.

El siguiente create-environment-ec2 comando crea un entorno de desarrollo EC2 de AWS Cloud9


con la configuración especificada. Lanza una instancia Amazon EC2 y, a continuación, se conecta desde la
instancia al entorno.

aws cloud9 create-environment-ec2 --name my-demo-env --description "My demonstration


development environment." --instance-type [Link] --subnet-id subnet-1fab8aEX --
automatic-stop-time-minutes 60 --owner-arn arn:aws:iam::123456789012:user/MyDemoUser

Para obtener más información, consulte Referencia de línea de comandos de AWS Cloud9.

Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2 es un servicio web que proporciona capacidad de cómputo
segura y de tamaño variable en la nube. Se ha diseñado para facilitar y facilitar el acceso a la informática
en la nube en la web.

El siguiente run-instances comando lanza una instancia [Link] en la subred especificada de una
VPC:

aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type [Link] --key-name


MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e

Para obtener más información, consulte Uso de Amazon EC2 con la CLI de AWS en la Guía del usuario de
la interfaz de línea de comandos de AWS.

S3 Glacier
S3 Glacier y S3 Glacier Deep Archive son clases de almacenamiento en la nube de Amazon S3 seguras,
duraderas y de muy bajo costo para archivar datos y realizar copias de seguridad a largo plazo.

El siguiente create-vault comando crea un almacén, un contenedor para guardar archivos:

aws glacier create-vault --vault-name my-vault --account-id -

Para obtener más información, consulte Uso de Amazon S3 Glacier con la CLI de AWS en la Guía del
usuario de la interfaz de línea de comandos de AWS.

CLI de AWS Elastic Beanstalk


La CLI de AWS Elastic Beanstalk proporciona una interfaz de línea de comandos creada para simplificar
la creación, actualización y monitorización de entornos desde un repositorio local. En este contexto, un
entorno se refiere a una colección de recursos de AWS que ejecutan una versión de la aplicación.

38
AWS: CloudShell Guía del usuario
CLI de Amazon ECS

El siguiente create comando crea un nuevo entorno en una Amazon Virtual Private Cloud (VPC)
personalizada.

$ eb create dev-vpc --[Link] vpc-0ce8dd99 --[Link] subnet-b356d7c6,subnet-02f74b0c


--vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --[Link] sg-70cff265

Para obtener más información, consulte la referencia de comandos de la CLI de EB en la Guía para
desarrolladores de AWS Elastic Beanstalk.

CLI de Amazon ECS


La interfaz de línea de comandos (CLI) de Amazon Elastic Container Service (Amazon ECS) proporciona
varios comandos de alto nivel. Estos se han diseñado para simplificar los procesos de creación,
actualización y monitorización de clústeres y tareas desde un entorno de desarrollo local. (Un clúster de
Amazon ECS es una agrupación lógica de tareas o servicios).

El siguiente configure comando configura la CLI de Amazon ECS para crear una configuración
de clúster denominada ecs-cli-demo. Esta configuración de clúster utiliza FARGATE como tipo de
lanzamiento predeterminado para el ecs-cli-demo clúster en la us-east-1 region.

ecs-cli configure --region us-east-1 --cluster ecs-cli-demo --default-launch-type FARGATE


--config-name ecs-cli-demo

Para obtener más información, consulte Referencia de línea de comandos de https://


[Link]/AmazonECS/latest/developerguide/ECS_CLI_reference.html Amazon ECS en la
Guía para desarrolladores de Amazon Elastic Container Service.

CLI de AWS SAM


AWS SAM CLI es una herramienta de línea de comandos que opera con una plantilla de modelo de
aplicaciones sin servidor de AWS y un código de aplicación. Puede realizar varias tareas con ella. Estos
incluyen invocar funciones Lambda localmente, crear un paquete de implementación para su aplicación sin
servidor e implementar su aplicación sin servidor en la nube de AWS.

El siguiente init comando inicializa un nuevo proyecto de SAM con los parámetros obligatorios
transferidos como parámetros:

sam init --runtime python3.7 --dependency-manager pip --app-template hello-world --name


sam-app

Para obtener más información, consulte la referencia de comandos de la CLI de AWS SAM en la Guía
para desarrolladores de modelos de aplicaciones sin servidor de AWS.

39
AWS: CloudShell Guía del usuario
Dividir la pantalla de línea de comandos en varias pestañas

Personalización de su CloudShell
experiencia de AWS
Puede personalizar los siguientes aspectos de su CloudShell experiencia de AWS:

• Diseño (p. 40)de pestañas: divide la interfaz de línea de comandos en varias columnas y filas.
• Font size (p. 40)(Tamaño de fuente): ajuste el tamaño del texto de la línea de comandos.
• Tema de (p. 40)color: cambie entre un tema claro y un tema oscuro.
• Safe Paste (p. 40)(Pegar con seguridad): habilite o deshabilite una característica que requiera que
verifique el texto de varias líneas antes de pegarlo.

También puede ampliar su entorno de shell instalando su propio software (p. 61) y modificando los
scripts (p. 62)de shell de inicio.

Dividir la pantalla de línea de comandos en varias


pestañas
Con esta característica de productividad, puede ejecutar varios comandos dividiendo la interfaz de línea de
comandos en varios paneles.
Note

Cuando varios paneles de pestañas estén abiertos, puede seleccionar uno para trabajar en
haciendo clic en cualquier lugar del panel. Puede cerrar una pestaña eligiendo el símbolo x junto
al nombre de la región.

• Elija Actions (Acciones) y una de las siguientes opciones en el diseño Tabs (Pestañas):

• New tab (Nueva pestaña): añada una nueva pestaña junto a la activa actualmente.
• Dividir en filas: añada una nueva pestaña en una fila debajo del activo actualmente.
• Dividir en columnas: añada una nueva pestaña en una columna junto a la que está activa
actualmente.

Si no hay espacio suficiente para mostrar todas las pestañas, las barras de desplazamiento le
permiten navegar por la interfaz. También puede seleccionar las barras divididas que separan los
paneles y arrastrarlas con el puntero para aumentar o reducir el tamaño del panel.

Cambiar el tamaño de la fuente


Puede aumentar o reducir el tamaño del texto que se muestra en la interfaz de línea de comandos.

1. Elija Preferences (Preferencias), Font Size (Tamaño de fuente).


2. Elija un tamaño de texto comprendido entre Smallest y Largest.

40
AWS: CloudShell Guía del usuario
Cambio del tema de la interfaz

Cambio del tema de la interfaz


Puede cambiar entre un tema claro y oscuro para la interfaz de línea de comandos.

1. Elija Preferences (Preferencias), Color Theme (Tema de color).


2. Elija Light (Luz) o Dark (Oscuridad).

Uso de pegado seguro para texto multilínea


La opción Safe Paste es una característica de seguridad que le pide que verifique que el texto de varias
líneas que está a punto de pegar en el shell no contiene scripts maliciosos. El texto copiado de sitios de
terceros puede contener código oculto que desencadena comportamientos inesperados en el entorno del
shell.

El cuadro de diálogo Safe Paste (Pegar seguro) muestra el texto completo que ha copiado en el
portapapeles. Si está convencido de que no hay riesgo para la seguridad, puede elegir Paste (Pegar).

41
AWS: CloudShell Guía del usuario
Uso de pegado seguro para texto multilínea

42
AWS: CloudShell Guía del usuario
Uso de pegado seguro para texto multilínea

Le recomendamos que habilite Safe Paste para detectar posibles riesgos de seguridad en los scripts. Pero
puede activar o desactivar esta característica eligiendo Preferences (Preferencias), Enable Safe Paste/
Disable Safe Paste (Habilitar pegado seguro/deshabilitar pegado seguro).

43
AWS: CloudShell Guía del usuario
Protección de los datos

Seguridad para AWS CloudShell


La seguridad en la nube en Amazon Web Services (AWS) es la máxima prioridad. Como cliente de AWS,
se beneficiará de una arquitectura de red y un centro de datos diseñados para satisfacer los requisitos
de seguridad de las organizaciones más exigentes. La seguridad es una responsabilidad compartida
entre AWS y usted. El modelo de responsabilidad compartida describe esto como seguridad de la nube y
seguridad en la nube.

Seguridad de la nube: AWS es responsable de proteger la infraestructura en la que se ejecutan todos los
servicios que se ofrecen en la nube de AWS Cloud y de proporcionar servicios que puedan utilizarse de
forma segura. En AWS, nuestra mayor prioridad es nuestra responsabilidad en materia de seguridad, y
hay auditores externos que comprueban y verifican con frecuencia la eficacia de nuestra seguridad en los
programas de conformidad de AWS.

Seguridad en la nube: su responsabilidad viene determinada por el servicio de AWS que usa y otros
factores, como la confidencialidad de los datos, los requisitos de la organización y la legislación y
reglamentos aplicables.

AWS CloudShell sigue el modelo de responsabilidad compartida a través de los servicios de AWS
específicos que admite. Para obtener información sobre la seguridad del servicio de AWS, consulte la
página de documentación de seguridad del servicio de AWS y los servicios de AWS que están en el ámbito
de los esfuerzos de conformidad de AWS por programa de conformidad.

En los siguientes temas, se le mostrará cómo configurar AWS CloudShell para satisfacer sus objetivos de
seguridad y conformidad.

Temas
• Protección de datos en AWS CloudShell (p. 44)
• Administración de identidades y accesos en AWS CloudShell (p. 46)
• Registro y monitorización en AWS CloudShell (p. 51)
• Validación de conformidad para AWS CloudShell (p. 52)
• Resiliencia en AWS CloudShell (p. 53)
• Seguridad de la infraestructura en AWS CloudShell (p. 53)
• Configuración y análisis de vulnerabilidades en AWS CloudShell (p. 54)
• Prácticas recomendadas de seguridad para AWS CloudShell (p. 54)

Protección de datos en AWS CloudShell


El modelo [Link] responsabilidad compartida
de AWS se aplica a la protección de datos en AWS CloudShell. Como se describe en este modelo,
AWS es responsable de proteger la infraestructura global que ejecuta toda la nube de AWS. Usted es
responsable de mantener el control sobre el contenido alojado en esta infraestructura. Este contenido
incluye la configuración de seguridad y las tareas de administración de los servicios de AWS que usted
utiliza. Para obtener más información sobre la privacidad de datos, consulte las preguntas frecuentes
sobre privacidad de [Link] Para obtener información
sobre la protección de datos en Europa, consulte la entrada de blog relativa al modelo de responsabilidad
compartida de AWS y RGPD en el blog de seguridad de AWS.

44
AWS: CloudShell Guía del usuario
Cifrado de datos

A efectos de la protección de datos, se recomienda que proteja las credenciales de la cuenta de AWS
y configure cuentas de usuario individuales con AWS Identity and Access Management (IAM). De esta
manera,solo se otorgan a cada usuario los permisos necesarios para cumplir con sus obligaciones
laborales. También le recomendamos proteger sus datos de las siguientes formas:

• Utilice Multi-Factor Authentication (MFA) con cada cuenta.


• Utilice SSL/TLS para comunicarse con los recursos de AWS. Le recomendamos TLS 1.2 o una versión
posterior.
• Configure la API y el registro de actividad de los usuarios con CloudTrailAWS.
• Utilice las soluciones de cifrado de AWS junto con todos los controles de seguridad predeterminados
dentro de los servicios de AWS.
• Utilice avanzados servicios de seguridad administrados, como Amazon Macie, que le ayuden a detectar
y proteger los datos personales almacenados en Amazon S3.
• Si necesita módulos criptográficos validados FIPS 140-2 al acceder a AWS a través de una interfaz de
línea de comandos o una API, utilice un punto de enlace de FIPS. Para obtener más información acerca
de los puntos de enlace de FIPS disponibles, consulte Estándar de procesamiento de la información
federal (FIPS) 140-2.

Le recomendamos encarecidamente que nunca introduzca información de identificación confidencial,


como, por ejemplo, números de cuenta de sus clientes, en los campos de formato libre, como el campo
Name (Nombre). Esto incluye cuando trabaje con AWS CloudShell u otros servicios de AWS a través de la
consola, la API, la CLI de AWS o AWS SDKs. Cualquier dato que escriba en AWS CloudShell o en otros
servicios se puede incluir en los registros de diagnóstico. Cuando proporcione una URL a un servidor
externo, no incluya información de credenciales en la URL para validar la solicitud para ese servidor.

Cifrado de datos
El cifrado de datos se refiere a la protección de los datos en reposo (almacenados en AWS CloudShell) y
en tránsito (al desplazarse entre AWS CloudShell y los puntos de enlace de servicio de ).

Cifrado en reposo mediante AWS KMS


El cifrado en reposo hace referencia a la protección de sus datos del acceso no autorizado mediante
el cifrado de datos mientras están almacenados. Cuando se utiliza AWS CloudShell, dispone de
almacenamiento persistente de 1 GB por región de AWS sin costo alguno. El almacenamiento persistente
se encuentra en su directorio principal ($HOME) y es privado para usted. A diferencia de los recursos del
entorno efímero que se reciclan después de que finalice cada sesión del shell, los datos del directorio
principal persisten.

El cifrado de los datos almacenados en AWS CloudShell se implementa mediante claves criptográficas
proporcionadas por AWS Key Management Service (AWS KMS). Se trata de un servicio de AWS
administrado para crear y controlar claves maestras de cliente (CMKs las claves de cifrado que se utilizan
para cifrar los datos de los clientes almacenados en el CloudShell entorno de AWS. AWS CloudShell
genera y administra claves criptográficas para cifrar datos en nombre de los clientes.

Cifrado en tránsito
El cifrado en tránsito se refiere a proteger sus datos de ser interceptados mientras se mueven entre los
extremos de comunicación.

De forma predeterminada, todas las comunicaciones de datos entre el equipo del navegador web del
cliente y AWS basado en la nube CloudShell se cifran enviando todo a través de una conexión HTTPS/
TLS.

No es necesario hacer nada más para habilitar el uso de HTTPS/TLS para la comunicación.

45
AWS: CloudShell Guía del usuario
Administración de identidades y accesos

Administración de identidades y accesos en AWS


CloudShell
AWS Identity and Access Management (IAM) es un servicio de Amazon Web Services (AWS) que ayuda
a un administrador a controlar de forma segura el acceso a los recursos de AWS. Los administradores
de IAM controlan quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar
recursos en los servicios de AWS. IAM es un servicio de AWS que puede utilizar sin cargo adicional.

Para utilizar AWS CloudShell para obtener acceso a AWS, necesita una cuenta de AWS y credenciales de
AWS. Para aumentar la seguridad de su cuenta de AWS, considere la posibilidad de utilizar un usuario de
IAM para proporcionar credenciales de acceso en lugar de credenciales de su propia cuenta de AWS.

Para obtener información sobre cómo trabajar con IAM, consulte AWS Identity and Access Management.

Para obtener información general sobre los usuarios de IAM y por qué son importantes para la seguridad
de su cuenta, consulte Credenciales de seguridad de AWS en la Referencia general de Amazon Web
Services.

AWS CloudShell sigue el modelo de responsabilidad compartida a través de los servicios específicos de
Amazon Web Services (AWS) que admite. Para obtener información sobre la seguridad del servicio de
AWS, consulte la página de documentación de seguridad del servicio de AWS y los servicios de AWS que
están en el ámbito de los esfuerzos de conformidad de AWS por programa de conformidad.

Temas
• Audience (p. 46)
• Autenticación con identidades (p. 46)
• Administración del CloudShell acceso y el uso de AWS con políticas de IAM (p. 48)

Audience
La forma en que utilice AWS Identity and Access Management (IAM) varía en función del trabajo que
realice en CloudShellAWS.

Usuario de servicio: si utiliza el CloudShell servicio de AWS para realizar su trabajo, su administrador
le proporciona las credenciales y los permisos que necesita. A medida que utilice más CloudShell
características de AWS para realizar su trabajo, es posible que necesite permisos adicionales. Entender
cómo se administra el acceso puede ayudarle a solicitar los permisos correctos a su administrador. Si no
puede obtener acceso a una característica en AWS CloudShell, consulte Solución de problemas de AWS
CloudShell (p. 66).

Administrador de servicio: si está a cargo de CloudShell los recursos de AWS de su empresa,


probablemente tenga acceso completo a CloudShellAWS. Su trabajo consiste en determinar a qué
CloudShell características y recursos de AWS deben acceder sus empleados. A continuación, envíe
solicitudes a su administrador de IAM para cambiar los permisos de los usuarios de su servicio. Revise la
información de esta página para conocer los conceptos básicos de IAM.

Administrador de IAM: si es un administrador de IAM, es posible que desee obtener información sobre
cómo escribir políticas para administrar el acceso de los usuarios a los servicios de . Para obtener más
información sobre AWS CloudShell, consulte Administración del CloudShell acceso y el uso de AWS con
políticas de IAM (p. 48).

Autenticación con identidades


Puede obtener acceso a AWS como cualquiera de los siguientes tipos de identidades.

46
AWS: CloudShell Guía del usuario
Autenticación con identidades

Usuario de la cuenta raíz de AWS

Cuando se inscriba en AWS, tendrá que proporcionar una dirección de correo electrónico y la contraseña
asociada a su cuenta de AWS. Esta información conforma las credenciales raíz y le proporcionan acceso
completo a todos los recursos de AWS.
Important

Como práctica recomendada de seguridad, debe utilizar las credenciales raíz solo para crear un
grupo de administradores de IAM con un usuario administrador de IAM. Se trata de un grupo que
da al usuario permisos completos a la cuenta de AWS. A continuación, puede utilizar este usuario
administrador para crear otros usuarios y roles de IAM con permisos limitados. Para obtener más
información, consulte Crear usuarios individuales de IAM y Creación del primer grupo y usuario
administrador de IAM en la Guía del usuario de IAM.

Usuario de IAM

Un usuario de IAM es simplemente una identidad dentro de su cuenta de AWS que tiene permisos
personalizados específicos (por ejemplo, permisos para descargar un archivo en AWS CloudShell). Puede
utilizar un nombre de usuario y una contraseña de IAM para iniciar sesión en páginas web seguras de
AWS, como la CloudShell consola de AWS, la consola de administración de AWS, los foros de debate de
AWS y el centro de soporte de AWS.

Además de un nombre de usuario y una contraseña, también puede generar claves de acceso para
cada usuario. Puede utilizar estas claves cuando obtenga acceso a los servicios de AWS mediante
programación, ya sea a través de uno de los diversos de AWS SDKs o mediante la interfaz de línea de
comandos de AWS (CLI de AWS) o el shell de AWS. La SDKs, la CLI de AWS y el shell de AWS usan
estas claves de acceso para firmar criptográficamente la solicitud. Si no utiliza estas herramientas, debe
firmar usted mismo la solicitud. AWS CloudShell admite Signature Version 4, un protocolo para autenticar
solicitudes de API entrantes. Para obtener más información acerca de las solicitudes de autenticación,
consulte Proceso de firma Signature Version 4 en la Referencia general de Amazon Web Services.

Rol de IAM

Un rol de IAM es otra identidad de IAM que puede crear en la cuenta que tiene permisos específicos. Es
similar a un usuario de IAM, pero no está asociado a una persona específica. Un rol de IAM le permite
obtener claves de acceso temporal que se pueden utilizar para obtener acceso a los recursos y servicios
de AWS. Los roles de IAM con credenciales temporales son útiles en las siguientes situaciones.

Acceso a los servicios de AWS

Puede utilizar un rol de IAM en su cuenta para conceder permisos de servicio de AWS para acceder a los
recursos de su cuenta. Por ejemplo, puede crear un rol que permita a AWS Lambda acceder a un bucket
de Amazon S3 en su nombre y, a continuación, cargar los datos almacenados en el bucket en un almacén
de datos de Amazon RedShift. Para obtener más información, consulte Creación de un rol para delegar
permisos a un servicio de AWS en la Guía del usuario de IAM.

Aplicaciones que se ejecutan en Amazon EC2

En lugar de almacenar claves de acceso en una instancia Amazon EC2 para que las usen aplicaciones
que se ejecutan en la instancia y que realizan solicitudes de API de AWS, puede utilizar un rol de IAM para
administrar credenciales temporales para estas aplicaciones. Para asignar un rol de AWS a una instancia
Amazon EC2 y ponerla a disposición de todas las aplicaciones, cree un perfil de instancia asociado a la
instancia. Un perfil de instancia contiene el rol y permite a los programas que se ejecutan en la instancia
Amazon EC2 obtener credenciales temporales. Para obtener más información, consulte Crear y utilizar
un perfil de instancia para administrar credenciales temporales y Uso de un rol de IAM para conceder
permisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guía del usuario de IAM.

Acceso de usuarios federados

47
AWS: CloudShell Guía del usuario
Administración del CloudShell acceso
y el uso de AWS con políticas de IAM

En lugar de crear un usuario de IAM, puede utilizar identidades de usuario preexistentes de AWS Directory
Service, el directorio de usuarios de la compañía o un proveedor de identidad web. Esto se conoce como
usuarios federados. AWS asigna un rol a un usuario federado cuando se solicita acceso a través de un
proveedor de identidad. Para obtener más información, consulte Usuarios federados y roles en la Guía del
usuario de IAM.

Administración del CloudShell acceso y el uso de


AWS con políticas de IAM
Con los recursos de administración del acceso proporcionados por AWS Identity and Access Management
(IAM), los administradores pueden conceder permisos a los usuarios de IAM para que puedan obtener
acceso a AWS CloudShell y utilizar las características del entorno. Los administradores también pueden
crear políticas que especifiquen de forma detallada qué acciones pueden realizar esos usuarios con el
entorno del shell.

La forma más rápida de que un administrador conceda acceso a los usuarios es a través de una política
administrada de AWS. Una política administrada por AWS es una política independiente creada y
administrada por AWS. La siguiente política administrada de AWS para AWS se CloudShell puede asociar
a identidades de IAM:

• AWSCloudShellFullAccess: concede permiso para utilizar AWS CloudShell con acceso completo a todas
las características de .

La AWSCloudShellFullAccess política utiliza el carácter comodín (*) para conceder a la identidad de


IAM (usuario, rol o grupo) acceso completo a las características de AWS CloudShell y . También puede
utilizar la AWSCloudShellFullAccess política como plantilla para políticas personalizadas que sean más
restrictivas en términos de acciones de usuario permitidas.

{
"Version": "2012-10-17",
"Statement": [{
"Sid": "CloudShellUser",
"Effect": "Allow",
"Action": [
"cloudshell:*"
],
"Resource": "*"
}]
}

Note

Las identidades de IAM con las políticas administradas de AWS que se indican a continuación
también pueden lanzar AWS CloudShell. Pero como estas políticas proporcionan permisos muy
amplios, el principio de privilegios mínimos significa que solo deben concederse si son esenciales
para el rol de trabajo de un usuario de IAM.

• Administrador: proporciona a los usuarios acceso completo y les permite delegar permisos a
todos los servicios y recursos de AWS.
• Usuario avanzado desarrollador: permite a los usuarios realizar tareas de desarrollo de
aplicaciones y crear y configurar recursos y servicios que admiten el desarrollo de aplicaciones
compatibles con AWS.

Para obtener más información sobre cómo asociar políticas administradas, consulte Adición de
permisos de identidad de IAM (consola) en la Guía del usuario de IAM.

48
AWS: CloudShell Guía del usuario
Administración del CloudShell acceso
y el uso de AWS con políticas de IAM

Administración de acciones permitidas en AWS CloudShell


mediante políticas personalizadas
Para administrar el ámbito de las acciones que un usuario de IAM puede realizar con AWS,
CloudShellpuede crear una política personalizada que utilice la política AWSCloudShellFullAccess
administrada como plantilla. También puede editar una política insertada que esté integrada en la
identidad de IAM pertinente (usuario, grupo o rol).

Por ejemplo, puede permitir a los usuarios obtener acceso a CloudShell AWS, pero impedirles que carguen
o descarguen archivos en el entorno del shell. También puede denegar explícitamente a los usuarios el
acceso a AWS CloudShell.
Important
Para lanzar AWS CloudShell desde la consola de administración de AWS, un usuario de IAM
necesita permisos para las siguientes acciones:

• CreateEnvironment

• CreateSession

• GetEnvironmentStatus

• StartEnvironment

Si una política adjunta no permite explícitamente alguna de estas acciones, se devuelve un error
de permisos de IAM al intentar lanzar CloudShell.

CloudShell Permisos de AWS


Nombre Descripción del permiso Necesario para lanzar
concedido CloudShell?

Crear un CloudShell entorno


cloudshell:CreateEnvironment Sí

cloudshell:CreateSession Conectarse a un CloudShell Sí


entorno de desde la consola de
administración de AWS

Leer el estado de un CloudShell


cloudshell:GetEnvironmentStatus Sí
entorno

Eliminar un CloudShell entorno


cloudshell:DeleteEnvironment No

Descargar archivos de
cloudshell:GetFileDownloadUrls No
CloudShell en un equipo local

Cargar archivos desde un equipo


cloudshell:GetFileUploadUrls No
local en CloudShell

cloudshell:PutCredentials Reenviar las credenciales No


utilizadas para iniciar sesión en
la consola de administración de
AWS a CloudShell

cloudshell:StartEnvironmentIniciar un CloudShell entorno que Sí


está detenido

49
AWS: CloudShell Guía del usuario
Administración del CloudShell acceso
y el uso de AWS con políticas de IAM

Nombre Descripción del permiso Necesario para lanzar


concedido CloudShell?

cloudshell:StopEnvironment Detener un CloudShell entorno No


que se está ejecutando

Ejemplos de políticas de IAM para CloudShell


Los siguientes ejemplos muestran cómo se pueden crear políticas para restringir quién puede obtener
acceso a AWS CloudShell y las acciones que se pueden realizar en el entorno del shell.

Esta política aplica una denegación completa de acceso a AWS CloudShell y sus características:

{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyCloudShell",
"Effect": "Deny",
"Action": [
"cloudshell:*"
],
"Resource": "*"
}]
}

Esta política permite a los usuarios obtener acceso a CloudShell AWS, pero les impide cargar y descargar
archivos en el entorno del shell:

{
"Version": "2012-10-17",
"Statement": [{
"Sid": "CloudShellUser",
"Effect": "Allow",
"Action": [
"cloudshell:*"
],
"Resource": "*"
}, {
"Sid": "DenyUploadDownload",
"Effect": "Deny",
"Action": [
"cloudshell:GetFileDownloadUrls",
"cloudshell:GetFileUploadUrls"
],
"Resource": "*"
}]
}

La siguiente política permite a los usuarios obtener acceso a CloudShell AWS, pero impide que las
credenciales que ha utilizado para iniciar sesión en la consola de administración de AWS se reenvíen al
CloudShell entorno. Los usuarios con esta política deben configurar manualmente sus credenciales en
AWS CloudShell.

{
"Version": "2012-10-17",
"Statement": [{
"Sid": "CloudShellUser",
"Effect": "Allow",
"Action": [

50
AWS: CloudShell Guía del usuario
Registro y monitoreo

"cloudshell:*"
],
"Resource": "*"
}, {
"Sid": "DenyCredentialForwarding",
"Effect": "Deny",
"Action": [
"cloudshell:PutCredentials"
],
"Resource": "*"
}]
}

Permisos para acceder a los servicios de AWS


AWS CloudShell utiliza las credenciales de IAM que utilizó para iniciar sesión en la consola de
administración de AWS. Esta característica de autenticación previa de AWS CloudShell hace que sea muy
cómodo utilizar la CLI de AWS. Pero un usuario de IAM sigue necesitando permisos explícitos para los
servicios de AWS a los que se llama desde la línea de comandos.

Por ejemplo, si los usuarios de IAM tienen que crear buckets de Amazon S3 y cargar archivos como
objetos en ellos, puede crear una política que permita explícitamente esas acciones. La consola de IAM
proporciona un editor visual intuitivo que le guía a través del proceso de creación de un documento de
política con formato JSON. Una vez creada la política, puede asociarla a la identidad de IAM pertinente
(usuario, grupo o rol).

Para obtener más información sobre cómo asociar políticas administradas, consulte Adición de permisos
de identidad de IAM (consola) en la Guía del usuario de IAM.

Registro y monitorización en AWS CloudShell


Monitorización de la actividad mediante CloudTrail
AWS CloudShell está integrado con AWS CloudTrail, un servicio que proporciona un registro de las
acciones realizadas por un usuario, un rol o un servicio de AWS en CloudShellAWS. CloudTrail captura
todas las llamadas a la API de AWS CloudShell como eventos. Las llamadas capturadas incluyen las
llamadas procedentes de la CloudShell consola de AWS y de las llamadas de código a AWS CloudShell
APIs.

Si crea un registro de seguimiento, puede habilitar la entrega continua de CloudTrail eventos de a un


bucket de Amazon Simple Storage Service (Amazon S3, incluidos los eventos de CloudShellAWS.

Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de
CloudTrail en el Event history (Historial de eventos). Mediante la información recopilada por CloudTrail,
puede determinar la solicitud que se realizó a AWS CloudShell, la dirección IP desde la que se realizó la
solicitud, quién realizó la solicitud, cuándo la realizó y detalles adicionales.

AWS CloudShell en CloudTrail


AWS CloudShell admite el registro de las siguientes acciones como eventos en los archivos CloudTrail de
registro de :

• createEnvironment
• createSession
• deleteEnvironment

51
AWS: CloudShell Guía del usuario
Validación de la conformidad

• getEnvironmentStatus*
• getFileDownloadUrls*
• getFileUploadUrls*
• putCredentials
• redeemCode
• sendHeartBeat
• startEnvironment
• stopEnvironment

*Llamadas a la API sin cambios (solo lectura).

Los eventos que incluyen la palabra "Entorno" en sus nombres se relacionan con el ciclo de vida del
entorno informático que aloja la experiencia de shell.

El sendHeartBeat evento se produce para confirmar que la sesión no está inactiva. Y el


putCredentials evento se produce cuando las credenciales con las que el usuario ha iniciado sesión en
la consola de se reenvían a AWS CloudShell.

EventBridge Reglas de para CloudShell acciones de AWS

Con EventBridge las reglas debe especificar la acción de destino que se va a realizar cuando EventBridge
reciba un evento que coincida con la regla. Puede definir una regla que especifique la acción de destino
que se va a realizar basándose en una CloudShell acción de AWS que se registra como evento en un
archivo CloudTrail de registro.

Por ejemplo, puede crear EventBridge reglas con la CLI de AWS mediante el put-rule comando . Una
put-rule llamada debe contener al menos un EventPattern o ScheduleExpression. Las reglas con
EventPatterns se activan cuando se observa un evento coincidente. para EventPattern eventos CloudShell
de AWS:

{ "source": [ "[Link]" ], "detail-type": [ "AWS API Call via CloudTrail" ],


"detail": { "eventSource": [ "[Link]" ] } }

Para obtener más información, consulte Eventos y patrones de eventos en EventBridge en la Guía
EventBridgedel usuario de Amazon .

Validación de conformidad para AWS CloudShell


Los auditores externos evalúan la seguridad y la conformidad de los servicios de AWS en distintos
programas de conformidad de AWS.

En la actualidad, AWS no CloudShell se encuentra en el ámbito de ningún programa de conformidad


específico.

Para obtener una lista de los servicios de AWS que se encuentran en el ámbito de programas de
conformidad específicos, consulte Servicios de AWS en el ámbito del programa de conformidad. Para
obtener información general, consulte Programas de conformidad de AWS.

Puede descargar informes de auditoría de terceros mediante AWS Artifact. Para obtener más información,
consulte Descarga de informes en AWS Artifact.

Su responsabilidad de conformidad al utilizar AWS CloudShell se determina en función de la


confidencialidad de los datos, los objetivos de conformidad de su empresa y la legislación y los
reglamentos aplicables. AWS proporciona los siguientes recursos para ayudar con la conformidad:

52
AWS: CloudShell Guía del usuario
Resiliencia

• Guías de inicio rápido de seguridad y conformidad: estas guías de implementación tratan


consideraciones sobre arquitectura y ofrecen pasos para implementar entornos de referencia centrados
en la seguridad y la conformidad en AWS.
• Documento técnico acerca de cómo diseñar arquitecturas que cumplan los requisitos de seguridad y
conformidad de HIPAA: en este documento técnico, se explica cómo las empresas pueden utilizar AWS
para crear aplicaciones conformes con HIPAA.
• Recursos de conformidad de AWS: esta colección de manuales y guías podría ser aplicable a su sector
y ubicación.
• Evaluación de recursos con reglas en la guía para desarrolladores de AWS: el servicio AWS Config
evalúa en qué medida las configuraciones de los recursos cumplen con las prácticas internas, las
directrices del sector y las normativas.
• AWS Security Hub: este servicio de AWS ofrece una perspectiva integral acerca de su estado de
seguridad dentro de AWS que ayuda a verificar la conformidad con los estándares de seguridad del
sector y las prácticas recomendadas.

Resiliencia en AWS CloudShell


La infraestructura global de AWS está conformada por regiones y zonas de disponibilidad de AWS. Las
regiones de AWS proporcionan varias zonas de disponibilidad físicamente independientes y aisladas
que se encuentran conectadas mediante redes con un alto nivel de rendimiento y redundancia, además
de baja latencia. Con las zonas de disponibilidad, puede diseñar y utilizar aplicaciones y bases de datos
que realizan una conmutación por error automática entre las zonas sin interrupciones. Las zonas de
disponibilidad tienen una mayor disponibilidad, tolerancia a errores y escalabilidad que las infraestructuras
tradicionales de centros de datos únicos o múltiples.

Para obtener más información sobre las zonas de disponibilidad y las regiones de AWS, consulte
Infraestructura global de AWS.

Además de la infraestructura global de AWS, AWS CloudShell admite características específicas que lo
ayudan en sus necesidades de resiliencia y copia de seguridad de los datos.

• Confirme los archivos que cree y añada a AWS CodeCommit. Se trata de un servicio de control de
versiones alojado por Amazon Web Services que puede utilizar para almacenar y administrar de
forma privada recursos en la nube. Estos activos pueden constar de documentos, código fuente y
archivos binarios. Para obtener más información, consulte Tutorial: Uso de CodeCommit en AWS
CloudShell (p. 21).
• Utilice llamadas a la CLI de AWS para especificar archivos en su directorio principal en AWS CloudShell
y añadirlos como objetos en buckets de Amazon S3 Para ver un ejemplo, consulte el tutorial ??? (p. 9)de
introducción.

Seguridad de la infraestructura en AWS CloudShell


Al tratarse de un servicio administrado, AWS CloudShell está protegido por los procedimientos de
seguridad de red globales de AWS, que se describen en el documento técnico Amazon Web Services:
Información general sobre procesos de seguridad.

Puede utilizar llamadas a la API publicadas de AWS para obtener acceso a AWS CloudShell a través de
la red. Los clientes deben ser compatibles con Transport Layer Security (TLS) 1.2 o una versión posterior.
Le recomendamos TLS 1.2 o una versión posterior. Los clientes también deben ser compatibles con
conjuntos de cifrado con confidencialidad directa total (PFS) tales como Ephemeral Diffie-Hellman (DHE)
o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La mayoría de los sistemas modernos como Java 7 y
posteriores son compatibles con estos modos.

53
AWS: CloudShell Guía del usuario
Configuración y análisis de vulnerabilidades

Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso
secreta que esté asociada a una entidad principal de IAM. También puede utilizar AWS Security Token
Service (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.
Note

De forma predeterminada, AWS instala CloudShell automáticamente parches de seguridad para


los paquetes de sistema de sus entornos informáticos.

Configuración y análisis de vulnerabilidades en


AWS CloudShell
Es responsabilidad del CloudShell usuario de AWS asegurarse de que cualquier software de terceros
instalado en el entorno informático tenga parches y esté actualizado.

Prácticas recomendadas de seguridad para AWS


CloudShell
Las siguientes prácticas recomendadas son directrices generales y no suponen una solución de seguridad
completa. Puesto que es posible que estas prácticas recomendadas no sean adecuadas o suficientes para
el entorno, considérelas como consideraciones útiles en vez de normas.

Algunas prácticas recomendadas de seguridad para AWS CloudShell

• Utilice permisos y políticas de IAM para controlar el acceso a AWS CloudShell y garantizar que los
usuarios solo puedan realizar las acciones (descargar y cargar archivos, por ejemplo) necesarias para
su rol. Para obtener más información, consulte Administración del CloudShell acceso y el uso de AWS
con políticas de IAM (p. 48).
• Mantenga habilitada la característica Safe Paste para detectar posibles riesgos de seguridad en el texto
que ha copiado de fuentes externas. El pegado seguro está habilitado de forma predeterminada. Para
obtener más información, consulte Uso de pegado seguro para texto multilínea (p. 41).
• Estar familiarizado con el modelo de responsabilidad de seguridad compartida si ha instalado
aplicaciones de terceros en el entorno informático de AWS CloudShell.
• Prepare los mecanismos de restauración antes de editar los scripts de shell que afectan a la
experiencia del shell del usuario. Para obtener más información, consulte Modificación del shell con
scripts (p. 62).
• Almacene el código de forma segura en un sistema de control de versiones, por ejemplo, AWS
CodeCommit .

54
AWS: CloudShell Guía del usuario
Recursos del entorno informático

Entorno CloudShell informático de


AWS: especificaciones y software
Al lanzar AWS CloudShell, se crea un entorno informático basado en Amazon Linux 2 para alojar la
experiencia de shell. El entorno está configurado con recursos informáticos (vCPU y memoria) (p. 55)
y proporciona una amplia gama de software ??? (p. 55) preinstalado a los que se puede acceder
desde la línea de comandos. También puede configurar el entorno predeterminado instalando software y
modificando los scripts del shell.

Recursos del entorno informático


A cada entorno CloudShell informático de AWS 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 el siguiente almacenamiento:

• 1 GB de almacenamiento persistente (el almacenamiento persiste después de que finalice la sesión)

Para obtener más información, consulte Almacenamiento persistente (p. 71).


Important
En la actualidad, el entorno CloudShell informático de AWS no admite contenedores de Docker.

Software preinstalado
Note
Dado que el entorno de CloudShell desarrollo de AWS se actualiza periódicamente para
proporcionar acceso al software más reciente, no especificamos números de versión en esta
documentación. En su lugar, describimos cómo puede comprobar qué versión está instalada. A
menudo, esto se puede hacer escribiendo el nombre del programa seguido de la --version
opción (por ejemplo, git --version).

Shells
Shells preinstalados
Nombre Descripción Version information

Bash El shell Bash es la aplicación bash --version


de shell predeterminada para
CloudShellAWS.

PowerShell Al ofrecer una interfaz de línea (Get-Host).Version


de comandos y compatibilidad
con el lenguaje de scripting,
PowerShell se basa en el tiempo
de ejecución del lenguaje de

55
AWS: CloudShell Guía del usuario
Interfaces de línea de comandos (CLI) de AWS

Nombre Descripción Version information


comandos .NET de Microsoft.
PowerShell Los usan comandos
ligeros llamados cmdlets que
aceptan y devuelven objetos
de .NET.

Shell Z (zsh) El Z Shell, también conocido zsh --version


como zsh, es una versión
ampliada del Bourne Shell
que ofrece soporte de
personalización mejorado para
temas y complementos.

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


CLI

Nombre Descripción Version information

CLI de AWS La CLI de AWS es una interfaz aws --version


de línea de comandos que puede
utilizar para administrar varios
servicios de AWS desde la línea
de comandos y automatizarlos
mediante scripts. Para obtener
más información, consulte Uso
de los servicios de AWS en AWS
CloudShell (p. 37).

CLI de EB La CLI de AWS Elastic Beanstalk eb --version


proporciona una interfaz de línea
de comandos para simplificar
la creación, actualización y
monitorización de entornos
desde un repositorio local.

Para obtener más información,


consulte Uso de la interfaz de
línea de comandos de Elastic
Beanstalk (CLI de EB) en la Guía
para desarrolladores de AWS
Elastic Beanstalk.

CLI de Amazon ECS La interfaz de línea de comandos ecs-cli --version


(CLI) de Amazon Elastic
Container Service (Amazon ECS)
proporciona comandos de alto
nivel para simplificar la creación,
actualización y monitorización de
clústeres y tareas.

Para obtener más información,


consulte Uso de la interfaz
de línea de comandos de
Amazon ECS en la Guía para

56
AWS: CloudShell Guía del usuario
Tiempos de ejecución y SDKsAWS: [Link] y Python 3

Nombre Descripción Version information


desarrolladores de Amazon
Elastic Container Service.

CLI de AWS SAM AWS SAM CLI es una sam --version


herramienta de línea de
comandos que opera con
una plantilla de modelo de
aplicaciones sin servidor de
AWS y un código de aplicación.
Puede realizar varias tareas.
Estos incluyen invocar funciones
Lambda localmente, crear un
paquete de implementación
para su aplicación sin servidor
e implementar su aplicación sin
servidor en la nube de AWS.

Para obtener más información,


consulte la referencia de
comandos de la CLI de
AWS SAM en la Guía para
desarrolladores de modelos
de aplicaciones sin servidor de
AWS.

Tiempos de ejecución y SDKsAWS: [Link] y Python


3
Tiempos de ejecución y AWS SDKs

Nombre Descripción Version information

[Link] (con npm) [Link] es un tiempo de • [Link]: ([Link]:) node --


JavaScript ejecución diseñado version
para facilitar la aplicación de • npm: (npm:) npm --version
técnicas de programación
asíncronas. Para obtener
más información, consulte la
documentación en el sitio oficial
de [Link].

npm es un administrador de
paquetes que proporciona
acceso a un registro online
de JavaScript módulos. Para
obtener más información,
consulte la documentación en el
sitio oficial de npm.

SDK de para JavaScript en Este kit de desarrollo de npm -g ls --depth 0 2>/


[Link] software (SDK) ayuda a dev/null | grep aws-sdk
simplificar la codificación al
proporcionar JavaScript objetos
para los servicios de AWS,

57
AWS: CloudShell Guía del usuario
Herramientas de desarrollo y utilidades de shell

Nombre Descripción Version information


incluidos Amazon S3 Amazon
EC2DynamoDB, y Amazon SWF.
Para obtener más información,
consulte la Guía para JavaScript
desarrolladores de AWS SDK
para .

Python Tanto Python 3 como Python • Python 2: python --


2 están listos para su uso en version
el entorno del shell. Ahora • Python 3: python3 --
Python3 se considera la versión version
predeterminada del lenguaje de
• pip: (Pi:) pip3 --version
programación (la compatibilidad
con Python 2 finalizó en
enero de 2020). Para obtener
más información, consulte la
documentación en el sitio oficial
de Python.

También está preinstalado pip,


el instalador de paquetes de
Python. Este programa de línea
de comandos le permite instalar
paquetes de Python desde los
índices online, como el índice de
paquete de Python. Para obtener
más información, consulte la
documentación proporcionada
por Python Packaging Authority.

SDK para Python (Boto3) Boto es el kit de desarrollo de pip3 list | grep boto3
software (SDK) que permite a
los desarrolladores de Python
crear, configurar y administrar
servicios de AWS, como EC2 y
S3. El SDK proporciona una API
orientada a objetos fácil de usar,
así como 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 shell


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

CodeCommit : utilidad para Git git-remote-codecommit es una pip3 list | grep git-
utilidad que proporciona un remote-codecommit
método sencillo para insertar y
extraer código de CodeCommit
repositorios de mediante la

58
AWS: CloudShell Guía del usuario
Herramientas de desarrollo y utilidades de shell

Nombre Descripción Version information


ampliació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,


consulte Pasos de configuración
para conexiones HTTPS a
AWS CodeCommit con git-
remote-codecommit en la Guía
CodeCommitdel usuario de AWS.

Git Git es un sistema de control git --version


de versiones distribuido que
admite prácticas de desarrollo
de software modernas a
través de flujos de trabajo de
ramificaciones y ensayo de
contenido. Para obtener más
información, consulte la página
de documentación de en el sitio
oficial de Git.

iputils: El paquete iputils contiene Ejemplos de una herramienta


utilidades para redes de iputils: arping -V
Linux. Para obtener más
información sobre las utilidades
proporcionadas, consulte el
repositorio iputils en GitHub .

jq La utilidad jq analiza datos con jq --version


formato JSON para producir una
salida modificada por filtros de
línea de comandos. Para obtener
más información, consulte el jq
manual alojado en GitHub .

make La utilidad Make utiliza make --version


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.

59
AWS: CloudShell Guía del usuario
Herramientas de desarrollo y utilidades de shell

Nombre Descripción Version information

man El comando man proporciona make --version


páginas manuales para
herramientas y utilidades de
línea de comandos. Por ejemplo,
man ls devuelve la página del
manual del ls comando que
enumera el contenido de los
directorios. Para obtener más
información, consulte la entrada
de Wikipedia en la página man.

Procps de procps es una utilidad de ps --version


administración del sistema
que le permite monitorizar y
detener los procesos que se
están ejecutando actualmente.
Para obtener más información,
consulte el archivo README que
enumera los programas que se
pueden ejecutar con procps.

Cliente SSH Los clientes SSH utilizan el ssh -V


protocolo Secure Shell para las
comunicaciones cifradas con
un equipo remoto. OpenSSH
es el cliente SSH que está
preinstalado. Para obtener
más información, consulte el
OpenSSH sitio que mantiene
OpenBSD.

sudo Con la utilidad sudo, los usuarios sudo --version


pueden ejecutar un programa
con los privilegios de seguridad
de otro usuario, normalmente
el superusuario. Sudo resulta
útil cuando necesita instalar
aplicaciones como administración
del sistema. Para obtener más
información, consulte Sudo
Manual.

tar tar es una utilidad de línea de tar --version.


comandos que le permite agrupar
varios archivos en un único
archivo de almacenamiento (a
menudo denominado tarball).
Para obtener más información,
consulte la documentación tar de
GNU.

60
AWS: CloudShell Guía del usuario
Instalación de software en el entorno del shell

Nombre Descripción Version information

tmux tmux es un multiplexor de tmux -V


terminal que le permite
ejecutar diferentes programas
simultáneamente en varias
ventanas. Al ejecutarse, tmux
muestra información sobre la
sesión actual en una barra de
estado en la parte inferior de
la ventana. Para obtener más
información, consulte un blog
que proporciona una introducción
concisa a tmux.

unzip Consulte zip/unzip

: vim vim es un editor personalizable vim --version


con el que los usuarios
interactúan a través de una
interfaz basada en texto. Para
obtener más información,
consulte los recursos de
documentación proporcionados
en [Link].

wget wget es un programa informático wget --version


que se utiliza para recuperar
contenido de los servidores
web especificados por los
puntos de enlace de 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 unzip --version


un formato de archivo de
almacenamiento que proporciona zip --version
una compresión de datos sin
pérdida de datos sin pérdida
de datos. Llame al comando
zip para agrupar y comprimir
archivos en un solo archivo.
Utilice unzip para extraer
archivos de un archivo de
almacenamiento en un directorio
especificado.

Instalación de software en el entorno del shell


Note
Los clientes que instalen aplicaciones de terceros en el entorno informático CloudShellde AWS
deben estar familiarizados con el modelo de responsabilidad de seguridad compartida.

De forma predeterminada, todos los CloudShell usuarios de AWS tienen privilegios sudo. Por lo tanto,
puede utilizar el sudo comando para instalar software que aún no está disponible en el entorno informático

61
AWS: CloudShell Guía del usuario
Modificación del shell con scripts

del shell. Por ejemplo, puede utilizar sudo con la utilidad package-management de YUM para instalar el
editor de texto nano de GNU:

sudo yum install nano

A continuación, puede lanzar el programa recién instalado escribiendo nano.


Important

Las utilidades de administración de paquetes, como los programas de instalación de yum en


directorios (/user/binpor ejemplo) que se reciclan cuando finaliza la sesión del 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 del shell. El .bashrc script se ejecuta cada vez que se inicia el shell bash
predeterminado.
Warning

Si modifica incorrectamente el .bashrc archivo , es posible que no pueda obtener acceso al


entorno de shell posteriormente. Es una buena práctica hacer una copia del archivo antes de
editarlo. También puede mitigar el riesgo abriendo dos shells al editar .bashrc. Si pierde el
acceso en un shell, seguirá conectado al otro shell y podrá revertir los cambios.
Si pierde el acceso después de modificar incorrectamente .bashrc o cualquier otro archivo,
puede devolver AWS CloudShell a su configuración predeterminada eliminando su directorio
(p. 63)de inicio.

En el procedimiento, modificará el .bashrc script para que el entorno del shell cambie automáticamente a
ejecutar el shell Z.

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

vim .bashrc

2. En la interfaz del editor, pulse la tecla I para empezar a editar y añada lo siguiente:

zsh

3. Para salir y guardar el .bashrc archivo editado, pulse Esc para entrar en el modo de comando Vim y
escriba lo siguiente:

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

source .bashrc

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

62
AWS: CloudShell Guía del usuario
Eliminación del directorio principal

Eliminación del directorio principal


Warning

La eliminación del directorio principal es una acción irreversible. Todos los datos almacenados
en el directorio principal se eliminan de forma permanente. Sin embargo, es posible que desee
utilizar esta opción en las siguientes situaciones:

• Ha modificado incorrectamente un archivo y ahora no puede acceder al entorno CloudShell


informático de AWS. La eliminación del directorio principal devuelve a AWS CloudShell a su
configuración predeterminada.
• Desea eliminar todos sus datos de AWS CloudShell inmediatamente. Asimismo, si deja de
utilizar AWS CloudShell en una región de AWS, el almacenamiento persistente se elimina
automáticamente al final del periodo (p. 71) de retención, a menos que lance de CloudShell
nuevo AWS en la región.

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

Para eliminar el directorio principal y restablecer AWS CloudShell

1. Elija Actions (Acciones), Delete AWS home directory CloudShell(Eliminar directorio principal de AWS).
2. En el cuadro de diálogo, escriba la palabra "delete" (eliminar) para activar Delete (Eliminar).

63
AWS: CloudShell Guía del usuario
Eliminación del directorio principal

64
AWS: CloudShell Guía del usuario
Eliminación del directorio principal

3. Elija Eliminar.

Se crea un nuevo entorno CloudShell informático de AWS con la configuración predeterminada y se


inicia. Puede confirmar la eliminación ejecutando el ls comando en el directorio de inicio.

65
AWS: CloudShell Guía del usuario
No se puede lanzar AWS CloudShell con
el mensaje "No se puede iniciar el entorno.
No tiene permisos de acceso. Solicitar al
administrador de IAM el acceso a AWS CloudShell."

Solución de problemas de AWS


CloudShell
Utilice la siguiente información como ayuda para identificar y solucionar problemas con AWS CloudShell.

Si el problema no aparece en la lista o si necesita ayuda adicional, consulte el foro de CloudShell debate
de AWS. (Al entrar en este foro, es posible que AWS requiera que inicie sesión). También puede ponerse
en contacto con nosotros directamente.

Temas
• No se puede lanzar AWS CloudShell con el mensaje "No se puede iniciar el entorno. No tiene
permisos de acceso. Solicitar al administrador de IAM el acceso a AWS CloudShell." (p. 66)
• Error al llamar a un comando de la CLI de AWS en PowerShell: "No credentials specified or obtain from
persisted/shell defaults". (p. 66)
• No se puede obtener acceso a la línea de CloudShell comandos de AWS. (p. 67)
• No se pueden hacer ping a direcciones IP externas. (p. 68)

No se puede lanzar AWS CloudShell con el


mensaje "No se puede iniciar el entorno. No tiene
permisos de acceso. Solicitar al administrador de
IAM el acceso a AWS CloudShell."
Problema: al intentar lanzar AWS CloudShell desde la consola de administración de AWS, se le deniega el
acceso y se le notifica que no tiene permisos.

Causa: la identidad de IAM que utiliza para obtener acceso a AWS CloudShell carece de los permisos de
IAM necesarios.

Solución: solicite que el administrador de IAM le proporcione los permisos necesarios, ya sea a través de
una política administrada de AWS asociada (AWSCloudShellFullAccess) o una política insertada integrada.
Para obtener más información, consulte Administración del CloudShell acceso y el uso de AWS con
políticas de IAM (p. ).

(Volver arriba (p. 66))

Error al llamar a un comando de la CLI de AWS en


PowerShell: "No credentials specified or obtain from
persisted/shell defaults".
Problema: al llamar a un comando de AWS desde la línea de PowerShell comandos, se devuelve un error
de credenciales en lugar de la respuesta esperada del servicio de AWS.

66
AWS: CloudShell Guía del usuario
No se puede obtener acceso a la línea
de CloudShell comandos de AWS.

Causa: se produce un error de credenciales si PowerShell no puede encontrar las credenciales de AWS
necesarias para un comando de la CLI de AWS. En los sistemas operativos Linux, las credenciales de
AWS suelen almacenarse en ~/.aws/config.

Solución: puede resolver este problema creando un archivo de configuración con un perfil que obtenga las
credenciales temporales requeridas por la CLI de AWS.

Note
El paquete [Link] y los módulos de los servicios de AWS se instalan en el directorio principal.
No es necesario volver a instalarlos después de que finalice la sesión actual.

1. En AWS CloudShell, cambie a PowerShell:

pwsh

2. Instale el paquete del instalador [Link]:

PS /home/cloudshell-user> Install-Module -Name [Link]

3. Instale módulos [Link] para Amazon EC2 y Amazon S3:

PS /home/cloudshell-user> Install-AWSToolsModule [Link].EC2,[Link].S3 -CleanUp

4. Cree un directorio y utilice el touch comando para crear un config archivo vacío en él:

PS /home/cloudshell-user> mkdir ~/.aws


PS /home/cloudshell-user> touch ~/.aws/config

5. A continuación, edite el config archivo en un editor de texto (vim está preinstalado) y añada lo
siguiente:

[profile pwsh]
credential_process = bash -c 'curl -H "X-aws-ec2-metadata-token:
$AWS_CONTAINER_AUTHORIZATION_TOKEN" -v $AWS_CONTAINER_CREDENTIALS_FULL_URI | jq
"{AccessKeyId: .AccessKeyId, SecretAccessKey: .SecretAccessKey, SessionToken: .Token,
Expiration: .Expiration, Version: 1"}'

Cuando haya terminado, guarde el archivo y vuelva a la línea de comandos.


6. Ahora utilice Set-AWSCredential para especificar el pwsh perfil para la sesión actual:

PS /home/cloudshell-user> Set-AWSCredential -ProfileName pwsh

(Volver arriba (p. 66))

No se puede obtener acceso a la línea de


CloudShell comandos de AWS.
Problema: después de modificar un archivo que utiliza el entorno informático, no puede obtener acceso a la
línea de comandos en AWS CloudShell.

Solución: si pierde el acceso después de modificar incorrectamente .bashrc o cualquier otro


archivo, puede devolver AWS CloudShell a su configuración predeterminada eliminando el directorio
(p. 63)principal.

67
AWS: CloudShell Guía del usuario
No se pueden hacer ping a direcciones IP externas.

(Volver arriba (p. 66))

No se pueden hacer ping a direcciones IP externas.


Problema: al ejecutar un comando ping desde la línea de comandos (ping [Link] ejemplo),
recibe el siguiente mensaje:

ping: socket: Operation not permitted

Causa: la utilidad de ping utiliza el Protocolo de mensajes de control de Internet (ICMP) para enviar
paquetes de solicitudes de eco a un host de destino. A continuación, espera una respuesta de eco del
destino. Dado que el protocolo ICMP no está habilitado en AWS CloudShell, la utilidad de ping no funciona
en el entorno informático del shell.

(Volver arriba (p. 66))

68
AWS: CloudShell Guía del usuario

Navegadores compatibles con AWS


CloudShell
En la siguiente tabla se muestran los navegadores compatibles con AWS CloudShell.

Compatibilidad con navegador web

Navegador Version

Google Chrome Tres últimas versiones principales

Mozilla Firefox Tres últimas versiones principales

Microsoft Edge Tres últimas versiones principales

Apple Safari para macOS Dos últimas versiones principales

69
AWS: CloudShell Guía del usuario

Regiones de AWS compatibles con


AWS CloudShell
Actualmente puede trabajar con AWS CloudShell en las siguientes regiones de AWS:

• [Link]. Este (Ohio)


• [Link]. Este (Norte de Virginia)
• [Link]. Oeste (Oregón)
• Asia Pacífico (Tokio)
• Europa (Irlanda)

70
AWS: CloudShell Guía del usuario
Almacenamiento persistente

Límites y restricciones de AWS


CloudShell
AWS CloudShell es un shell basado en navegador que se proporciona sin cargo adicional. Los límites y
restricciones se aplican a las siguientes áreas:

• Almacenamiento persistente (p. 71)


• Uso mensual (p. 71)
• Shells simultáneos (p. 72)
• Sesiones de shell (p. 72)
• Acceso a la red y transferencia de datos (p. 72)
• Archivos del sistema y recargas de páginas (p. 72)

Almacenamiento persistente
Con AWS CloudShell, dispone de almacenamiento persistente de 1 GB para cada región de AWS sin
costo alguno. El almacenamiento persistente se encuentra en su directorio principal ($HOME) y es privado
para usted. A diferencia de los recursos del entorno efímero que se reciclan después de que finalice cada
sesión del shell, los datos del directorio principal persisten entre sesiones.

Si deja de utilizar AWS CloudShell en una región de AWS, los datos se conservan en el almacenamiento
persistente de esa región durante 120 días después del final de su última sesión. Después de 120 días, a
menos que tome las medidas necesarias, los datos se eliminarán automáticamente del almacenamiento
persistente de esa región. Puede evitar la eliminación simplemente lanzando de CloudShell nuevo AWS en
esa región de AWS.
Note

Escenario de uso
Márcia ha utilizado AWS CloudShell para almacenar archivos en sus directorios principales en dos
regiones de AWS: EE. UU. Este (Norte de Virginia) y Europa (Irlanda). A continuación, comenzó a
utilizar AWS CloudShell exclusivamente en Europa (Irlanda) y dejó de lanzar sesiones de shell en
EE. UU. Este (Norte de Virginia).
Antes de la fecha límite para la eliminación de datos en EE. UU. Este (Norte de Virginia), Márcia
decide evitar que su directorio principal se recicle lanzando AWS CloudShell y seleccionando de
nuevo la región EE. UU. Este (Norte de Virginia). Dado que ha utilizado continuamente Europa
(Irlanda) para sesiones de shell, su almacenamiento persistente en esa región no se ve afectado.

Uso mensual
Hay límites de uso mensuales de AWS CloudShell por región de AWS en su cuenta de AWS. Si intenta
obtener acceso a AWS CloudShell después de haber alcanzado el límite mensual de esa región, aparece
un mensaje para explicar por qué no se puede iniciar el entorno del shell.
Note

Si necesita aumentar sus límites de uso mensual, póngase en contacto con AWS Support.

71
AWS: CloudShell Guía del usuario
Shells simultáneos

Shells simultáneos
• Shells simultáneos: puede ejecutar un máximo de 10 shells al mismo tiempo en cada región de AWS sin
costo alguno.

Sesiones de shell
• Sesiones inactivas: AWS CloudShell es un entorno de shell interactivo; si no interactúa con él mediante
el teclado o el puntero durante aproximadamente 20-30 minutos, la sesión de shell finalizará. (Los
procesos en ejecución no cuentan como interacciones).
• Sesiones de ejecución prolongada: una sesión de shell que se haya estado ejecutando continuamente
durante aproximadamente 12 horas finalizará automáticamente, incluso si el usuario interactúa con ella
con regularidad durante ese periodo.

Acceso a la red y transferencia de datos


Las siguientes restricciones se aplican al tráfico de red que entra y sale del CloudShell entorno de AWS:

• Salida: los usuarios pueden obtener acceso a la Internet pública.


• Entrada: los usuarios no pueden acceder a los puertos de entrada. No hay ninguna dirección IP pública
disponible.

Warning

Con el acceso a la red pública de Internet, existe el riesgo de que determinados usuarios
puedan exportar datos desde el CloudShell entorno de AWS. Los administradores de IAM deben
administrar la lista de CloudShell usuarios de AWS de confianza mediante herramientas de IAM.
Para obtener información sobre cómo se puede denegar explícitamente el acceso a usuarios
específicos, consulte Administración de acciones permitidas en AWS CloudShell mediante
políticas personalizadas (p. 49).

Transferencia de datos: la carga y descarga de archivos hacia y desde AWS CloudShell puede ser lenta
para archivos grandes. También puede transferir archivos a su entorno desde un bucket de Amazon S3
mediante la interfaz de línea de comandos del shell.

Restricciones en los archivos del sistema y


recargas de páginas
• Archivos del sistema: si modifica archivos incorrectamente los que requiere el entorno informático, es
posible que experimente problemas al acceder o utilizar el CloudShell entorno de AWS. Si esto ocurre,
es posible que tenga que eliminar el directorio (p. 63) de inicio para recuperar el acceso.
• Recarga de páginas: para volver a cargar la CloudShell interfaz de AWS, debe utilizar el botón de
actualización de su navegador en lugar de la secuencia de teclas de acceso directo predeterminada para
su sistema operativo.

72
AWS: CloudShell Guía del usuario

Historial de revisión de la Guía


CloudShell del usuario de AWS
Actualizaciones recientes

En la siguiente tabla se describen cambios importantes en la Guía del CloudShell usuario de AWS.

update-history-change update-history-description update-history-date

Versión de disponibilidad general AWS ya CloudShell está 15 de diciembre de 2020


(GA) de AWS CloudShell en disponible con carácter general
determinadas regiones de en las siguientes regiones de
AWS (p. 73) AWS:

• [Link]. Este (Ohio)


• [Link]. Este (Norte de Virginia)
• [Link]. Oeste (Oregón)
• Asia Pacífico (Tokio)
• Europa (Irlanda)

73
AWS: CloudShell Guía del usuario

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.

lxxiv

También podría gustarte