arrow_back

Set Up a Google Cloud Network: Lab de desafío

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

Set Up a Google Cloud Network: Lab de desafío

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP314

Labs de autoaprendizaje de Google Cloud

Descripción general

En un lab de desafío, se le proporcionarán una situación y un conjunto de tareas. En lugar de seguir instrucciones paso a paso, deberá utilizar las habilidades aprendidas en los labs de la Quest a fin de decidir cómo completar las tareas por su cuenta. Un sistema de puntuación automatizado (que se muestra en esta página) le proporcionará comentarios acerca de si completó las tareas correctamente.

En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíe las habilidades que adquirió, como cambiar los valores predeterminados y leer o investigar los mensajes de error para corregir sus propios errores.

Debe completar correctamente todas las tareas dentro del período establecido para obtener una puntuación del 100%.

Se recomienda este lab a los estudiantes inscritos en la insignia de habilidad Set up a Google Cloud Network. ¿Aceptas el desafío?

Configuración

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.

Situación del desafío

logotipo de cymbal direct

Imagina que eres un ingeniero de nube que trabaja para Cymbal Direct, una tienda en línea de indumentaria y calzado de venta directa al consumidor. Cymbal Direct escaló rápidamente y, como parte de su estrategia de expansión, adquirieron una nueva empresa, Antern, una tienda de comercio electrónico con una gran cantidad de datos que, si se integran correctamente a tu entorno de nube existente, serán muy útiles para escalar aún más el negocio y llegar a más clientes. Como parte de la adquisición, Cymbal Direct desea mover las cargas de trabajo y la infraestructura existentes de Antern de un entorno local a Google Cloud.

Antern cuenta con los siguientes recursos que deben migrarse, copiarse o recrearse en el entorno de nube existente de Cymbal:

  • Una base de datos de PostgreSQL (que se ejecuta en una máquina virtual) que debe migrarse a Cloud SQL para PostgreSQL
  • Código de la aplicación de microservicios alojado en contenedores para implementarlo en GKE (con problemas de confiabilidad informados durante las pruebas que deben solucionarse)
  • Una red de VPC con dos subredes y firewalls que deben crearse para conectar nuevos recursos entre ellos
  • Usuarios de IAM en múltiples proyectos a los que se les deben otorgar permisos y roles adecuados en recursos específicos

Tu tarea es ayudar a Cymbal Direct a cumplir estos objetivos.

Tarea 1: Migra una base de datos de PostgreSQL independiente a una instancia de Cloud SQL para PostgreSQL

Antern utiliza una base de datos de PostgreSQL que se ejecuta en una VM local para almacenar pedidos de la tienda de comercio electrónico. Como parte de la estrategia de adquisición, Cymbal ha solicitado que esta base de datos se migre a Cloud SQL para PostgreSQL con Database Migration Service. Ejecutar las bases de datos en Cloud SQL permite que Cymbal obtenga los beneficios operativos de PostgreSQL con disponibilidad, estabilidad y seguridad empresariales adicionales.

En esta tarea, debes migrar la base de datos de pedidos de PostgreSQL independiente que se ejecuta en la máquina virtual antern-postgresql-vm a una instancia de Cloud SQL para PostgreSQL con un trabajo de migración continuo de Database Migration Service y la conectividad de intercambio de tráfico entre VPC.

Prepara la base de datos de PostgreSQL independiente para la migración

Nota: Para la primera tarea, tendrás que acceder al Proyecto de Antern con las credenciales del Propietario de Antern.

En esta tarea secundaria, debes preparar la base de datos de PostgreSQL independiente para que cumpla con los requisitos de migración de Database Migration Service.

Para completarla, sigue estos pasos:

  1. Habilita las APIs de Google Cloud necesarias para Database Migration Service.

Database Migration Service requiere que se habiliten la API de Database Migration y la API de Service Networking para funcionar. Debes habilitar estas APIs para tu proyecto.

  1. Actualiza las bases de datos de destino en la máquina virtual antern-postgresql-vm con la extensión de base de datos pglogical.

Debes instalar y configurar la extensión pglogical en la base de datos de PostgreSQL independiente que se encuentra en la VM de instancia de procesamiento antern-postgresql-vm. El paquete de extensión de base de datos pglogical que debes instalar se llama postgresql-13-pglogical.

Para completar la configuración de la extensión pglogical, debes editar el archivo de configuración de PostgreSQL /etc/postgresql/13/main/postgresql.conf para habilitar pglogical y debes editar /etc/postgresql/13/main/pg_hba.conf para habilitar el acceso desde todos los hosts.

  1. Crea un usuario dedicado para la migración de la base de datos en la base de datos independiente.

El usuario nuevo que crees en la instalación de PostgreSQL independiente que se encuentra en la máquina virtual antern-postgresql-vm debe configurarse con el siguiente nombre de usuario y contraseña:

  • Nombre de usuario de migración :
  • Contraseña de usuario de migración : DMS_1s_cool!
  1. Otórgale a ese usuario los privilegios y permisos necesarios para que se migren las bases de datos.

Database Migration Service requiere que el usuario de migración tenga privilegios para esquemas y relaciones específicos de las bases de datos de destino para la migración y, en este caso, corresponden a las bases de datos orders y postgres.

  1. Database Migration Service requiere que todas las tablas que se migrarán cuenten con una clave primaria. Una vez que le otorgues al usuario los privilegios necesarios, ejecuta lo siguiente para agregar una clave primaria a la tabla inventory_items y sal de psql.
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit Nota: Los requisitos previos detallados para migrar una base de datos de PostgreSQL independiente a Cloud SQL para PostgreSQL se encuentran en los vínculos de sugerencias en la GUI de la consola de Cloud para Database Migration Service. Si necesitas ayuda con los pasos detallados que debes seguir, consulta esa documentación. También puedes revisar los pasos en detalle en el lab de migración que es parte de esta insignia de habilidad.

Haz clic en Revisar mi progreso para verificar el objetivo. Preparar una base de datos de PostgreSQL independiente para migrarla a Cloud SQL para PostgreSQL

Migra la base de datos de PostgreSQL independiente a una instancia de Cloud SQL para PostgreSQL

En esta tarea secundaria, debes realizar la migración con Database Migration Service.

Para completarla, sigue estos pasos:

  1. Crea un nuevo perfil de conexión de Database Migration Service para la base de datos de PostgreSQL independiente con las credenciales del usuario de migración que creaste antes.
  • Nombre de usuario :
  • Contraseña : DMS_1s_cool!
  • Región :

Debes configurar el perfil de conexión con la dirección IP interna de la instancia de procesamiento de origen.

  1. Crea un nuevo trabajo de Database Migration Service continuo.
  • En Nombre del trabajo de migración, ingresa .
  • En Motor de base de datos de origen, selecciona PostgreSQL.
  • En Motor de la base de datos de destino, selecciona Cloud SQL para PostgreSQL.
  • Región de destino:

Como parte de la configuración del trabajo de migración, asegúrate de especificar las siguientes propiedades de la instancia de Cloud SQL de destino:

  • El ID de la instancia de destino debe ser
  • La Contraseña de la instancia migrada debe ser supersecret!
  • La Versión de la base de datos debe ser Cloud SQL para PostgreSQL 13.
  • Elige solo la edición de Cloud SQL Enterprise.
  • La Región debe ser .
  • Para Conexiones, se debe configurar una IP pública y una IP privada.
  • En el caso de la IP privada, usa un rango de IP asignado automáticamente y haz clic en Asignar y conectar.
  • Selecciona una forma de máquina estándar con 4 CPU virtuales y 16 GB.
  • Para el Tipo de almacenamiento, usa SSD.
  • Establece la capacidad de almacenamiento en 10 GB

Para el Método de conectividad, debes usar Intercambio de tráfico entre VPC con la red de VPC predeterminada.

  1. Prueba y, luego, inicia el trabajo de migración continuo.
Nota: Si no preparas correctamente el entorno de PostgreSQL de origen, la migración podría fallar por completo o podría fallar con algunas tablas individuales. Si faltan algunas tablas, verifica si configuraste correctamente todas las tablas de la base de datos de origen, aunque parezca que la migración funciona.

Haz clic en Revisar mi progreso para verificar el objetivo. Migrar una base de datos de PostgreSQL independiente a una instancia de Cloud SQL para PostgreSQL.

Asciende a Cloud SQL para que sea una instancia independiente en la que se pueda leer y escribir datos

  • En esta tarea, debes completar la migración ascendiendo la instancia de Cloud SQL para PostgreSQL a una instancia independiente.
  • Cuando se complete el ascenso, el estado del trabajo se actualizará a Completado.

Haz clic en Revisar mi progreso para verificar el objetivo. Ascender una réplica de la migración de Cloud SQL a una instancia independiente

Nota: Para los fines de este lab, no debes esperar a que se complete la migración para ascenderla a una instancia independiente. Si la acción está disponible en la consola, puedes ejecutarla.

Tarea 2: Actualiza los permisos y agrega roles de IAM para los usuarios

Ahora que la base de datos se migró a una instancia de Cloud SQL para PostgreSQL, deberás actualizar los roles de los usuarios a través de IAM para los diferentes miembros de los equipos de Antern y Cymbal. Específicamente, deberás otorgarle al Editor de Antern acceso de usuario a la base de datos de Cloud SQL, al Propietario de Cymbal, acceso de administrador para que tenga control total sobre los recursos de Cloud SQL y, al Editor de Cymbal, permisos de edición en el proyecto.

Nota: Para esta tarea, tendrás que acceder al Proyecto de Antern con las credenciales de Propietario de Antern. Pista: Otorga los roles deseados a los usuarios requeridos con Cloud IAM.
  1. Otórgale al usuario Editor de Antern el rol de Usuario de instancia de Cloud SQL para la base de datos de Cloud SQL. Su nombre de usuario es: .

    • Navega a la base de datos de Cloud SQL que acabas de crear. En la sección Usuarios, agrega la cuenta de usuario Editor de Antern a la base de datos que creaste. Usa la autenticación de Cloud IAM y, para la principal, usa el nombre de usuario que se indica arriba.
  2. Otórgale al usuario Propietario de Cymbal el rol de Administrador de Cloud SQL para la base de datos de Cloud SQL. Su nombre de usuario es: .

    • Navega a la base de datos de Cloud SQL que acabas de crear. En la sección Usuarios, agrega la cuenta de usuario Propietario de Cymbal a la base de datos que creaste. Usa la autenticación de Cloud IAM y, para la principal, usa el nombre de usuario que se indica arriba.
  3. Cambia el rol del usuario del Editor de Cymbal de Visualizador a Editor. Su nombre de usuario es .

Haz clic en Revisar mi progreso para verificar el objetivo. Actualizar los permisos y agregar roles de IAM para los usuarios

Tarea 3: Crea redes y firewalls

Como parte de la estrategia de adquisición, se debe recrear una red de VPC para conectar recursos internamente en el proyecto de Cymbal. Específicamente, deberás crear una red de VPC con dos subredes y firewalls para abrir las conexiones entre recursos. Adicionalmente, en esta red, tu equipo tendrá que ser capaz de conectarse a máquinas de Linux y Windows con SSH y RDP, además de diagnosticar problemas de comunicación de red a través de ICMP.

En esta tarea, crearás una red de VPC y reglas de firewall que cumplan con estos requisitos.

Nota: Para esta tarea, deberás acceder al Proyecto de Cymbal con las credenciales del Propietario de Cymbal.

Crea una red de VPC con dos subredes

  1. Crea una red de VPC llamada con dos subredes: y . Usa un modo de enrutamiento dinámico Regional.

  2. En , configura la región en .

    • Configura el tipo de pila IP como IPv4 (pila única)
    • Configura el rango IPv4 como 10.10.10.0/24
  3. En , configura la región en .

    • Configura el tipo de pila IP como IPv4 (pila única)
    • Configura el rango IPv4 como 10.10.20.0/24

Crea reglas de firewall para la red de VPC

  1. Crea una regla de firewall con el nombre .

    • Para la red, usa .
    • Establece la prioridad en 65535, el tráfico en Entrada y la acción en Permitir.
    • Los destinos deben configurarse como Todas las instancias de la red y los rangos IPv4 en 0.0.0.0/24.
    • Configura el protocolo como TCP y el puerto como 22
  2. Crea una regla de firewall con el nombre .

    • Para la red, usa .
    • Establece la prioridad en 65535, el tráfico en Entrada y la acción en Permitir.
    • Los destinos deben configurarse como Todas las instancias de la red y los rangos IPv4 en 0.0.0.0/24.
    • Configura el protocolo como TCP y el puerto como 3389.
  3. Crea una regla de firewall con el nombre .

    • Para la red, usa .
    • Establece la prioridad en 65535, el tráfico en Entrada y la acción en Permitir.
    • Los destinos deben configurarse como Todas las instancias de la red y los rangos IPv4 en 0.0.0.0/24.
    • Configura el protocolo como icmp.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear redes y firewalls

Tarea 4: Soluciona problemas y repara un clúster de GKE dañado

Nota: Para esta tarea, deberás acceder al Proyecto de Cymbal con las credenciales del Propietario de Cymbal.

Después de implementar el clúster de GKE del sitio web de comercio electrónico, tu equipo te informó que existen algunos problemas conocidos con el clúster de GKE que deben abordarse. Encontraron tres errores que deben solucionar:

  • Error 1: Demasiada latencia en el servicio de frontend
  • Error 2: Las calificaciones quedaron obsoletas
  • Error 3: Error que produce fallas en el servicio de recomendación

Como parte de la estrategia de adquisición, se te asignó reparar . Los otros ingenieros que trabajan en tu equipo te entregaron información adicional que puedes usar para solucionar cada uno de los problemas que encontraron.

Sugerencias:

  • Error #1: Visita la IP externa de la aplicación de demostración para revisar si hay algún cambio visible. También puedes usar los paneles de supervisión para ver las métricas asociadas a cada servicio.
  • Error #2: El “servicio de calificaciones” que se aloja en Google AppEngine administra las calificaciones de productos. Los datos de calificaciones se mantienen actualizados periódicamente con el llamado a un extremo de API que recopila todas las puntuaciones nuevas enviadas para cada producto y calcula la nueva calificación. Comprueba si el servicio de calificaciones funciona normalmente. Para ello, inspecciona los registros del servicio de AppEngine. Otro miembro del equipo mencionó que esto podría estar relacionado con un problema en el archivo main.py.
  • Error #3: Explora tu sitio web hasta que encuentres un problema y usa Cloud Logging para ver los registros que exporta cada servicio. Otro miembro del equipo mencionó que este error que produce fallas podría ocurrir debido a una etapa de conversión de números enteros en el servicio.

Crea un receptor de registros de BigQuery

Antes de solucionar el problema subyacente, se te solicitó que crees un receptor de registros para enviar los errores asociados con el servicio con fallas. Luego, tendrás que usar IAM para otorgarles a los usuarios de Antern diferentes niveles de acceso a BigQuery para que puedan ver el conjunto de datos e interactuar con él.

  1. Usa el Explorador de registros para investigar tu app de GKE en ejecución y averiguar si el servicio tiene errores. Pista: debes buscar los registros con la gravedad ERROR.

  2. Una vez que identifiques los registros de errores del servicio, crea un receptor para enviarlos a BigQuery.

    • Ingresa el nombre para el receptor
    • Para el destino, crea un conjunto de datos de BigQuery con el nombre gke_app_errors_sink y la ubicación us (múltiples regiones en Estados Unidos).
    • En tu filtro de inclusión, asegúrate de incluir: resource.type, y severity.
Nota: Si ves algún error de permiso, confirma que accediste al proyecto de Cymbal con las credenciales del Propietario de Cymbal.
  1. Otórgale al usuario Editor de Antern el rol Visualizador de datos de BigQuery para este proyecto. Su nombre de usuario es: .

  2. Otórgale al usuario Propietario de Antern el rol Administrador de BigQuery para este proyecto. Su nombre de usuario es: .

Haz clic en Revisar mi progreso para verificar el objetivo. Crea un receptor de registros de BigQuery

Repara el clúster de GKE

Ahora que creaste un receptor de registros en BigQuery para los errores en el servicio, algunos ingenieros de tu equipo los revisaron y descubrieron los pasos correctos para solucionar el problema. En esta tarea, descargarás el código de la solución y lo ejecutarás para reparar el servicio en tu clúster de GKE.

  1. Conéctate al clúster de GKE cloud-ops-sandbox y ejecuta los siguientes comandos para solucionar el problema. Responde las preguntas de verificación cuando se te solicite.
git clone --depth 1 --branch csb_1220 https://github.com/GoogleCloudPlatform/cloud-ops-sandbox.git cd cloud-ops-sandbox/sre-recipes ./sandboxctl sre-recipes restore {{{ cymbal_project.startup_script.recipe_number | recipe number }}} ./sandboxctl sre-recipes verify {{{ cymbal_project.startup_script.recipe_number | recipe number }}}
  1. Verifica que la tienda de comercio electrónico funcione correctamente.

¡Felicitaciones!

Completaste un día de trabajo como Cloud Engineer. Migraste una base de datos de PostgreSQL a una instancia de Cloud SQL para PostgreSQL, creaste una red de VPC con subredes y firewalls, solucionaste problemas con un clúster de GKE y otorgaste permiso a los usuarios de IAM en varios proyectos.

Insignia de habilidad de Deploy and Manage Cloud Environments

Obtén tu próxima insignia de habilidad

Este lab de autoaprendizaje es parte de la Quest para obtener la insignia de habilidad Deploy and Manage Cloud Environments with Google Cloud. Si completas esta insignia de habilidad, obtendrás la insignia que se muestra arriba como reconocimiento de tu logro. Comparte la insignia en tu currículum y tus plataformas sociales, y anuncia tu logro con el hashtag #GoogleCloudBadge.

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: 8 de marzo de 2024 Prueba más reciente del lab: 8 de marzo 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.