Introducción a con () AWS CloudShell - AWS CloudShell

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Introducción a con () AWS CloudShell

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

En primer lugar, debe iniciar sesión en la Consola de administración de AWS y seleccionar una Región de AWS. A continuación, se inicia CloudShell en una nueva ventana del navegador y en un tipo de intérprete de comandos 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 llamar a comandos de la AWS CLI para crear un bucket de Amazon S3 y añadir su archivo como objeto al bucket.

Requisitos previos

Permisos de IAM

Puede obtener permisos de AWS CloudShell adjuntando la siguiente política de AWS administrada a su identidad de IAM (por ejemplo, un usuario, un rol o un grupo):

  • AWSCloudShellFullAccess: ofrece a los usuarios acceso completo a AWS CloudShell y sus funciones.

En este tutorial, también interactúa con los 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 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

Paso 1: regístrese en Consola de administración de AWS

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

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

    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/.

    • 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. Esta identidad tiene acceso completo a todos los Servicios de AWS y recursos 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: seleccione una región, inicie AWS CloudShell y elija un intérprete de comandos

En este paso, inicie CloudShell desde la interfaz de la consola, seleccione una Región de AWS disponible y cambie al intérprete de comandos que prefiera, por ejemplo Bash, PowerShell o Z shell.

  1. Para elegir una Región de AWS en la que trabajar, vaya al menú Seleccionar una región y seleccione una región de AWS compatible en la 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 CloudShell no está disponible en la región seleccionada al iniciar CloudShell en la Console Toolbar, 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, consulte Trabajar en las Regiones de AWS.

    Ejemplo

    Si elige Europa (España) eu-south-2 pero CloudShell no está disponible en Europa (España) eu-south-2, la región predeterminada se establece en Europa (Irlanda) eu-west-1, que es la más cercana a Europa (España) eu-south-2.

    Utilizará las cuotas de servicio para la región predeterminada, Europa (Irlanda) eu-west-1 y se restaurará la misma sesión de CloudShell en todas las regiones. Es posible que se cambie la región predeterminada y se le notificará en la ventana del navegador de CloudShell.

  2. Desde la Consola de administración de AWS, puede iniciar CloudShell eligiendo una de las siguientes opciones:

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

    2. En el cuadro Buscar, escriba “CloudShell” y, a continuación, seleccione CloudShell.

    3. En el widget Visitas recientes, seleccione CloudShell.

    4. Elija el icono de CloudShell en la esquina inferior izquierda de la Console Toolbar de la consola.

      • Puede ajustar la altura de la sesión de CloudShell arrastrando =.

      • Puede cambiar la sesión de CloudShell 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 AWS CloudShell, busque información para identificarlos y solucionarlos en Solución de problemas AWS CloudShell.

  3. 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

    Bash es el intérprete de comandos predeterminado que se ejecuta cuando inicia AWS CloudShell.

    PowerShell

    pwsh

    Si cambia 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 intérprete de comandos, consulte la tabla de intérprete de comandos en la sección del entorno de computación AWS CloudShell.

Paso 3: descargue un archivo desde AWS CloudShell

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.

  2. 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

  3. 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 Descargar no está disponible al iniciar CloudShell en la Console Toolbar. Puede descargar un archivo desde la consola de CloudShell o mediante el navegador web Chrome.

Paso 4: cargue un archivo en AWS CloudShell

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.

  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).

  2. 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.

  3. Elija Browse (Examinar).

  4. 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.

  5. 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.

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

  7. 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.

  8. 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.

  9. 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: elimine un archivo de AWS CloudShell

En este paso se describe cómo eliminar un archivo de AWS CloudShell.

  1. Para eliminar un archivo de AWS CloudShell, utilice comandos del intérprete de comandos estándar, como rm (eliminar).

    rm my-file-for-removal

  2. 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 usar AWS CloudShell en un Región de AWS específico. 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.

Paso 6: cree una copia de seguridad del directorio principal

En este paso se describe cómo crear una copia de seguridad del directorio principal.

  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"
    2. 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"
  2. Transfiera el archivo de respaldo fuera de CloudShell

    Puede usar una de las siguientes opciones para transferir el archivo de copia de seguridad fuera de 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 de CloudShell, consulte Descargar un archivo desde AWS CloudShell.

      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).

    2. 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.

  3. Copia de seguridad directamente en un bucket de S

    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

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.

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

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

  2. Para confirmar, seleccione Reiniciar.

    Una interfaz muestra un mensaje que indica que el entorno de computación de CloudShell 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

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 de computación AWS CloudShell. Al eliminar el directorio principal, AWS CloudShell restablece su configuración predeterminada.

  • Quiere eliminar todos sus datos de AWS CloudShell de forma inmediata. Si deja de usar AWS CloudShell en una región de AWS, el almacenamiento persistente se eliminará automáticamente al final del período de retención, a menos que vuelva a iniciar AWS CloudShell 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 notifica que al eliminar el directorio principal de AWS CloudShell se eliminan todos los datos almacenados actualmente en su entorno AWS CloudShell.

    nota

    Esta acción no se puede deshacer.

  2. 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 nuevo entorno o configurar un entorno de VPC de CloudShell.

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

  4. Para crear un entorno de VPC en CloudShell, 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

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.

  2. 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, 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.

  3. 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 sobre Vim y otras herramientas que están disponibles en AWS CloudShell, consulte Herramientas de desarrollo y utilidades de intérprete de comandos.

  4. 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: use AWS CLI para añadir el archivo como un objeto en un bucket de Amazon S3

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

nota

En este tutorial, se muestra cómo puede usar la AWS CLI en 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 una cuenta específica de una 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 cumple las reglas para asignar nombres a buckets, aparece el siguiente error: se ha producido un error (InvalidBucketName) al llamar a la operación CreateBucket: el bucket especificado no es válido.

  2. 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.