AWS CloudShell
AWS CloudShell
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
iv
AWS: CloudShell Guía del usuario
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.
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).
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
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).
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).
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).
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 más información, consulte Tutorial: Introducción a AWS CloudShell (p. 9).
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).
6
AWS: CloudShell Guía del usuario
¿En qué regiones de AWS está CloudShell disponible AWS?
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.
7
AWS: CloudShell Guía del usuario
¿Puedo instalar software que no esté
disponible en el entorno del shell?
8
AWS: CloudShell Guía del usuario
Prerequisites
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):
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)
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)
• 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.
[Link]
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
• 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
1. Desde la consola de administración de AWS, puede lanzar AWS CloudShell eligiendo las siguientes
opciones disponibles en la barra de navegació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
Bash
bash
pwsh
zsh
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
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.
1. Para editar el archivo que cargó en el paso anterior, escriba el siguiente comando:
vim add_prog.py
import sys
x=int([Link][1])
y=int([Link][2])
z=int([Link][3])
sum=x+y+z
print("The sum is",sum)
Note
: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
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:
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 :
19
AWS: CloudShell Guía del usuario
Temas relacionados
{
"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
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)
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.
{
"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).
cd MyDemoRepo
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:
22
AWS: CloudShell Guía del usuario
Tutorial: Creación de prefirmadas URLs
Note
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
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.
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]
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
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
if __name__ == "__main__":
main()
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
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
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.
• $: 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
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
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.
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:
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.
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.
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:
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).
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).
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
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
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.
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.
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.
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:
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.
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.
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.
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.
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.
El siguiente init comando inicializa un nuevo proyecto de SAM con los parámetros obligatorios
transferidos como parámetros:
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.
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.
40
AWS: CloudShell Guía del usuario
Cambio del tema de la interfaz
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 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)
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:
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 ).
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
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 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).
46
AWS: CloudShell Guía del usuario
Autenticación con identidades
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.
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.
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.
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.
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 .
{
"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
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.
Descargar archivos de
cloudshell:GetFileDownloadUrls No
CloudShell en un equipo local
49
AWS: CloudShell Guía del usuario
Administración del CloudShell acceso
y el uso de AWS con políticas de IAM
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": "*"
}]
}
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.
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.
• createEnvironment
• createSession
• deleteEnvironment
51
AWS: CloudShell Guía del usuario
Validación de la conformidad
• getEnvironmentStatus*
• getFileDownloadUrls*
• getFileUploadUrls*
• putCredentials
• redeemCode
• sendHeartBeat
• startEnvironment
• stopEnvironment
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.
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:
Para obtener más información, consulte Eventos y patrones de eventos en EventBridge en la Guía
EventBridgedel usuario de Amazon .
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.
52
AWS: CloudShell Guía del usuario
Resiliencia
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.
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
• 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
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
55
AWS: CloudShell Guía del usuario
Interfaces de línea de comandos (CLI) de AWS
56
AWS: CloudShell Guía del usuario
Tiempos de ejecución y SDKsAWS: [Link] y Python 3
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.
57
AWS: CloudShell Guía del usuario
Herramientas de desarrollo y utilidades de shell
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.
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
59
AWS: CloudShell Guía del usuario
Herramientas de desarrollo y utilidades de shell
60
AWS: CloudShell Guía del usuario
Instalación de software en el entorno del shell
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:
En el procedimiento, modificará el .bashrc script para que el entorno del shell cambie automáticamente a
ejecutar el shell Z.
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
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:
Si necesita almacenamiento a largo plazo para sus archivos, considere un servicio como Amazon
S3 o CodeCommit.
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.
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."
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)
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. ).
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.
pwsh
4. Cree un directorio y utilice el touch comando para crear un config archivo vacío en él:
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"}'
67
AWS: CloudShell Guía del usuario
No se pueden hacer ping a direcciones IP externas.
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.
68
AWS: CloudShell Guía del usuario
Navegador Version
69
AWS: CloudShell Guía del usuario
70
AWS: CloudShell Guía del usuario
Almacenamiento persistente
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.
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.
72
AWS: CloudShell Guía del usuario
En la siguiente tabla se describen cambios importantes en la Guía del CloudShell usuario de AWS.
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