Pon a prueba tus conocimientos y compártelos con nuestra comunidad
GSP460
Descripción general
En este lab, crearás archivos de configuración de Terraform con un módulo para automatizar la implementación de una red personalizada con recursos. En particular, implementarás 3 redes con instancias de VM y reglas de firewall.
Objetivos
Crear un archivo de configuración para una red en modo personalizado
Crear un archivo de configuración para una regla de firewall
Crear un módulo para instancias de VM
Crear un archivo de configuración para una red en modo automático
Crear e implementar un archivo de configuración
Verificar la implementación de un archivo de configuración
Instalación y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, 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 del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos 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: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
El botón para abrir la consola de Google Cloud
El tiempo restante
Las credenciales temporales que debes 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: Ordena 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 Cloud para este lab podría generar cargos adicionales.
Haz 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.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
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.
Haz clic para avanzar por las siguientes ventanas:
Continúa en la ventana de información de Cloud Shell.
Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API 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 {{{project_0.project_id | "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.
Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1: Instala Terraform y Cloud Shell
Terraform permite crear, cambiar y mejorar infraestructura de forma segura y predecible. Es una herramienta de código abierto que codifica las APIs en archivos de configuración declarativos que se pueden compartir entre los miembros de un equipo, tratar como código, editar, revisar o someter a control de versiones.
Inicializa Terraform
Terraform usa una arquitectura basada en complementos para admitir la gran cantidad de proveedores de infraestructura y servicios disponibles. Cada proveedor es su propio objeto binario encapsulado, que se distribuye independientemente de Terraform. Configura Google como proveedor para inicializar Terraform.
Crea un directorio para el archivo de configuración de Terraform ejecutando el siguiente comando:
mkdir tfnet
En Cloud Shell, haz clic en Abrir editor para abrir el editor de Cloud Shell. Haz clic en Abrir en una ventana nueva si es necesario.
Expande la carpeta tfnet en el panel de la izquierda del editor de código.
Para crear un archivo nuevo en la carpeta tfnet, haz clic en File > New File.
Asígnale el nombre provider.tf y, luego, ábrelo.
Copia este código en provider.tf:
provider "google" {}
Inicializa Terraform ejecutando los siguientes comandos:
cd tfnet
terraform init
El resultado debería verse así:
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Ya puedes comenzar a trabajar con Terraform en Cloud Shell.
Tarea 2: Crea managementnet y sus recursos
Crea la red en modo personalizado managementnet junto con su regla de firewall y su instancia de VM (managementnet-us-vm).
Configura managementnet
Crea un archivo de configuración nuevo y define managementnet.
Para crear un archivo nuevo, haz clic en File > New File.
Asígnale el nombre managementnet.tf y, luego, ábrelo.
Copia este código básico en managementnet.tf:
# Create the managementnet network
resource [RESOURCE_TYPE] "managementnet" {
name = [RESOURCE_NAME]
#RESOURCE properties go here
}
Esta plantilla básica es un excelente punto de partida para todos los recursos de Google Cloud. El campo name permite asignarle un nombre al recurso y el campo type permite especificar el recurso de Google Cloud que quieres crear. También puedes definir propiedades, aunque para algunos recursos son opcionales.
En managementnet.tf, reemplaza [RESOURCE_TYPE] por "google_compute_network".
En managementnet.tf, reemplaza [RESOURCE_NAME] por "managementnet".
Agrega esta propiedad a managementnet.tf:
auto_create_subnetworks = "false"
A diferencia de las redes en modo automático, las redes en modo personalizado no crean subredes automáticamente en cada región. Por lo tanto, debes configurar auto_create_subnetworks como false.
Verifica que managementnet.tf tenga el siguiente aspecto:
Para guardar managementnet.tf, haz clic en File > Save.
Agrega una subred a managementnet
Agrega managementsubnet-us a la red de VPC.
Agrega el siguiente recurso a managementnet.tf:
# Create managementsubnet-us subnetwork
resource "google_compute_subnetwork" "managementsubnet-us" {
name = "managementsubnet-us"
region = "{{{ project_0.default_region | Region 1 }}}"
network = google_compute_network.managementnet.self_link
ip_cidr_range = "10.130.0.0/20"
}
Nota: El recurso google_compute_subnetwork es una subred. En el archivo, se especifican el nombre, la región, la red de VPC y el rango de IP de CIDR para managementsubnet-us. Si necesitas más detalles sobre este recurso, consulta la documentación de Terraform.
Para guardar managementnet.tf, haz clic en File > Save.
Configura la regla de firewall
Define una regla de firewall para permitir el tráfico HTTP, SSH, RDP e ICMP en managementnet.
Agrega este código básico a managementnet.tf:
# Add a firewall rule to allow HTTP, SSH, RDP and ICMP traffic on managementnet
resource [RESOURCE_TYPE] "managementnet-allow-http-ssh-rdp-icmp" {
name = [RESOURCE_NAME]
source_ranges = [
"0.0.0.0/0"
]
#RESOURCE properties go here
}
En managementnet.tf, reemplaza [RESOURCE_TYPE] por "google_compute_firewall":
Nota: El recurso google_compute_firewall es una regla de firewall. Si necesitas más detalles sobre este recurso, consulta la documentación de Terraform.
En managementnet.tf, reemplaza [RESOURCE_NAME] por "managementnet-allow-http-ssh-rdp-icmp".
Agrega esta propiedad a managementnet.tf:
network = google_compute_network.managementnet.self_link
Nota: Como la regla de firewall depende de la red a la que pertenece, debes usar la referencia google_compute_network.managementnet.self_link para indicarle a Terraform que resuelva esos recursos por orden de dependencia. En este caso, se crea la red antes que la regla de firewall.
La lista de reglas allow especifica qué protocolos y puertos se permiten.
Verifica que el código agregado a managementnet.tf tenga el siguiente aspecto:
# Create a firewall rule to allow HTTP, SSH, RDP and ICMP traffic on managementnet
resource "google_compute_firewall" "managementnet_allow_http_ssh_rdp_icmp" {
name = "managementnet-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.managementnet.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Para guardar managementnet.tf, haz clic en File > Save.
Configura la instancia de VM
Crea un módulo para definir la instancia de VM. Los módulos son parámetros de configuración reutilizables almacenados en carpetas. Usarás el módulo para todas las instancias de VM de este lab.
Para crear una carpeta nueva en tfnet, selecciona la carpeta tfnet y, luego, haz clic en File > New Folder.
Asígnale el nombre instance.
Para crear un archivo nuevo en instance, selecciona la carpeta instance y, luego, haz clic en File > New File.
Asígnale el nombre main.tf y, luego, ábrelo.
Deberías tener la siguiente estructura de carpetas en Cloud Shell:
Copia este código básico en main.tf:
resource [RESOURCE_TYPE] "vm_instance" {
name = [RESOURCE_NAME]
#RESOURCE properties go here
}
En main.tf, reemplaza [RESOURCE_TYPE] por "google_compute_instance".
Nota: El recurso google_compute_instance es una instancia de Compute Engine. Si necesitas más detalles sobre este recurso, consulta la documentación de Terraform.
En main.tf, reemplaza [RESOURCE_NAME] por var.instance_name.
Como usarás este módulo para todas las instancias de VM, debes definir el nombre de la instancia como variable de entrada, de modo que puedas controlar el nombre de la variable desde managementnet.tf. Si necesitas más detalles acerca de las variables de entrada, consulta la documentación para definirlas.
Agrega estas propiedades a main.tf:
zone = var.instance_zone
machine_type = var.instance_type
Estas propiedades definen la zona y el tipo de máquina de la instancia como variables de entrada.
Esta propiedad define el disco de arranque para que use la imagen de SO de Debian 11. Debido a que las cuatro instancias de VM usarán la misma imagen, puedes codificar esta propiedad en el módulo.
Agrega estas propiedades a main.tf:
network_interface {
subnetwork = var.instance_subnetwork
access_config {
# Allocate a one-to-one NAT IP to the instance
}
}
Esta propiedad define la interfaz de red, proporcionando el nombre de la subred como una variable de entrada y la configuración de acceso. Si se deja vacía la configuración de acceso, el resultado será una dirección IP externa efímera. Si necesitas más detalles, consulta la documentación de Terraform.
Define las 4 variables de entrada en la parte superior de main.tf y verifica que main.tf tenga el siguiente aspecto, incluidas las llaves, {}:
variable "instance_name" {}
variable "instance_zone" {}
variable "instance_type" {
default = "e2-standard-2"
}
variable "instance_subnetwork" {}
resource "google_compute_instance" "vm_instance" {
name = var.instance_name
zone = var.instance_zone
machine_type = var.instance_type
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
subnetwork = var.instance_subnetwork
access_config {
# Allocate a one-to-one NAT IP to the instance
}
}
}
Cuando le asignas un valor predeterminado a instance_type, la variable pasa a ser opcional. Los valores de instance_name, instance_zone e instance_subnetwork son obligatorios, y deberás definirlos en managementnet.tf.
Para guardar main.tf, haz clic en Archivo > Guardar.
Agrega la siguiente instancia de VM a managementnet.tf:
En este recurso, se utiliza el módulo de la carpeta instance y se proporcionan el nombre, la zona y la red como entradas. Como esta instancia depende de una red de VPC, debes usar la referencia google_compute_subnetwork.managementsubnet-us.self_link para indicarle a Terraform que resuelva esos recursos en orden de dependencia. En este caso, se crea la subred antes que la instancia.
Nota: El beneficio de escribir módulos de Terraform es que se pueden reutilizar en múltiples archivos de configuración. En vez de escribir tus propios módulos, también puedes aprovechar los que se ofrecen en el registro de módulos de Terraform.
Para guardar managementnet.tf, haz clic en File > Save.
Crea managementnet y sus recursos
Llegó la hora de aplicar los archivos de configuración de managementnet.
Reescribe los archivos de configuración de Terraform en un formato y estilo canónicos ejecutando el siguiente comando:
terraform fmt
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que tu configuración coincida con las instrucciones del lab. Si el problema persiste, consulta estos archivos de configuración terminados:
Inicializa Terraform ejecutando el siguiente comando:
terraform init
El resultado debería verse así:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Crea un plan de ejecución usando el siguiente comando:
terraform plan
El resultado debería verse así:
...
Plan: 4 to add, 0 to change, 0 to destroy.
...
Terraform determinó que se deben agregar los siguientes 4 recursos:
Nombre
Descripción
managementnet
Red de VPC
managementsubnet-us
Subred de managementnet en
managementnet_allow_http_ssh_rdp_icmp
Regla de firewall para permitir el tráfico HTTP, SSH, RDP e ICMP
managementnet-us-vm
Instancia de VM en
Aplica los cambios deseados ejecutando el siguiente comando:
terraform apply
Usa el siguiente comando para confirmar las acciones planificadas:
Notarás que, cuando se crea la red de VPC, también se crean la regla de firewall y la subred. Después de crear la subred, se crea la instancia de VM. Este orden se debe a que la regla de firewall y la subred dependían de la red, y la instancia de VM dependía de la subred a través de referencias self_link.
Nota: Si recibes un mensaje de error durante la ejecución, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Verifica managementnet y sus recursos
En la consola de Cloud, verifica que se hayan creado los recursos.
En la consola de Cloud, selecciona el menú de navegación > Red de VPC > Redes de VPC.
Visualiza la red de VPC managementnet con su subred.
En el panel izquierdo, haz clic en Firewall.
Visualiza la regla de firewall managementnet_allow_http_ssh_rdp_icmp que se creó para la red de VPC.
Selecciona el menú de navegación > Compute Engine > Instancias de VM.
Confirma que aparezca la instancia managementnet-us-vm.
Vuelve a Cloud Shell.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear managementnet y sus recursos
Tarea 3: Crea privatenet y sus recursos
Crea la red en modo personalizado privatenet junto con su regla de firewall y su instancia de VM (privatenet-us-vm).
Configura privatenet
Crea un archivo de configuración nuevo y define privatenet.
Para crear un archivo nuevo en la carpeta tfnet, haz clic en File > New File.
Asígnale el nombre privatenet.tf y, luego, ábrelo.
Deberías tener la siguiente estructura de carpetas en Cloud Shell:
Agrega la red de VPC copiando este código en privatenet.tf:
Agrega el recurso de la subred privatesubnet-us a privatenet.tf:
# Create privatesubnet-us subnetwork
resource "google_compute_subnetwork" "privatesubnet-us" {
name = "privatesubnet-us"
region = "{{{project_0.default_region| REGION 1}}}"
network = google_compute_network.privatenet.self_link
ip_cidr_range = "172.16.0.0/24"
}
Agrega el recurso de la subred privatesubnet-second-subnet a privatenet.tf:
# Create privatesubnet-second-subnet subnetwork
resource "google_compute_subnetwork" "privatesubnet-second-subnet" {
name = "privatesubnet-second-subnet"
region = "{{{project_0.default_region_2 | REGION 2}}}"
network = google_compute_network.privatenet.self_link
ip_cidr_range = "172.20.0.0/24"
}
Para guardar privatenet.tf, haz clic en Archivo > Guardar.
Configura la regla de firewall
Define una regla de firewall para permitir el tráfico HTTP, SSH y RDP en privatenet.
Agrega la regla de firewall a privatenet.tf:
# Create a firewall rule to allow HTTP, SSH, RDP and ICMP traffic on privatenet
resource "google_compute_firewall" "privatenet-allow-http-ssh-rdp-icmp" {
name = "privatenet-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.privatenet.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Nota: Como alternativa, puedes crear un módulo para la regla de firewall, ya que la única diferencia con la regla de firewall anterior es la red de VPC a la que se aplica.
Para guardar privatenet.tf, haz clic en File > Save.
Configura la instancia de VM
Usa el módulo de la carpeta instance para configurar privatenet-us-vm.
Agrega el recurso de la instancia de VM a privatenet.tf:
Para guardar privatenet.tf, haz clic en File > Save.
Crea privatenet y sus recursos
Llegó la hora de aplicar la configuración de privatenet.
Reescribe los archivos de configuración de Terraform en un formato y estilo canónicos ejecutando el siguiente comando:
terraform fmt
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que tu configuración coincida con las instrucciones del lab. Si el problema persiste, consulta estos archivos de configuración terminados:
Inicializa Terraform ejecutando el siguiente comando:
terraform init
El resultado debería verse así:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Crea un plan de ejecución usando el siguiente comando:
terraform plan
El resultado debería verse así:
...
Plan: 5 to add, 0 to change, 0 to destroy.
...
Terraform determinó que se deben agregar los siguientes 5 recursos:
Nombre
Descripción
privatenet
Red de VPC
privatesubnet-us
Subred de privatenet en
privatesubnet-second-subnet
Subred de privatenet en
privatenet-allow-http-ssh-rdp-icmp
Regla de firewall para permitir el tráfico HTTP, SSH, RDP e ICMP
privatenet-us-vm
Instancia de VM en
Aplica los cambios deseados ejecutando el siguiente comando:
terraform apply
Usa el siguiente comando para confirmar las acciones planificadas:
yes
El resultado debería verse así:
...
Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
Nota: Si recibes un mensaje de error durante la ejecución, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Verifica privatenet y sus recursos
En la consola de Cloud, verifica que se hayan creado los recursos.
En la consola de Cloud, selecciona el menú de navegación > Red de VPC > Redes de VPC.
Revisa que estén la red de VPC privatenet y sus subredes.
En el panel del lado izquierdo, haz clic en Red de VPC > Firewall.
Revisa que esté la regla de firewall privatenet_allow_http_ssh_rdp_icmp para la red de VPC que se creó.
Selecciona el menú de navegación > Compute Engine > Instancias de VM.
Anota las direcciones IP internas de privatenet-us-vm.
En managementnet-us-vm, haz clic en SSH para iniciar una terminal y conectarte.
Para probar la conectividad a la dirección IP interna de privatenet-us-vm, ejecuta el siguiente comando en la terminal SSH (reemplaza la dirección IP interna de privatenet-us-vm por el valor que anotaste):
ping -c 3 <Enter privatenet-us-vm's internal IP here>
Nota: El comando no debería funcionar porque ambas instancias de VM se encuentran en redes de VPC distintas.
Vuelve a Cloud Shell.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear privatenet y sus recursos
Tarea 4: Crea mynetwork y sus recursos
Crea la red en modo automático mynetwork junto con su regla de firewall y dos instancias de VM (mynet_us_vm y mynet_second_vm).
Configura mynetwork
Crea un archivo de configuración nuevo y define mynetwork.
Para crear un archivo nuevo en la carpeta tfnet, haz clic en File > New File.
Asígnale el nombre mynetwork.tf y, luego, ábrelo.
Deberías tener la siguiente estructura de carpetas en Cloud Shell:
Copia el siguiente código en mynetwork.tf:
# Create the mynetwork network
resource "google_compute_network" "mynetwork" {
name = "mynetwork"
#RESOURCE properties go here
}
Agrega esta propiedad a mynetwork.tf:
auto_create_subnetworks = "true"
Por definición, las redes en modo automático crean subredes en cada región automáticamente. Por lo tanto, debes configurar auto_create_subnetworks como true.
Verifica que mynetwork.tf tenga el siguiente aspecto:
# Create the mynetwork network
resource "google_compute_network" "mynetwork" {
name = "mynetwork"
auto_create_subnetworks = "true"
}
Para guardar mynetwork.tf, haz clic en File > Save.
Configura la regla de firewall
Define una regla de firewall para permitir el tráfico HTTP, SSH y RDP en mynetwork.
Agrega la regla de firewall a mynetwork.tf:
# Create a firewall rule to allow HTTP, SSH, RDP and ICMP traffic on mynetwork
resource "google_compute_firewall" "mynetwork-allow-http-ssh-rdp-icmp" {
name = "mynetwork-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.mynetwork.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Para guardar mynetwork.tf, haz clic en File > Save.
Configura la instancia de VM
Usa el módulo de la carpeta instance para configurar mynetwork-us-vm y mynetwork-second-vm.
Para guardar mynetwork.tf, haz clic en File > Save.
Crea mynetwork y sus recursos
Llegó la hora de aplicar la configuración de mynetwork.
Reescribe los archivos de configuración de Terraform en un formato y estilo canónicos ejecutando el siguiente comando:
terraform fmt
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que tu configuración coincida con las instrucciones del lab. Si el problema persiste, consulta estos archivos de configuración terminados:
Inicializa Terraform ejecutando el siguiente comando:
terraform init
El resultado debería verse así:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Nota: Si recibes un mensaje de error, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Crea un plan de ejecución usando el siguiente comando:
terraform plan
El resultado debería verse así:
...
Plan: 4 to add, 0 to change, 0 to destroy.
...
Terraform determinó que se deben agregar los siguientes 4 recursos:
Nombre
Descripción
mynetwork
Red de VPC
mynetwork-allow-http-ssh-rdp-icmp
Regla de firewall para permitir el tráfico HTTP, SSH, RDP e ICMP
mynet-us-vm
Instancia de VM en
mynet-second-vm
Instancia de VM en
Aplica los cambios deseados ejecutando el siguiente comando:
terraform apply
Usa el siguiente comando para confirmar las acciones planificadas:
yes
El resultado debería verse así:
...
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.
Nota: Si recibes un mensaje de error durante la ejecución, revisa los pasos anteriores para asegurarte de que cuentas con la estructura de carpetas y archivos correcta. Si el problema persiste, consulta los archivos de configuración terminados que vinculamos anteriormente. Una vez resuelto el problema, vuelve a ejecutar el comando anterior.
Verifica mynetwork y sus recursos
En la consola de Cloud, verifica que se hayan creado los recursos.
En la consola de Cloud, selecciona el menú de navegación > Red de VPC > Redes de VPC.
Revisa que estén la red de VPC mynetwork y sus subredes.
En el panel izquierdo, haz clic en Firewall.
Revisa que esté la regla de firewall mynetwork-allow-http-ssh-rdp-icmp para la red de VPC que se creó.
Selecciona el menú de navegación > Compute Engine > Instancias de VM.
Revisa que estén las instancias mynet-us-vm y mynet-second-vm.
Anota las direcciones IP internas de mynet-second-vm.
En mynet-us-vm, haz clic en SSH para iniciar una terminal y conectarte.
Para probar la conectividad con la dirección IP interna de mynet-second-vm, ejecuta el siguiente comando en la terminal SSH (reemplaza la dirección IP interna de mynet-second-vm por el valor que anotaste):
ping -c 3 <Enter mynet-second-vm's internal IP here>
Nota: El comando debería funcionar porque ambas instancias de VM están en la misma red y el tráfico de ICMP está permitido.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear mynetwork y sus recursos
¡Felicitaciones!
Aquí termina el lab de autoaprendizaje Automatiza la implementación de redes con Terraform.
En este lab, creaste módulos y archivos de configuración de Terraform para automatizar la implementación de una red personalizada. A medida que modificas la configuración, Terraform puede determinar qué cambió y generar planes de ejecución incrementales, lo que te permite crear la configuración general paso a paso.
El módulo de la carpeta instance te permitió reutilizar la misma configuración para varios recursos y te brindó propiedades como variables de entrada. Puedes aprovechar los módulos y archivos de configuración que creaste como puntos de partida en tus próximas implementaciones.
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: 19 de enero de 2024
Prueba más reciente del lab: 19 de enero de 2024
Copyright 2025 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.
Labs create a Google Cloud project and resources for a fixed time
Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
On the top left of your screen, click Start lab to begin
Use private browsing
Copy the provided Username and Password for the lab
Click Open console in private mode
Sign in to the Console
Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
Accept the terms, and skip the recovery resource page
Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
One lab at a time
Confirm to end all existing labs and start this one
Use private browsing to run the lab
Use an Incognito or private browser window to run this lab. This
prevents any conflicts between your personal account and the Student
account, which may cause extra charges incurred to your personal account.
En este lab, crearás archivos de configuración de Terraform con un módulo para automatizar la implementación de una red personalizada con recursos.
Duración:
0 min de configuración
·
Acceso por 60 min
·
60 min para completar