arrow_back

Cómo comenzar a utilizar Cloud Shell y gcloud

Unirse Acceder

Cómo comenzar a utilizar Cloud Shell y gcloud

45 minutos 1 crédito

GSP002

Labs de autoaprendizaje de Google Cloud

Descripción general

Cloud Shell le 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 le facilita la administración de sus recursos y proyectos de Google Cloud. La herramienta de línea de comandos gcloud y otras utilidades que necesita vienen preinstaladas en Cloud Shell; esto le permite ponerse en marcha rápidamente.

En este lab práctico, aprenderá a conectarse a recursos de procesamiento alojados en Google Cloud con Cloud Shell mediante la herramienta gcloud.

Se lo incentiva a que usted mismo escriba 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, puede 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

  • Estar familiarizado con editores de texto estándares de Linux, como Vim, Emacs o nano

Configuración

Antes de hacer clic en el botón Comenzar lab

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

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, le proporciona credenciales temporales nuevas que utilizará para acceder a Google Cloud durante todo el lab.

Qué necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de Google Cloud, no los use para este lab.

Nota: Si usa un dispositivo con Chrome OS, ejecute este lab en una ventana de incógnito.

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

Active Google Cloud Shell

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

  1. En GCP Console, en la barra de herramientas superior derecha, haga clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell

  2. Haga clic en Continue (Continuar):

    cloudshell_continue

Toma unos minutos aprovisionar y conectarse con el entorno. Cuando está conectado, ya está autenticado y el proyecto está configurado en su PROJECT_ID . Por ejemplo:

Terminal de Cloud Shell

gcloud es la herramienta de línea de comandos para Google Cloud Platform. Viene preinstalada en Cloud Shell y es compatible con la función “tab-completion”.

Puede mostrar el nombre de la cuenta activa con este comando:

gcloud auth list

Resultado:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

Puede mostrar el ID del proyecto con este comando:

gcloud config list project
	

Resultado:

[core]
project = <project_ID>
	

Resultado de ejemplo:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Tras activar Cloud Shell, puede utilizar 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á su 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. Su directorio $HOME es privado, por lo que otros usuarios no pueden acceder a él.

Tarea 1: Configure el entorno

En esta sección, aprenderá 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 puede ejecutar sus 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 imagen, se muestran las zonas en sus respectivas regiones:

Western US Central US Eastern US Western Europe Eastern Asia
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 aisia-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 desea conectar un disco persistente a una instancia de máquina virtual, ambos recursos deben estar en la misma zona. De manera similar, si desea asignar una dirección IP estática a una instancia, ambas deben estar en la misma región.

Consulte la documentación sobre regiones y zonas para ver una lista de todas ellas y obtener más información.
  1. Establezca la región en .
gcloud config set compute/region {{{project_0.startup_script.project_region}}}
  1. Para ver la configuración de la región del proyecto, ejecute el siguiente comando:
gcloud config get-value compute/region
  1. Establezca la zona en .
gcloud config set compute/zone {{{project_0.startup_script.project_zone}}}
  1. Para ver la configuración de la zona del proyecto, ejecute el siguiente comando:
gcloud config get-value compute/zone

Cómo encontrar la información del proyecto

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

  • En la sección Información del proyecto del panel de Google Cloud Console (haga clic en Menú de navegación [Menú de navegación] y luego en Página principal > Panel)

  • En la pestaña de Qwiklabs, cerca del nombre de usuario y contraseña

  1. En Cloud Shell, ejecute el siguiente comando de gcloud para ver el ID de su proyecto:
gcloud config get-value project
  1. En Cloud Shell, ejecute el siguiente comando de gcloud para ver los detalles del proyecto:

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

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

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. Destine un tiempo para explorarla de forma más detallada.

Configure variables de entorno

Este tipo de variables definen su entorno y le permiten ahorrar tiempo cuando escribe secuencias de comandos que contienen API o ejecutables.

  1. Cree una variable de entorno para almacenar su ID de proyecto:

export PROJECT_ID=$(gcloud config get-value project)
  1. Cree una variable de entorno para almacenar su Zona:

export ZONE=$(gcloud config get-value compute/zone)
  1. Para verificar si las variables se establecieron correctamente, ejecute 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 su zona en el resultado.

Cree una máquina virtual con la herramienta gcloud

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

  1. Para crear la VM, ejecute 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}}} e2-medium 10.128.0.2 34.67.152.90 RUNNING

Detalles del comando

  • gcloud compute le permite administrar sus 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 omite la marca --zone, la herramienta gcloud inferirá la zona que desea según sus 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.

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar la tarea realizada. Si creó 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, ejecute lo siguiente:

gcloud compute instances create --help Nota: Presione Intro o la barra espaciadora a fin de desplazarse por el contenido de ayuda. Para salir del contenido, escriba Q.

Explore los comandos de gcloud

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

  1. Ejecute el siguiente comando:

gcloud -h

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

  1. Ejecute el siguiente comando:

gcloud config --help

Para salir, escriba Q y presione Enter.

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

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

  1. Visualice la lista de parámetros de configuración en su entorno:

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

gcloud config list --all
  1. Obtenga una lista de sus componentes:

gcloud components list

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

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

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

  1. Enumere las instancias de procesamiento disponibles en el proyecto.
gcloud compute instances list

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:

NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING
  1. Enumere la máquina virtual de gcelab2.
gcloud compute instances list --filter="name=('gcelab2')"

Resultado:

NAME: gcelab2 ZONE: {{{project_0.startup_script.project_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 pedimos 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. Enumere las reglas de firewall en el 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
  1. Enumere 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
  1. Enumere las reglas del firewall de la red predeterminada donde 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éctese 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 el mapeo del nombre de la instancia a la dirección IP.

  1. Para conectarse a su VM con SSH, ejecute 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)
  1. Para continuar, escriba Y.

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

Se conectó a la máquina virtual creada anteriormente en el lab. ¿Notó 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.
  1. Instale el servidor web nginx en la máquina virtual.
sudo apt install -y nginx
  1. Como no debe realizar ninguna acción aquí, ejecute el siguiente comando para desconectarse de SSH y salir de la shell remota:
exit

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

Tarea 4: Actualice el firewall

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

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

De acuerdo con el resultado anterior, vemos que tenemos dos redes disponibles. La red default es donde se encuentra nuestra máquina virtual gcelab2.

  1. Intente acceder al servicio nginx que se ejecuta en la máquina virtual gcelab2.

La comunicación con la máquina virtual fallará si esta no tiene una regla de firewall adecuada. Nuestro servidor web nginx espera comunicarse en tcp:80. Para que la comunicación funcione, necesitamos realizar estas acciones:

  • Agregar una etiqueta a la máquina virtual gcelab2
  • Agregar una regla de firewall para el tráfico http
  1. Agregue una etiqueta a la máquina virtual.
gcloud compute instances add-tags gcelab2 --tags http-server,https-server
  1. Actualice 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
  1. Enumere 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
  1. Verifique 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á el resultado predeterminado de nginx.

Tarea 5: Visualice los registros del sistema

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

  1. Visualice los registros disponibles en el sistema:

gcloud logging logs list

Resultado:

NAME projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/GCEGuestAgent projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/OSConfigAgent projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/autoscaler.googleapis.com%2Fstatus_change projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/cloudaudit.googleapis.com%2Factivity projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/cloudaudit.googleapis.com%2Fsystem_event projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fautoscaler projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Finstance_group_manager_events projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fshielded_vm_integrity projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Frequests projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Fstderr projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Fstdout
  1. Consulte los registros de procesamiento.

gcloud logging logs list --filter="compute"

Resultado:

NAME projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fautoscaler projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Finstance_group_manager_events projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fshielded_vm_integrity
  1. Lea los registros relacionados con el tipo de recurso de gce_instance.
gcloud logging read "resource.type=gce_instance" --limit 5
  1. Lea 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: Ponga a prueba sus conocimientos

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

¡Felicitaciones!

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

Finalice su Quest

insignia de finalización insignia de finalización del sdk

Este lab de autoaprendizaje forma parte de las Quests Google Cloud Essentials y Using the Cloud SDK Command Line de Qwiklabs. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completa esta Quest, obtendrá la insignia que se muestra arriba como reconocimiento de su logro. Puede hacer públicas sus insignias y agregar vínculos a ellas en su currículum en línea o en sus cuentas de redes sociales. Inscríbase en una Quest y obtenga un crédito inmediato de finalización por realizar este lab. Consulte otras Quests de Qwiklabs disponibles.

Realice su próximo lab

Continúe su Quest con Cómo aprovisionar servicios con Google Cloud Marketplace o consulte estas sugerencias:

Próximos pasos/Más información

Google Cloud Training & Certification

Aproveche al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarlo a ponerse en marcha rápidamente y a seguir aprendiendo. Para que pueda realizar nuestros cursos cuando más le convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: según demanda, presenciales y virtuales. Las certificaciones lo ayudan a validar y demostrar sus habilidades y experiencia en las tecnologías de Google Cloud.

Última actualización del manual: 18 agosto 2022
Prueba más reciente del lab: 18 agosto 2022

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