Configurar un firewall y un script de inicio con Deployment Manager ☁️

Madeline Scarlett
GDG IPN
Published in
5 min readSep 29, 2020

Lab 3 del quest “Cloud Architecture-Design, Implement, and Manage” de Qwiklabs.

¡Hola galera! 🤘

En este post, continuaremos con el tercer laboratorio del quest Cloud Architecture-Design, Implement, and Manage”.

Recuerda que estos posts son por si llegas a tener alguna duda mientras te encuentras realizando el quest. Sin embargo, se trata de poner a prueba lo que aprendiste, por lo que te recomiendo intentar hacerlo sin ayuda y después checar la solución.

En este lab vas a configurar una instancia de Linux Compute Engine que instale el software del servidor web Apache y aplique las reglas de Firewall pertinentes mediante una plantilla de Deployment Manager.

Comencemos con el lab…

Inicialmente el lab proporciona un proyecto en GCP. Para comenzar a trabajar en este proyecto precisas iniciar el lab e ingresar con el usuario y contraseña que se te asignó (como buena práctica, te recomiendo iniciar en una ventana de incógnito para evitar confusiones con tu cuenta personal y evitarte eliminar la cuenta que se te asigna temporalmente cada que finalizas un lab).

Panel con los datos de login y los recursos a utilizar.

Descargar la plantilla de Deployment Manager

Ya que te encuentres dentro de GCP lo primero que harás es descargar la plantilla del Administrador de implementación de línea base la cual te permitirá implementar una máquina virtual mediante Deployment Manager. Para descargar y descomprimir los archivos .jinja, .yaml y .jinja.schema, así como la secuencia de comandos de inicio de muestra precisas iniciar Cloud Shell y utilizar los siguientes comandos:

mkdir deployment_manager 
cd deployment_manager
gsutil cp gs://spls/gsp302/* .

Los comandos anteriores te permiten crear una carpeta en la cual se descargan y descomprimen los archivos de la plantilla de Deployment Manager.

Editar la plantilla de Deployment Manager

Para comenzar a editar la plantilla en Cloud Shell busca el botón para abrir el editor (Open Editor). Se te debe desplegar una página parecida a la siguiente.

Archivo de la plantilla de Deployment Manager.

En el archivo qwiklabs.jinja anexa la siguiente configuración después de resources. Con esta configuración se creará una regla de Firewall que permite el tráfico http.

- name: default-allow-http
type: compute.v1.firewall
properties:
targerTags: ["http"]
sourceRanges: ["0.0.0.0/0"]
allowed:
- IPProtocol: TCP
ports: ["80"]
Creación de la regla de Firewall para permitir tráfico http.

Dentro del archivo qwiklabs.jinja anexa la siguiente configuración después de # https://cloud.google.com/compute/docs/startupscript, esta configuración te permitirá agregar las etiquetas para filtrar y agrupar los recursos, además de incluir el script de inicio para instalar el servidor web Apache.

tags:
items: ["http"]
metadata:
items:
- key: startup-script
value: "apt-get update \n apt-get install -y apache2"
Creación de las etiquetas y script de inicio.

Al final del archivo qwiklabs.jinja elimina la sección de tags y metadata ya que en el paso anterior definiste la nueva configuración. No olvides realizar este paso, de lo contrario te marcará error ya que no es la configuración que te pide el lab.

Configuración del archivo qwiklabs.jinja.

En el archivo qwiklabs.yaml elimina el apartado de #Create the firewall rule. No olvides realizar este paso porque te marcará un error al momento de la implementación, esto se debe a que ya configuraste la regla de Firewall en el archivo qwiklabs.jinja.

Configuración del archivo qwiklabs.yaml.

Implementar la plantilla de Deployment Manager

Después de editar, guarda todos los cambios y regresa a Cloud Shell. Utiliza los siguientes comandos para implementar los cambios que realizaste en la plantilla.

gcloud deployment-manager deployments create deployment-template --config qwiklabs.yaml

Espera unos minutos para que termine la implementación llamada deployment-template. Al final, deberás obtener un resultado como el siguiente:

Implementación finalizada.

Verificar la plantilla de Deployment Manager

Hasta este punto, has terminado todas las configuraciones de la plantilla, es momento de comprobar si se creo correctamente el recurso que se pide, una VM. Ve a las instancias de Compute Enginee (Compute Enginee > VM instances). Deberás tener dos instancias, una que te asigna el laboratorio (no la vas a modificar) y otra que se creó con la plantilla que configuraste (vm-test).

Instancias creadas.

Elige la vm-test y edita, permite el tráfico HTTP para lograr que la instancia sea accesible a través de HTTP desde Internet.

Configuración de la instancia vm-test.

Guarda los cambios y verifica que el servidor Apache fue instalado y tiene acceso, házlo mediante la IP externa de la VM.

IP externa de la instancia vm-test

La página que debe desplegarse debe ser parecida a la siguiente. Si tu resultado fue parecido, felicidades, tu implementación se realizó correctamente.

Servidor web Apache en funcionamiento.

En este laboratorio realizamos todas las actividades de corrido. Ve a la página principal, verás que obtuviste todo el puntaje. ✅

Conclusiones

En este laboratorio pusiste a prueba tus conocimientos esenciales de Deployment Manager.

  1. Creaste reglas de Firewall y una instancia con la configuración básica a partir de una plantilla.
  2. Montaste un servidor web en esa instancia.
  3. Lograste el tráfico entre un servidor web e Internet.

¡Felicitaciones! Terminaste con éxito el tercer lab del quest Cloud Architecture-Design, Implement, and Manage.

Hazme saber que este tipo de contenido te gusta o sirve con tus claps. No te limites, puedes dejarme +50 clap si te encantó. 👏

Sígueme en mis redes sociales para más contenido: Intagram, Facebook, LinkedIn, Medium y Twitter.

Y si tienes alguna duda, con confianza puedes mandarme mensaje, trataré de resolver todas tus preguntas.

--

--

Madeline Scarlett
GDG IPN
Editor for

Cloud Engineer, GDG IPN Organizer, WTM Ambassador, Telematic Engineering Student, #IamRemarkable Ambassador 🤘