Puntos de control
Create a virtual machine with gcloud
/ 100
Cómo comenzar a utilizar Cloud Shell y gcloud
- GSP002
- Descripción general
- Configuración y requisitos
- Tarea 1: Configura el entorno
- Tarea 2: Filtra el resultado de la línea de comandos
- Tarea 3: Conéctate a la instancia de VM
- Tarea 4: Actualiza el firewall
- Tarea 5: Visualiza los registros del sistema
- Tarea 6: Pon a prueba tus conocimientos
- ¡Felicitaciones!
GSP002
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
onano
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)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
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 Cloud
- El tiempo restante
- Las credenciales temporales que debe usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
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 ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
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.
- Haz clic en 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:
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.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
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.
-
Establece la región en
gcloud config set compute/region {{{project_0.default_region | REGION}}} -
Para ver la configuración de la región del proyecto, ejecuta el siguiente comando:
gcloud config get-value compute/region -
Establece la zona en
: gcloud config set compute/zone {{{project_0.default_zone | ZONE}}} -
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
-
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 [] y, luego, en Descripción general de Cloud > Panel)
- En la pestaña del lab, cerca del nombre de usuario y contraseña
-
En Cloud Shell, ejecuta el siguiente comando de
gcloud
para ver el ID del proyecto:gcloud config get-value project -
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
nigoogle-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.
-
Crea una variable de entorno para almacenar tu ID de proyecto:
export PROJECT_ID=$(gcloud config get-value project) -
Crea una variable de entorno para almacenar tu zona:
export ZONE=$(gcloud config get-value compute/zone) -
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).
-
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.default_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 herramientagcloud
inferirá la zona que deseas según tus propiedades predeterminadas. Si en el comandocreate
no se especifica otra configuración necesaria sobre las instancias, comomachine type
oimage
, 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
.
-
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.
-
Ejecuta el siguiente comando:
gcloud config --help Para salir, escribe
Q
y presiona Intro. -
Ejecuta el siguiente comando:
gcloud help config Los resultados de los comandos
gcloud config --help
ygcloud 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. -
Visualiza la lista de parámetros de configuración en tu entorno:
gcloud config list -
Visualiza todas las propiedades y sus parámetros de configuración:
gcloud config list --all -
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.
-
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.default_zone | ZONE}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING -
Muestra la máquina virtual gcelab2:
gcloud compute instances list --filter="name=('gcelab2')" Resultado de ejemplo:
NAME: gcelab2 ZONE: {{{project_0.default_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.
-
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 -
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 -
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.
-
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) -
Para continuar, escribe Y.
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase) -
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.
-
Instala el servidor web
nginx
en la máquina virtual:sudo apt install -y nginx -
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.
-
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 virtualgcelab2
. -
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
-
Agrega una etiqueta a la máquina virtual:
gcloud compute instances add-tags gcelab2 --tags http-server,https-server -
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 -
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 -
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.
-
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 -
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 -
Lee los registros relacionados con el tipo de recurso de
gce_instance
:gcloud logging read "resource.type=gce_instance" --limit 5 -
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
-
Para obtener más información sobre Cloud Shell, consulta su documentación o mira el video de YouTube Using Google Cloud Shell.
-
Para obtener más información sobre
gcloud
, consulta su documentación o mira el video de YouTube Getting Help with gcloud.
Sigue aprendiendo con estos labs:
- Aprovisiona servicios con Google Cloud Marketplace
- Cómo crear un disco persistente
- Cómo configurar redes con gcloud
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.
Actualización más reciente del manual: 9 de septiembre de 2024
Prueba más reciente del lab: 9 de septiembre de 2024
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.