arrow_back

Cómo comenzar a utilizar Cloud Shell y gcloud

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo comenzar a utilizar Cloud Shell y gcloud

Lab 45 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP002

Labs de autoaprendizaje de Google Cloud

Descripción general

Cloud Shell te brinda acceso de línea de comandos a los recursos de procesamiento alojados en Google Cloud. Cloud Shell es una máquina virtual basada en Debian con un directorio principal persistente de 5 GB, que te facilita la administración de tus recursos y proyectos de Google Cloud. La herramienta de línea de comandos gcloud y otras utilidades que necesitas vienen preinstaladas en Cloud Shell; esto te permite ponerte en marcha rápidamente.

En este lab práctico, aprenderás a conectarte a recursos de procesamiento alojados en Google Cloud con Cloud Shell a través de la herramienta gcloud.

Se te incentiva a que tú escribas los comandos, ya que eso refuerza los conceptos básicos. Muchos labs incluyen un bloque de código que contiene los comandos necesarios. Durante el lab, puedes copiar y pegar fácilmente los comandos del bloque de código en los lugares apropiados.

Actividades

  • Practicar el uso de los comandos de gcloud
  • Conectarse a los servicios de procesamiento alojados en Google Cloud

Requisitos previos

  • Conocer los editores de texto estándares de Linux, como Vim, Emacs o nano

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = <project_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Tras activar Cloud Shell, puedes usar la línea de comandos para invocar la herramienta gcloud del SDK de Cloud o cualquier otra que esté disponible en la instancia de la máquina virtual. Más adelante en el lab, usarás tu directorio $HOME, que se utiliza en el almacenamiento en disco persistente, para guardar archivos en los proyectos y hacer que persistan de una sesión de Cloud Shell a otra. Tu directorio $HOME es privado, por lo que otros usuarios no pueden acceder a él.

Tarea 1: Configura el entorno

En esta sección, aprenderás sobre los aspectos del entorno de desarrollo que se pueden ajustar.

Información sobre las regiones y zonas

Algunos recursos de Google Compute Engine se alojan en regiones o zonas. Una región es una ubicación geográfica específica donde puedes ejecutar tus recursos. Cada región tiene una o más zonas. Por ejemplo, la región us-central1 corresponde a una región en el centro de Estados Unidos que tiene las zonas us-central1-a, us-central1-b, us-central1-c y us-central1-f. En la siguiente tabla, se muestran las zonas en sus respectivas regiones:

Oeste de EE.UU. EE.UU. central Este de EE.UU. Europa Occidental Asia oriental
us-west1-a us-central1-a us-east1-b europe-west1-b asia-east1-a
us-west1-b us-central1-b us-east1-c europe-west1c asia-east1-b
- us-central1-c us-east1-d europe-west1-d asia-east1-c
- us-central1-f - - -

Los recursos alojados en zonas se denominan zonales. Las instancias de máquinas virtuales y los discos persistentes se alojan en zonas. Si deseas conectar un disco persistente a una instancia de máquina virtual, ambos recursos deben estar en la misma zona. De manera similar, si deseas asignar una dirección IP estática a una instancia, ambas deben estar en la misma región.

Nota: Obtén más información sobre las regiones y zonas, y revisa una lista completa de ellas en la documentación de Regiones y zonas de Google Cloud Compute Engine.
  1. Establece la región en

    gcloud config set compute/region {{{project_0.startup_script.project_region | REGION}}}
  2. Para ver la configuración de la región del proyecto, ejecuta el siguiente comando:

    gcloud config get-value compute/region
  3. Establece la zona en :

    gcloud config set compute/zone {{{project_0.startup_script.project_zone | ZONE}}}
  4. Para ver la configuración de la zona del proyecto, ejecuta el siguiente comando:

    gcloud config get-value compute/zone

Encuentra la información del proyecto

  1. Copia el ID del proyecto en el portapapeles o tu editor de texto. El ID del proyecto se encuentra en 2 lugares:

    • En el panel de la consola de Cloud, en Información del proyecto (haz clic en Menú de navegación [Ícono del menú de navegación] y, luego, en Descripción general de Cloud > Panel)
    • En la pestaña del lab, cerca del nombre de usuario y contraseña
  2. En Cloud Shell, ejecuta el siguiente comando de gcloud para ver el ID del proyecto:

    gcloud config get-value project
  3. En Cloud Shell, ejecuta el siguiente comando de gcloud para ver los detalles del proyecto:

    gcloud compute project-info describe --project $(gcloud config get-value project)

    Busca los valores de metadatos de la zona y región en el resultado. Usarás la zona (google-compute-default-zone) que obtengas del resultado más adelante en el lab.

    Nota: Si el resultado no contiene las claves ni los valores google-compute-default-region ni google-compute-default-zone, significa que no se estableció ninguna zona o región predeterminada. El resultado incluye más información útil sobre el proyecto. Destina un tiempo para explorarla de forma más detallada.

Configura variables de entorno

Este tipo de variables definen tu entorno y te permiten ahorrar tiempo cuando escribes secuencias de comandos que contienen APIs o ejecutables.

  1. Crea una variable de entorno para almacenar tu ID de proyecto:

    export PROJECT_ID=$(gcloud config get-value project)
  2. Crea una variable de entorno para almacenar tu zona:

    export ZONE=$(gcloud config get-value compute/zone)
  3. Para verificar si las variables se establecieron correctamente, ejecuta los siguientes comandos:

    echo -e "PROJECT ID: $PROJECT_ID\nZONE: $ZONE"

    Si se establecieron de forma correcta, los comandos echo mostrarán el ID del proyecto y tu zona en el resultado.

Crea una máquina virtual con la herramienta gcloud

Utiliza la herramienta gcloud para crear una nueva instancia de máquina virtual (VM).

  1. Para crear la VM, ejecuta el siguiente comando:

    gcloud compute instances create gcelab2 --machine-type e2-medium --zone $ZONE

    Resultado:

    Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-326fae68bc3d/zones/us-east1-c/instances/gcelab2]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gcelab2 {{{project_0.startup_script.project_zone | ZONE}}} e2-medium 10.128.0.2 34.67.152.90 RUNNING

    Detalles del comando

    • gcloud compute te permite administrar los recursos de Compute Engine en un formato más simple que con la API de Compute Engine.
    • instances create crea una nueva instancia.
    • gcelab2 es el nombre de la VM.
    • La marca --machine-type especifica el tipo de máquina como e2-medium.
    • La marca --zone especifica dónde se crea la VM.
    • Si omites la marca --zone, la herramienta gcloud inferirá la zona que deseas según tus propiedades predeterminadas. Si en el comando create no se especifica otra configuración necesaria sobre las instancias, como machine type o image, se establecerán los valores predeterminados.

    Prueba la tarea completada

    Haz clic en Revisar mi progreso para verificar la tarea realizada. Si creaste correctamente una máquina virtual con la herramienta gcloud, se mostrará una puntuación de evaluación.

    Crear una máquina virtual con gcloud
    • Para abrir la ayuda del comando create, ejecuta lo siguiente:
    gcloud compute instances create --help Nota: Presiona Intro o la barra espaciadora para desplazarte por el contenido de ayuda. Para salir del contenido, escribe Q.

Explora los comandos de gcloud

Para consultar los lineamientos de uso simples que ofrece gcloud, agrega la marca -h (que representa ayuda) al final de cualquier comando de gcloud.

  1. Ejecuta el siguiente comando:

    gcloud -h

Agrega la marca --help a un comando o ejecuta el comando gcloud help para acceder a ayuda más detallada.

  1. Ejecuta el siguiente comando:

    gcloud config --help

    Para salir, escribe Q y presiona Intro.

  2. Ejecuta el siguiente comando:

    gcloud help config

    Los resultados de los comandos gcloud config --help y gcloud help config son equivalentes. Ambos muestran ayuda completa y detallada.

    Hay marcas globales en gcloud que determinan el comportamiento de los comandos en un nivel por invocación. Las marcas anulan cualquier valor configurado en las propiedades de SDK.

  3. Visualiza la lista de parámetros de configuración en tu entorno:

    gcloud config list
  4. Visualiza todas las propiedades y sus parámetros de configuración:

    gcloud config list --all
  5. Obtén una lista de tus componentes:

    gcloud components list

    Con este comando, se muestran los componentes de gcloud que están listos para utilizarse en este lab.

Tarea 2: Filtra el resultado de la línea de comandos

La interfaz de línea de comandos (CLI) de gcloud es una herramienta potente que sirve para trabajar en la línea de comandos. Es posible que a veces quieras que se muestre información específica.

  1. Obtén una lista de las instancias de procesamiento disponibles en el proyecto:

    gcloud compute instances list Nota: Es muy común tener varios recursos implementados en un proyecto. Afortunadamente, gcloud tiene algunos formatos inteligentes que pueden ayudar a identificar recursos específicos.

    Resultado de ejemplo:

    NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING
  2. Muestra la máquina virtual gcelab2:

    gcloud compute instances list --filter="name=('gcelab2')"

    Resultado de ejemplo:

    NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING

En el comando anterior, le pediste a gcloud que solo muestre la información que coincida con los criterios, es decir, el nombre de una instancia virtual que coincida con los criterios.

  1. Obtén una lista de las reglas de firewall del proyecto:

    gcloud compute firewall-rules list

    Resultado:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False
  2. Obtén una lista de las reglas de firewall de la red predeterminada:

    gcloud compute firewall-rules list --filter="network='default'"

    Resultado:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False
  3. Obtén una lista de las reglas del firewall de la red predeterminada en la que la regla de permiso coincide con una regla ICMP:

    gcloud compute firewall-rules list --filter="NETWORK:'default' AND ALLOW:'icmp'"

    Resultado:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False

Tarea 3: Conéctate a la instancia de VM

gcloud compute facilita la conexión a las instancias. El comando gcloud compute ssh proporciona un wrapper para SSH, que se encarga de la autenticación y la asignación del nombre de la instancia a la dirección IP.

  1. Para conectarte a la VM con SSH, ejecuta el siguiente comando:

    gcloud compute ssh gcelab2 --zone $ZONE

    Resultado:

    WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. Do you want to continue? (Y/n)
  2. Para continuar, escribe Y.

    Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)
  3. Para dejar la frase de contraseña vacía, presiona Intro dos veces.

    Nota: Te conectaste a la máquina virtual creada anteriormente en el lab. ¿Notaste cómo cambió el símbolo del sistema?

    Ahora muestra algo similar a sa_107021519685252337470@gcelab2.

    • La referencia antes del símbolo @ indica que se está usando la cuenta.
    • Lo que aparece luego del símbolo @ indica la máquina anfitrión a la que se está accediendo.
  4. Instala el servidor web nginx en la máquina virtual:

    sudo apt install -y nginx
  5. Como no debes realizar ninguna acción aquí, ejecuta el siguiente comando para desconectarte de SSH y salir de la shell remota:

    exit

    Deberías estar de vuelta en el símbolo del sistema del proyecto.

Tarea 4: Actualiza el firewall

Cuando se utilizan recursos de procesamiento como las máquinas virtuales, es importante entender las reglas de firewall asociadas.

  1. Obtén una lista de las reglas de firewall del proyecto:

    gcloud compute firewall-rules list

    Resultado:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False

    En el ejemplo anterior, puedes ver que hay dos redes disponibles. La red default es donde se encuentra la máquina virtual gcelab2.

  2. Intenta acceder al servicio nginx que se ejecuta en la máquina virtual gcelab2.

    Nota: La comunicación con la máquina virtual fallará si esta no tiene una regla de firewall adecuada. El servidor web nginx espera comunicarse en tcp:80. Para que la comunicación funcione, debes hacer lo siguiente:

    • Agregar una etiqueta a la máquina virtual gcelab2
    • Agregar una regla de firewall para el tráfico http
  3. Agrega una etiqueta a la máquina virtual:

    gcloud compute instances add-tags gcelab2 --tags http-server,https-server
  4. Actualiza la regla de firewall para permitir la conexión:

    gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server
  5. Obtén una lista de las reglas de firewall del proyecto:

    gcloud compute firewall-rules list --filter=ALLOW:'80'

    Resultado:

    NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-http default INGRESS 1000 tcp:80 False
  6. Verifica que la comunicación de http a la máquina virtual sea posible:

    curl http://$(gcloud compute instances list --filter=name:gcelab2 --format='value(EXTERNAL_IP)')

Verás el resultado predeterminado de nginx.

Tarea 5: Visualiza los registros del sistema

Ver los registros es esencial para entender el funcionamiento de tu proyecto. Usa gcloud para acceder a los diferentes registros disponibles en Google Cloud.

  1. Visualiza los registros disponibles en el sistema:

    gcloud logging logs list

    Resultado:

    NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/GCEGuestAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/OSConfigAgent NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/autoscaler.googleapis.com%2Fstatus_change NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Factivity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fdata_access NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/cloudaudit.googleapis.com%2Fsystem_event NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstderr NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/run.googleapis.com%2Fstdout
  2. Consulta los registros relacionados con los recursos de procesamiento:

    gcloud logging logs list --filter="compute"

    Resultado:

    NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fautoscaler NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Finstance_group_manager_events NAME: projects/qwiklabs-gcp-01-4b75909db302/logs/compute.googleapis.com%2Fshielded_vm_integrity
  3. Lee los registros relacionados con el tipo de recurso de gce_instance:

    gcloud logging read "resource.type=gce_instance" --limit 5
  4. Lee los registros de una máquina virtual específica:

    gcloud logging read "resource.type=gce_instance AND labels.instance_name='gcelab2'" --limit 5

Tarea 6: Pon a prueba tus conocimientos

La siguiente pregunta de opción múltiple debería reforzar tus conocimientos sobre los conceptos de este lab.

¡Felicitaciones!

Aprendiste a iniciar Cloud Shell y ejecutar algunos comandos de gcloud de muestra.

Próximos pasos y más información

Sigue aprendiendo con estos labs:

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 26 de enero de 2024

Prueba más reciente del lab: 15 de septiembre de 2022

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.