

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.

# Empezar con AWS CloudShell
<a name="getting-started"></a>

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

En primer lugar, debe iniciar sesión en Consola de administración de AWS y seleccionar una Región de AWS. Luego, abre CloudShell una nueva ventana del navegador y un tipo de shell con el que trabajar. 

A continuación, crea una nueva carpeta en su directorio principal y carga un archivo en ella desde su máquina local. Trabaja en ese archivo con un editor preinstalado antes de ejecutarlo como un programa desde la línea de comandos. Por último, debe AWS CLI ejecutar comandos para crear un bucket de Amazon S3 y añadir su archivo como objeto al bucket.

## Requisitos previos
<a name="getting-started-prerequesities"></a>

**Permisos de IAM**

Puede obtener permisos AWS CloudShell adjuntando la siguiente política AWS administrada a su identidad de IAM (por ejemplo, un usuario, un rol o un grupo):
+ **AWSCloudShellFullAccess**: Proporciona a los usuarios acceso completo a sus funciones AWS CloudShell y a sus funciones.

En este tutorial, también interactúa con Servicios de AWS. Más específicamente, se interactúa con Amazon S3 creando un bucket de S3 y añadiendo un objeto a ese bucket. Su identidad de IAM requiere una política que conceda, como mínimo, los permisos `s3:CreateBucket` y `s3:PutObject`. 

Para obtener más información, consulte [Acciones de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions) en la *Guía del usuario de Amazon Simple Storage Service*.

**Archivo de ejercicios**

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

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

Guarde el archivo con el nombre `add_prog.py`.

## Contenido
<a name="getting-started-contents"></a>
+ [Paso 1: Inicia sesión en Consola de administración de AWS](#start-session)
+ [Paso 2: selecciona una región, AWS CloudShell lánzala y elige un proyectil](#launch-region-shell)
+ [Paso 3: Descarga un archivo de AWS CloudShell](#download-file)
+ [Paso 4: Sube un archivo a AWS CloudShell](#folder-upload)
+ [Paso 5: Eliminar un archivo de AWS CloudShell](#remove-files)
+ [Paso 6: cree una copia de seguridad del directorio principal](#home-directory-backup)
+ [Paso 7: reinicie una sesión del intérprete de comandos](#restart-shell-session)
+ [Paso 8: elimine el directorio principal de una sesión de intérprete de comandos](#delete-shell-session)
+ [Paso 9: edite el código de tu archivo y ejecutarlo desde la línea de comandos](#edit-run)
+ [Paso 10: Se utiliza AWS CLI para añadir el archivo como un objeto en un bucket de Amazon S3](#s3-put)

## Paso 1: inicie sesión en Consola de administración de AWS
<a name="start-session"></a>

Este paso implica introducir su información de usuario de IAM para acceder al Consola de administración de AWS. Si ya está en la consola, vaya al [paso 2](#launch-region-shell). 
+ Puede acceder a ella Consola de administración de AWS mediante la URL de inicio de sesión de un usuario de IAM o accediendo a la página de inicio de sesión principal.

------
#### [ IAM user sign-in URL ]
  + Abra un navegador y escriba la siguiente URL de inicio de sesión. Sustituya `account_alias_or_id` por el alias o el ID de cuenta que haya proporcionado el administrador.

    ```
    https://account_alias_or_id.signin.aws.amazon.com/console/
    ```
  + Introduzca sus credenciales de inicio de sesión de IAM y seleccione **Iniciar sesión**.

------
#### [ Main sign-in page ]
  + Abra [https://aws.amazon.com/console/](https://aws.amazon.com/console/).
  + Si no ha iniciado sesión anteriormente en este navegador, aparecerá la página principal de inicio de sesión. Elija usuario de IAM, introduzca el alias de cuenta o el ID de cuenta y elija **Siguiente**.
  + Si ha iniciado sesión anteriormente como usuario de IAM. Es posible que el navegador recuerde el alias o el ID de la cuenta de Cuenta de AWS. En ese caso, introduzca sus credenciales de inicio de sesión de IAM y seleccione **Registrarse**.

------
**nota**  
También puede iniciar sesión como [usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/). Esta identidad tiene acceso completo a todos los recursos Servicios de AWS de la cuenta. Se recomienda encarecidamente no utilizar el usuario raíz para las tareas cotidianas, ni siquiera para 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: selecciona una región, AWS CloudShell lánzala y elige un caparazón
<a name="launch-region-shell"></a>

En este paso, lo ejecutas CloudShell desde la interfaz de la consola, eliges una disponible Región de AWS y cambias a la consola que prefierasBash, como PowerShell, oZ shell.

1. Para elegir una región en la Región de AWS que trabajar, ve al menú **Selecciona una región** y selecciona una [AWS región compatible en la](supported-aws-regions.md) que trabajar. (Las regiones disponibles aparecen resaltadas).
**importante**  
Si cambia de región, la interfaz se actualiza y el nombre de la Región de AWS seleccionada aparece sobre el texto de la línea de comandos. Todos los archivos que añada al almacenamiento persistente solo estarán disponibles en esta misma Región de AWS. Si cambia de región, podrá acceder a diferentes archivos y almacenamiento.
**importante**  
Si no CloudShell está disponible en la región seleccionada al iniciar CloudShell la Console Toolbar consola en la parte inferior izquierda de la consola, la región predeterminada se establece en la región más cercana a la región seleccionada. Puede ejecutar el comando que proporciona permisos para administrar los recursos en una región diferente a la región predeterminada. Para obtener más información, consulta [Trabajar en Regiones de AWS](working-with-aws-cloudshell.md#region-selection).  

**Example**  
**Ejemplo**  
Si eliges Europa (España) eu-south-2 pero no CloudShell está disponible en Europa (España)eu-south-2, la región predeterminada se establece en Europa (Irlandaeu-west-1), que es la más cercana a Europa (Españaeu-south-2).   
Utilizará las cuotas de servicio de la región predeterminada, Europa (Irlandaeu-west-1), y se restablecerá la CloudShell misma sesión en todas las regiones. Es posible que se cambie la región predeterminada y se le notificará en la ventana CloudShell del navegador.

1. Desde el Consola de administración de AWS, puede iniciar CloudShell seleccionando una de las siguientes opciones:

   1. En la barra de navegación, elija el icono **CloudShell**.

   1. En el cuadro **de búsqueda**, escribe «CloudShell» y, a continuación, selecciona **CloudShell**.

   1. En el widget **Visitados recientemente**, selecciona **CloudShell**.

   1. Elige **CloudShell**enConsole Toolbar, en la parte inferior izquierda de la consola. 
      + Puedes ajustar la altura de la CloudShell sesión arrastrándola`=`. 
      + Puede cambiar la CloudShell sesión a pantalla completa haciendo clic **en Abrir en una nueva pestaña del navegador**.

   Cuando aparece el símbolo del sistema, el shell está listo para la interacción.
**nota**  
Si encuentra problemas que le impiden iniciar o interactuar correctamente con ellos AWS CloudShell, busque información para identificarlos y solucionarlos[Solución de problemas AWS CloudShell](troubleshooting.md).

1. Para elegir un intérprete de comandos preinstalado con el que trabajar, introduzca uno de los siguientes nombres de programas en el símbolo del sistema.

------
#### [ Bash ]

   `bash`

   Si cambia a Bash, el símbolo de la línea de comandos se actualizará a `$`.

**nota**  
Bashes el shell predeterminado que se ejecuta cuando lo lanzas AWS CloudShell.

------
#### [ PowerShell ]

   `pwsh`

   Si cambias a PowerShell, el símbolo de la línea de comandos se actualizará a`PS>`.

------
#### [ Z shell ]

   `zsh`

   Si cambia a Z shell, el símbolo de la línea de comandos se actualizará a `%`.

------

   Para obtener información sobre las versiones preinstaladas en su entorno de shell, consulte la [tabla de shells](vm-specs.md#installed-shells) en la sección de [entornos de CloudShell cómputo de AWS](vm-specs.md).

## Paso 3: Descargue un archivo de AWS CloudShell
<a name="download-file"></a>

**nota**  
Esta opción no está disponible para los entornos de VPC.

En este paso, se detalla el proceso de descarga de un archivo.

1. Para descargar un archivo, ve a **Acciones** y selecciona **Descargar archivo** en el menú.

   Aparece el cuadro de diálogo **Descargar archivo**.

1. En el cuadro de diálogo **Descargar archivo**, introduzca la ruta del archivo que se va a descargar.
**nota**  
Puede utilizar rutas absolutas o relativas al especificar un archivo para su descarga. Con nombres de ruta relativos, `/home/cloudshell-user/` se añade automáticamente al inicio de forma predeterminada. Por lo tanto, para descargar un archivo llamado “`mydownload-file`“, las dos rutas siguientes son válidas:  
**Ruta absoluta:** `/home/cloudshell-user/subfolder/mydownloadfile.txt`
**Ruta relativa:** `subfolder/mydownloadfile.txt`

1. Elija **Descargar**.

   Si la ruta del archivo es correcta, aparece un cuadro de diálogo. Puede utilizar este cuadro de diálogo para abrir el archivo con la aplicación por defecto. O puede guardar el archivo en una carpeta de su equipo local.

**nota**  
La opción de descarga no está disponible cuando se inicia CloudShell enConsole Toolbar. Puedes descargar un archivo desde la CloudShell consola o mediante el navegador web Chrome. 

## Paso 4: Sube un archivo a AWS CloudShell
<a name="folder-upload"></a>

**nota**  
Esta opción no está disponible para los entornos de VPC.

En este paso se describe cómo cargar un archivo y, a continuación, moverlo a un nuevo directorio del directorio principal.<a name="create-folder-upload-file"></a>

1. Para comprobar su directorio de trabajo actual, introduzca el siguiente comando en la línea de comandos:

   `pwd`

   Al pulsar **Intro**, el intérprete de comandos devuelve su directorio de trabajo actual (por ejemplo, `/home/cloudshell-user`). 

1. Para subir un archivo a este directorio, vaya a **Acciones** y seleccione **Cargar archivo** en el menú.

   Aparece el cuadro de diálogo **Cargar archivo**.

1. Elija **Browse (Examinar)**.

1. En el cuadro de diálogo de **Carga de archivos** de su sistema, seleccione el archivo de texto que creó para este tutorial (`add_prog.py`) y elija **Abrir**.

1. En el cuadro de diálogo **Añadir archivos**, seleccione **Cargar**.

   Una barra de progreso registra la carga. Si la carga se ha realizado correctamente, un mensaje confirmará que `add_prog.py` se ha añadido a la raíz de su directorio principal.

1. Para crear un directorio para el archivo, introduzca el comando make directories: `mkdir mysub_dir`.

1. Para mover el archivo cargado de la raíz de su directorio principal al nuevo directorio, use el comando `mv`:

   `mv add_prog.py mysub_dir`.

1. Para cambiar el directorio de trabajo al nuevo directorio, introduzca `cd mysub_dir`.

   La línea de comandos se actualiza para indicar que ha cambiado el directorio de trabajo.

1. Para ver el contenido del directorio actual, `mysub_dir`, introduzca el comando `ls`.

   Se muestra el contenido del directorio de trabajo. Esto incluye el archivo que acaba de cargar.

## Paso 5: Eliminar un archivo de AWS CloudShell
<a name="remove-files"></a>

En este paso se describe cómo eliminar un archivo de AWS CloudShell.<a name="remove-files-proc"></a>

1. Para eliminar un archivo de AWS CloudShell, utilice comandos de shell estándar, como `rm` (eliminar).

   `rm my-file-for-removal`

1. Para eliminar varios archivos que cumplan los criterios especificados, ejecute el comando `find`. 

   En el siguiente ejemplo, se eliminan todos los archivos que incluyen el sufijo “.pdf” en sus nombres.

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

**nota**  
Supongamos que deja de usarlo AWS CloudShell en un lugar específico Región de AWS. Luego, los datos que se encuentran en el almacenamiento persistente de esa región se eliminan automáticamente después de un período específico. Para obtener más información, consulte [Almacenamiento persistente](limits.md#persistent-storage-limitations).

## Paso 6: cree una copia de seguridad del directorio principal
<a name="home-directory-backup"></a>

En este paso se describe cómo crear una copia de seguridad del directorio principal.<a name="home-directory-backup-proc"></a>

1. **Crear una copia de seguridad**

   Cree una carpeta temporal fuera del directorio principal.

   ```
   HOME_BACKUP_DIR=$(mktemp --directory)
   ```

   Puede utilizar uno de las siguientes opciones para crear una política de copia de seguridad:

   1. **Cree un archivo de respaldo con tar**

      Para crear un archivo de copia de seguridad mediante tar, escriba el siguiente comando:

      ```
      tar \
          --create \
          --gzip \
          --verbose \
          --file=${HOME_BACKUP_DIR}/home.tar.gz \
          [--exclude ${HOME}/.cache] \ // Optional
          ${HOME}/
      echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.tar.gz"
      ```

   1. **Cree un archivo de respaldo mediante zip**

      Para crear un archivo de copia de seguridad mediante zip, escriba el siguiente comando:

      ```
      zip \
          --recurse-paths \
          ${HOME_BACKUP_DIR}/home.zip \
          ${HOME} \
          [--exclude ${HOME}/.cache/\*] // Optional
      echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.zip"
      ```

1. **Transfiera el archivo de respaldo al exterior CloudShell** 

   Puede utilizar una de las siguientes opciones para transferir el archivo de copia de seguridad al exterior CloudShell:

   1. **Descargue el archivo de copia de seguridad en su máquina local**

      Puede descargar el archivo creado en el paso anterior. Para obtener más información sobre cómo descargar un archivo desde CloudShell, consulte [Descargar un archivo desde AWS CloudShell](#download-file).

      En el cuadro de diálogo de descarga del archivo, introduzca la ruta del archivo que se va a descargar (por ejemplo, `/tmp/tmp.iA99tD9L98/home.tar.gz`).

   1. **Transfiera el archivo de copia de seguridad a S3**

      Escriba el siguiente comando para generar el bucket:

      ```
      aws s3 mb s3://${BUCKET_NAME}
      ```

      Utilice la CLI de AWS para copiar el archivo en el bucket de S3:

      ```
      aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}
      ```
**nota**  
Es posible que se apliquen cargos por transferencia de datos.

1. **Copia de seguridad directamente en un bucket de S3**

   Para realizar una copia de seguridad directamente en un bucket de S3, escriba el siguiente comando:

   ```
   aws s3 cp \
       ${HOME}/ \
       s3://${BUCKET_NAME} \
       --recursive \
       [--exclude .cache/\*] // Optional
   ```

## Paso 7: reinicie una sesión del intérprete de comandos
<a name="restart-shell-session"></a>

En este paso se describe cómo reiniciar una sesión del intérprete de comandos.

**nota**  
Como medida de seguridad, si no interactúa con el intérprete de comandos mediante el teclado o el puntero durante un período prolongado, la sesión se detiene automáticamente. Las sesiones de larga duración también se detienen automáticamente. Para obtener más información, consulte [Sesiones del intérprete de comandos](limits.md#session-lifecycle-limitations).

1. Para reiniciar una sesión del intérprete de comandos, seleccione **Acciones**, **Reiniciar**.

   Se le notificará que al reiniciar se detendrán todas AWS CloudShell las sesiones activas en la sesión actual. Región de AWS

1. Para confirmar, seleccione **Reiniciar**.

   Una interfaz muestra un mensaje que indica que el entorno CloudShell informático se está deteniendo. Cuando el entorno se haya detenido y reiniciado, puede empezar a trabajar con la línea de comandos en una nueva sesión.
**nota**  
En algunos casos, es posible que el entorno tarde unos minutos en reiniciarse.

## Paso 8: elimine el directorio principal de una sesión de intérprete de comandos
<a name="delete-shell-session"></a>

En este paso se describe cómo eliminar una sesión del intérprete de comandos.

**nota**  
Esta opción no está disponible para los entornos de VPC. Al reiniciar un entorno de VPC, se elimina su directorio principal. 

**aviso**  
Eliminar el directorio principal es una acción irreversible en la que todos los datos almacenados en el directorio principal se eliminan de forma permanente. Sin embargo, es posible que desee considerar esta opción en las siguientes situaciones:   
Modificó un archivo de forma incorrecta y no puede acceder al entorno AWS CloudShell informático. Al eliminar el directorio principal, AWS CloudShell se restablece su configuración predeterminada.
Quieres eliminar todos tus datos de AWS CloudShell forma inmediata. Si dejas de usarlo AWS CloudShell en una AWS región, el almacenamiento persistente se [eliminará automáticamente al final del período de retención](limits.md#persistent-storage-limitations), a menos que AWS CloudShell vuelvas a iniciarlo en esa región.
Si necesita un almacenamiento prolongado para sus archivos, considere la posibilidad de utilizar un servicio como Amazon S3. 

1. Para eliminar una sesión del intérprete de comandos, elija **Acciones**, **Eliminar**.

   Se le notificará que, al eliminar el AWS CloudShell directorio principal, se eliminarán todos los datos almacenados actualmente en su AWS CloudShell entorno.
**nota**  
Esta acción no se puede deshacer.

1. Para confirmar la eliminación, escriba el nombre de la ubicación en el campo de entrada de texto y elija **Eliminar**.

   AWS CloudShell detiene todas las sesiones activas en la Región de AWS actual. Puede crear un entorno nuevo o configurar un entorno de CloudShell VPC.

1. Para crear un nuevo entorno, elija **Abrir una pestaña**.

1. Para crear un entorno de CloudShell VPC, elija **Crear un entorno de VPC**.

   **Salir manualmente de las sesiones del intérprete de comandos**

   Con la línea de comandos, puede salir de una sesión de intérprete de comandos y cerrar sesión mediante el comando `exit`. A continuación, puede pulsar cualquier tecla para volver a conectarse y seguir utilizando AWS CloudShell.

## Paso 9: edite el código de su archivo y ejecútelo usando la línea de comandos
<a name="edit-run"></a>

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

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

   `vim add_prog.py`

   La interfaz del intérprete de comandos se actualiza para mostrar el editor Vim.

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

   ```
   import sys
   x=int(sys.argv[1])
   y=int(sys.argv[2])
   z=int(sys.argv[3])
   sum=x+y+z
   print("The sum is",sum)
   ```
**nota**  
Si pega el texto en el editor y tiene habilitada la [característica de pegado seguro](customizing-cshell.md#safe-paste-enable), aparecerá una advertencia. El texto de líneas múltiples que se copia puede contener scripts maliciosos. Con la característica de pegado seguro, puede verificar el texto completo antes de pegarlo. Si está seguro de que el texto es seguro, elija **Pegar**.

1. Tras editar el programa, pulse **Esc** para entrar en el modo de comando Vim. A continuación, introduzca el comando `:wq` para guardar el archivo y salir del editor.

   
**nota**  
Si es nuevo en el modo de comandos Vim, puede que al principio le resulte difícil cambiar entre el modo de comando y el modo de inserción. El modo de comando se utiliza al guardar archivos y salir de la aplicación. El modo de inserción se utiliza al insertar texto nuevo. Para entrar en el modo de inserción, pulse **I**, para entrar en el modo de comando, pulse **Esc**. Para obtener más información Vim y otras herramientas disponibles en AWS CloudShell, consulte. [Herramientas de desarrollo y utilidades de intérprete de comandos](vm-specs.md#utilities-installed)

1. En la interfaz de la línea de comandos principal, ejecute el siguiente programa y especifique tres números para la entrada. La sintaxis es la siguiente.

   `python3 add_prog.py 4 5 6`

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

## Paso 10: Se utiliza AWS CLI para añadir el archivo como un objeto en un bucket de Amazon S3
<a name="s3-put"></a>

En este paso, crea un depósito de Amazon S3 y, a continuación, utiliza el **PutObject**método para añadir el archivo de código como un objeto en ese depósito.

**nota**  
En este tutorial se muestra cómo puede usarlo AWS CLI AWS CloudShell para interactuar con otros servicios de AWS. Al usar este método, no necesita descargar o instalar recursos adicionales. Además, dado que ya está autenticado en el intérprete de comandos, no tiene que configurar las credenciales antes de realizar llamadas.

1. Para crear un bucket en un segmento específico Región de AWS, introduzca el siguiente comando:

   ```
   aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
   ```
**nota**  
Si va a crear un depósito fuera de la región `us-east-1`, añada `create-bucket-configuration` con el parámetro `LocationConstraint` para especificar la región. A continuación, se muestra un ejemplo sintaxis .  

   ```
   $ aws s3api create-bucket --bucket my-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1
   ```

   Si la llamada se realiza correctamente, la línea de comandos muestra una respuesta del servicio similar a la siguiente salida.

   ```
   {
       "Location": "/insert-unique-bucket-name-here"
   }
   ```
**nota**  
Si no sigue [las reglas para asignar nombres a los depósitos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules), aparece el siguiente error: Se ha producido un error (InvalidBucketName) al llamar a la CreateBucket operación: el depósito especificado no es válido.

1. Para cargar un archivo y añadirlo como un objeto al bucket que acabas de crear, llama al método **PutObject**.

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

   Después de cargar el objeto en el bucket de Amazon S3, la línea de comandos muestra una respuesta del servicio similar a la siguiente salida:

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

   `ETag` es el hash del objeto que se almacenó. Puede usar este hash para [comprobar la integridad del objeto cargado en Amazon S3](https://repost.aws/knowledge-center/data-integrity-s3).

## Temas relacionados
<a name="related-topics-started"></a>
+ [Administre AWS los servicios desde CLI en CloudShell](working-with-aws-cli.md)
+ [Copiar varios archivos entre su máquina local y CloudShell](multiple-files-upload-download.md)
+ [AWS CloudShell Conceptos](working-with-aws-cloudshell.md)
+ [Personalización de tu experiencia AWS CloudShellUso AWS CloudShell en Amazon VPC](customizing-cshell.md)