arrow_back

Set Up a Google Cloud Network : atelier challenge

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 : atelier challenge

Lab 1 heure 30 minutes universal_currency_alt 5 crédits show_chart Intermédiaire
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP314

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Dans un atelier challenge, vous devez suivre un scénario et effectuer une série de tâches. Aucune instruction détaillée n'est fournie : vous devez utiliser les compétences acquises au cours des ateliers de la quête correspondante pour déterminer comment procéder par vous-même. Vous saurez si vous avez exécuté correctement les différentes tâches grâce au score calculé automatiquement (affiché sur cette page).

Lorsque vous participez à un atelier challenge, vous n'étudiez pas de nouveaux concepts Google Cloud. Vous allez approfondir les compétences précédemment acquises. Par exemple, vous devrez modifier les valeurs par défaut ou encore examiner des messages d'erreur pour corriger vous-même les problèmes.

Pour atteindre le score de 100 %, vous devez mener à bien l'ensemble des tâches dans le délai imparti.

Cet atelier est recommandé aux participants inscrits au cours Set Up a Google Cloud Network. Êtes-vous prêt pour le challenge ?

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
Remarque : Ouvrez une fenêtre de navigateur en mode incognito/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Scénario du challenge

logo cymbal direct

Vous êtes un ingénieur cloud travaillant pour le compte de Cymbal Direct, une structure de vente en ligne de chaussures et de vêtements pour les particuliers. La croissance de Cymbal Direct a été très rapide, et pour renforcer sa stratégie de développement, l'entreprise a acquis une nouvelle entité, Antern. Antern est une boutique d'e-commerce disposant d'une grande quantité de données, lesquelles pourraient être incroyablement utiles pour accompagner la croissance de votre entreprise et lui permettre de gagner de nouveaux clients si elles étaient correctement intégrées dans ses systèmes cloud existants. Dans le cadre de cette acquisition, Cymbal Direct souhaite migrer les charges de travail et l'infrastructure sur site d'Antern vers Google Cloud.

Voici les ressources d'Antern qui doivent être migrées, copiées ou recréées dans les environnements cloud existants de Cymbal Direct :

  • Une base de données PostgreSQL (exécutée sur une machine virtuelle) à migrer vers Cloud SQL pour PostgreSQL
  • Du code d'application basé sur des microservices conteneurisés à déployer sur GKE (ayant présenté des problèmes de fiabilité lors des tests, pour lesquels vous devrez trouver une solution)
  • Un réseau VPC avec deux sous-réseaux et des pare-feu à créer pour connecter l'ensemble des nouvelles ressources
  • Des utilisateurs IAM associés à plusieurs projets, auxquels il sera nécessaire d'attribuer les autorisations et rôles appropriés pour des ressources spécifiques

Vous êtes chargé d'aider Cymbal Direct à atteindre ces objectifs.

Tâche 1 : Migrer une base de données PostgreSQL autonome vers une instance Cloud SQL pour PostgreSQL

Antern utilisait jusqu'ici une base de données PostgreSQL exécutée dans une VM sur site pour stocker les commandes passées sur sa boutique d'e-commerce. Dans le contexte de la stratégie d'acquisition, Cymbal a demandé que cette base de données soit migrée vers Cloud SQL pour PostgreSQL à l'aide de Database Migration Service. En exécutant la base de données sur Cloud SQL, Cymbal peut profiter de tous les avantages opérationnels de PostgreSQL, ainsi que d'une disponibilité, d'une fiabilité et d'une sécurité de niveau professionnel.

Dans cette tâche, vous devez migrer la base de données PostgreSQL autonome orders exécutée sur la machine virtuelle antern-postgresql-vm vers une instance Cloud SQL pour PostgreSQL en utilisant un job de migration continu Database Migration Service et une méthode de connectivité par appairage de VPC.

Préparer la base de données PostgreSQL autonome pour la migration

Remarque : Pour cette première tâche, vous devez vous connecter au projet Antern avec les identifiants du propriétaire Antern.

Dans cette sous-tâche, vous devez préparer la base de données PostgreSQL autonome pour qu'elle satisfasse aux exigences de migration de Database Migration Service.

Pour terminer cette sous-tâche, vous devez effectuer les étapes suivantes :

  1. Activer les API Google Cloud requises par Database Migration Service

Database Migration Service nécessite l'activation de l'API Database Migration et de l'API Service Networking pour pouvoir fonctionner correctement. Vous devez activer ces API pour votre projet.

  1. Mettre à niveau les bases de données cibles sur la machine virtuelle antern-postgresql-vm avec l'extension de base de données pglogical

Vous devez installer et configurer l'extension de base de données pglogical sur la base de données PostgreSQL autonome de l'instance de VM Compute antern-postgresql-vm. Le package d'extension de base de données pglogical que vous devez installer est nommé postgresql-13-pglogical.

Pour terminer la configuration de l'extension de base de données pglogical, vous devez modifier le fichier de configuration PostgreSQL /etc/postgresql/13/main/postgresql.conf afin d'activer l'extension pglogical, ainsi que modifier le fichier /etc/postgresql/13/main/pg_hba.conf pour autoriser l'accès depuis tous les hôtes.

  1. Créer un utilisateur dédié à la migration de la base de données sur l'instance de base de données autonome

Le nouvel utilisateur que vous créez dans l'installation PostgreSQL sur la machine virtuelle antern-postgresql-vm doit être configuré avec ce nom d'utilisateur et ce mot de passe :

  • Nom de l'utilisateur dédié à la migration :
  • Mot de passe de l'utilisateur dédié à la migration : DMS_1s_cool!
  1. Accorder à l'utilisateur les droits et autorisations nécessaires pour la migration de bases de données

Database Migration Service nécessite que l'utilisateur chargé de la migration dispose de droits sur des schémas et des relations spécifiques des bases de données cibles de la migration, lesquelles sont dans le cas présent les bases de données orders et postgres.

  1. Database Migration Service nécessite que toutes les tables à migrer possèdent une clé primaire. Une fois que vous avez accordé les droits nécessaires à l'utilisateur, exécutez les commandes suivantes pour ajouter une clé primaire à la table inventory_items et fermer psql.
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit Remarque : Vous trouverez plus de détails sur les conditions préalables à respecter pour migrer une base de données PostgreSQL autonome vers Cloud SQL pour PostgreSQL en suivant les liens suggérés dans l'IUG de la console Cloud pour Database Migration Service. Si vous avez besoin d'aide concernant les détails des étapes à effectuer, reportez-vous à cette documentation ou consultez la procédure détaillée décrite dans l'atelier dédié à la migration associé à ce badge de compétence.

Cliquez sur Vérifier ma progression pour valider l'objectif. Préparer une base de données PostgreSQL autonome pour une migration vers Cloud SQL pour PostgreSQL

Migrer la base de données PostgreSQL autonome vers une instance Cloud SQL pour PostgreSQL

Dans cette sous-tâche, vous allez effectuer la migration à l'aide de Database Migration Service.

Pour terminer cette sous-tâche, vous devez effectuer les étapes suivantes :

  1. Créer un profil de connexion Database Migration Service pour la base de données PostgreSQL autonome, en vous servant des identifiants de l'utilisateur dédié à la migration que vous avez créé précédemment
  • Nom d'utilisateur :
  • Mot de passe : DMS_1s_cool!
  • Région :

Vous devez configurer le profil de connexion en vous servant de l'adresse IP interne de l'instance Compute source.

  1. Créer un job Database Migration Service continu
  • Pour Nom du job de migration, saisissez .
  • Pour Moteur de base de données source, sélectionnezPostgreSQL.
  • Pour Moteur de base de données de destination, sélectionnez Cloud SQL pour PostgreSQL.
  • Région de destination :

Pour la configuration du job de migration, veillez à spécifier les propriétés suivantes pour l'instance Cloud SQL de destination :

  • ID de l'instance de destination défini sur
  • Mot de passe de l'instance migrée défini sur supersecret!
  • Version de la base de données définie sur Cloud SQL pour PostgreSQL 13
  • Édition Enterprise de Cloud SQL uniquement
  • Région définie sur
  • Connexions définies pour l'adresse IP publique ainsi que pour l'adresse IP privée
  • Pour l'adresse IP privée, utilisez une plage d'adresses IP allouée automatiquement et cliquez sur Allouer et connecter.
  • Forme de machine standard définie sur 4 vCPU, 16 Go
  • Type de stockage : SSD
  • Capacité de stockage : 10 Go

Pour la méthode de connectivité, utilisez l'appairage VPC avec le réseau VPC default (par défaut).

  1. Tester et démarrer le job de migration continu
Remarque : Si vous ne préparez pas correctement l'environnement PostgreSQL source, la migration peut totalement échouer ou vous pouvez rencontrer des problèmes pour la migration de certaines tables. Si certaines tables sont manquantes, même dans le cas où la migration semble se dérouler correctement, vérifiez que vous avez bien configuré toutes les tables de la base de données source.

Cliquez sur Vérifier ma progression pour valider l'objectif. Migrer une base de données PostgreSQL autonome vers une instance Cloud SQL pour PostgreSQL

Promouvoir l'instance Cloud SQL pour en faire une instance autonome dédiée à la lecture et à l'écriture de données

  • Dans cette tâche, vous devez terminer le processus de migration en promouvant l'instance Cloud SQL pour PostgreSQL afin de la convertir en instance autonome.
  • Une fois la promotion terminée, l'état du job passera à "Terminé".

Cliquez sur Vérifier ma progression pour valider l'objectif. Promouvoir une instance répliquée de migration Cloud SQL en tant qu'instance autonome

Remarque : Pour cet atelier, vous n'avez pas besoin d'attendre la fin de la migration pour promouvoir l'instance en instance autonome. Si l'action est disponible dans la console, vous pouvez l'exécuter.

Tâche 2 : Modifier les autorisations et ajouter des rôles IAM aux utilisateurs

Maintenant que la base de données a été migrée vers une instance Cloud SQL pour PostgreSQL, vous devez modifier les rôles utilisateur via IAM pour différents membres des équipes Antern et Cymbal. Plus précisément, vous devez accorder à l'éditeur Antern un accès utilisateur à la base de données Cloud SQL, un accès administrateur au propriétaire Cymbal pour qu'il dispose d'un contrôle complet sur les ressources Cloud SQL, et enfin des autorisations d'édition sur le projet à l'éditeur Cymbal.

Remarque : Pour cette tâche, vous devez vous connecter au projet Antern avec les identifiants du propriétaire Antern. Conseil : Attribuez les rôles souhaités aux utilisateurs requis à l'aide de Cloud IAM.
  1. Accordez à l'utilisateur Éditeur Antern le rôle Utilisateur d'instance Cloud SQL pour la base de données CloudSQL. Son nom d'utilisateur est .

    • Accédez à la base de données Cloud SQL que vous venez de créer. Dans la section Utilisateurs, ajoutez le compte utilisateur Éditeur Antern à la base de données. Utilisez l'authentification Cloud IAM et spécifiez le nom d'utilisateur indiqué ci-dessus pour le compte principal.
  2. Accordez à l'utilisateur Propriétaire Cymbal le rôle Administrateur Cloud SQL pour la base de données CloudSQL. Son nom d'utilisateur est .

    • Accédez à la base de données Cloud SQL que vous venez de créer. Dans la section Utilisateurs, ajoutez le compte utilisateur Propriétaire Cymbal à la base de données. Utilisez l'authentification Cloud IAM et spécifiez le nom d'utilisateur indiqué ci-dessus pour le compte principal.
  3. Passez le rôle utilisateur de l'éditeur Cymbal de Lecteur à Éditeur. Son nom d'utilisateur est .

Cliquez sur Vérifier ma progression pour valider l'objectif. Modifier les autorisations et ajouter des rôles IAM aux utilisateurs

Tâche 3 : Créer des réseaux et des pare-feu

Dans le contexte de la stratégie d'acquisition, un réseau VPC destiné à connecter les ressources en interne doit être recréé dans le projet Cymbal. Plus spécifiquement, vous allez créer un réseau VPC comportant deux sous-réseaux et configurer des pare-feu pour ouvrir des connexions entre certaines ressources. De plus, sur ce réseau, votre équipe devra pouvoir se connecter à des machines Linux et Windows via SSH et RDP, ainsi qu'effectuer le diagnostic des problèmes de communication réseau via ICMP.

Dans cette tâche, vous allez créer un réseau VPC et des règles de pare-feu qui répondent à ces exigences.

Remarque : Pour cette tâche, vous devez vous connecter au projet Cymbal à l'aide des identifiants du propriétaire Cymbal.

Créer un réseau VPC comportant deux sous-réseaux

  1. Créez un réseau VPC nommé avec deux sous-réseaux : et . Utilisez un mode de routage dynamique régional.

  2. Pour , définissez la région sur .

    • Définissez le type de pile IP sur IPv4 (pile unique).
    • Définissez la plage IPv4 sur 10.10.10.0/24.
  3. Pour , définissez la région sur .

    • Définissez le type de pile IP sur IPv4 (pile unique).
    • Définissez la plage IPv4 sur 10.10.20.0/24.

Créer des règles de pare-feu pour le réseau VPC

  1. Créez une règle de pare-feu nommée .

    • Pour le réseau, utilisez .
    • Définissez la priorité sur 65535, le trafic sur Entrée et l'action sur Autoriser.
    • Les cibles doivent être définies sur Toutes les instances du réseau et les plages d'adresses IPv4 sur 0.0.0.0/24.
    • Définissez le protocole sur TCP et le port sur 22.
  2. Créez une règle de pare-feu nommée .

    • Pour le réseau, utilisez .
    • Définissez la priorité sur 65535, le trafic sur Entrée et l'action sur Autoriser.
    • Les cibles doivent être définies sur Toutes les instances du réseau et les plages d'adresses IPv4 sur 0.0.0.0/24.
    • Définissez le protocole sur TCP et le port sur 3389.
  3. Créez une règle de pare-feu nommée .

    • Pour le réseau, utilisez .
    • Définissez la priorité sur 65535, le trafic sur Entrée et l'action sur Autoriser.
    • Les cibles doivent être définies sur Toutes les instances du réseau et les plages d'adresses IPv4 sur 0.0.0.0/24.
    • Définissez le protocole sur icmp.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer des réseaux et des pare-feu

Tâche 4 : Réparer un cluster GKE présentant une défaillance

Remarque : Pour cette tâche, vous devez vous connecter au projet Cymbal à l'aide des identifiants du propriétaire Cymbal.

Après le déploiement du cluster GKE du site Web d'e-commerce, votre équipe vous a indiqué qu'un petit nombre de problèmes connus liés au cluster GKE devaient être corrigés. Trois bugs nécessitant une intervention ont été identifiés :

  • Bug nº 1 : Latence trop élevée au niveau du service frontend
  • Bug nº 2 : Évaluations devenues obsolètes
  • Bug nº 3 : Plantages au niveau du service de recommandation

Dans le contexte de la stratégie d'acquisition, vous êtes en charge de corriger le problème suivant : . D'autres ingénieurs faisant partie de votre équipe ont fourni des informations complémentaires sur chacun des problèmes identifiés. Vous pourrez les utiliser pour résoudre votre problème.

Conseils :

  • Bug nº 1 : Accédez à l'adresse IP externe de l'application de démonstration pour observer si les modifications apportées sont notables. Vous pouvez également utiliser des tableaux de bord de surveillance pour visualiser les métriques associées à chaque service.
  • Bug nº 2 : Les notes attribuées aux produits sont gérées par le "service d'évaluation", lequel est hébergé sur Google App Engine. Les données concernant les avis sont gardées à jour via des appels réguliers au point de terminaison d'API qui collecte tous les nouveaux scores d'évaluation envoyés pour chaque produit et calcule la nouvelle note à attribuer à chaque produit concerné. Essayez de déterminer si le service d'évaluation fonctionne correctement en inspectant les journaux du service App Engine. Un autre membre de l'équipe a mentionné que le bug pourrait être lié à un problème dans le fichier main.py.
  • Bug nº 3 : Parcourez le site Web jusqu'à ce que vous rencontriez un problème, et utilisez Cloud Logging pour consulter les journaux exportés par chaque service. Un autre membre a mentionné que le problème de plantage pourrait être lié à une phase de conversion d'entiers effectuée dans le service.

Créer un récepteur de journaux BigQuery

Avant que vous ne tentiez de corriger le problème sous-jacent, il vous a été demandé de créer un récepteur de journaux pour récupérer les messages d'erreur associés au service présentant une défaillance. Vous allez ensuite vous servir d'IAM pour accorder aux utilisateurs d'Antern différents niveaux d'accès à BigQuery pour qu'ils puissent, selon leur rôle, visualiser l'ensemble de données ou interagir avec celui-ci.

  1. Utilisez l'explorateur de journaux pour examiner le fonctionnement de votre application GKE en cours d'exécution et examiner le service qui présente des erreurs. Conseil : vous devriez rechercher les journaux présentant le niveau de gravité ERROR (ERREUR).

  2. Une fois que vous avez identifié les journaux d'erreur du service, créez un récepteur afin de pouvoir exporter les journaux vers BigQuery.

    • Nommez ce récepteur .
    • Pour la destination, créez un ensemble de données BigQuery nommé gke_app_errors_sink, en définissant l'emplacement sur us (plusieurs régions aux États-Unis).
    • Assurez-vous d'inclure dans votre filtre d'inclusion les éléments suivants : resource.type (type de ressource), et severity (niveau de gravité).
Remarque : Si des erreurs d'autorisation se produisent, assurez-vous d'être connecté au projet Cymbal à l'aide des identifiants du propriétaire Cymbal.
  1. Accordez à l'utilisateur Éditeur Antern le rôle Lecteur de données BigQuery pour ce projet. Son nom d'utilisateur est .

  2. Accordez à l'utilisateur Propriétaire Antern le rôle Administrateur BigQuery pour ce projet. Son nom d'utilisateur est .

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un récepteur de journaux BigQuery

Réparer le GKE cluster

Comme vous avez créé un récepteur de journaux dans BigQuery pour récupérer les erreurs du service, certains ingénieurs de l'équipe ont pu se pencher sur le problème et déterminer la procédure à suivre pour le corriger. Dans cette tâche, vous allez télécharger le code permettant de résoudre ce problème et l'exécuter pour réparer le cluster GKE.

  1. Connectez-vous au cluster GKE cloud-ops-sandbox et exécutez les commandes suivantes pour résoudre le problème. Répondez aux questions de vérification lorsque vous y êtes invité.
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. Vérifiez que la boutique d'e-commerce fonctionne correctement.

Félicitations !

Vous avez effectué une journée de travail d'un ingénieur cloud. Vous avez migré une base de données PostgreSQL vers une instance Cloud SQL pour PostgreSQL, créé un réseau VPC avec des sous-réseaux et des pare-feu, résolu les problèmes liés à un cluster GKE et accordé à des utilisateurs IAM des autorisations sur plusieurs projets.

Badge de compétence "Deploy and Manage Cloud Environments"

Gagnez un badge de compétence

Cet atelier d'auto-formation est associé au badge de compétence du cours Deploy and Manage Cloud Environments with Google Cloud. Si vous terminez ce cours, vous obtiendrez le badge de compétence attestant de votre réussite mentionné ci-dessus. Ajoutez votre badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 8 mars 2024 Dernier test de l'atelier : 8 mars 2024

Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.