Points de contrôle
Prepare a source PostgreSQL database for migration
/ 20
Migrate a stand-alone PostgreSQL database to Cloud SQL
/ 20
Promote a Database Migration Services continuous replica to a stand-alone instance.
/ 20
Update permissions and add IAM roles to users
/ 10
Create networks and firewalls
/ 10
Create a BigQuery log sink
/ 20
Deploy and Manage Cloud Environments with Google Cloud : atelier challenge
- GSP314
- Introduction
- Préparation
- Scénario du challenge
- Tâche 1 : Migrer une base de données PostgreSQL autonome vers une instance Cloud SQL pour PostgreSQL
- Tâche 2 : Modifier les autorisations et ajouter des rôles IAM aux utilisateurs
- Tâche 3 : Créer des réseaux et des pare-feu
- Tâche 4 : Réparer un cluster GKE présentant un défaillance
- Félicitations !
GSP314
Introduction
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 Deploy and Manage Cloud Environments with Google Cloud et qui veulent obtenir le badge de compétence associé. Ê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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Scénario du challenge
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 test, 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
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 :
- Activer les APIs 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.
- Mettre à niveau les bases de données cibles sur la machine virtuelle
antern-postgresql-vm
avec l'extension de base de donnéespglogical
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.
- 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!
- 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
.
- 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.
Cliquez sur Vérifier ma progression pour valider l'objectif.
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 :
- 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!
-
Nom d'utilisateur :
Vous devez configurer le profil de connexion en vous servant de l'adresse IP interne de l'instance Compute source.
- Créer un job Database Migration Service continu
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
-
Région définie sur
- Connexions définies pour l'adresse IP publique ainsi que pour l'adresse IP privée
- Type de machine : standard avec 1 vCPU
- 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).
- Tester et démarrer le job de migration continu
Cliquez sur Vérifier ma progression pour valider l'objectif.
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 pour la convertir en instance autonome.
Cliquez sur Vérifier ma progression pour valider l'objectif.
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.
-
Accordez à l'utilisateur éditeur Antern le rôle d'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.
-
Accordez à l'utilisateur Propriétaire Cymbal le rôle d'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.
-
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.
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.
Créer un réseau VPC comportant deux sous-réseaux
-
Créez un réseau VPC nommé
avec deux sous-réseaux : et . Utilisez un mode de routage dynamique régional. -
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
.
-
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
-
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 IP doivent inclure toutes les plages IPv4.
- Définissez le protocole sur TCP et le port sur
22
.
- Pour le réseau, utilisez
-
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 IP doivent inclure toutes les plages IPv4.
- Définissez le protocole sur TCP et le port sur
3389
.
- Pour le réseau, utilisez
-
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 IP doivent inclure toutes les plages IPv4.
- Définissez le protocole sur icmp.
- Pour le réseau, utilisez
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 4 : Réparer un cluster GKE présentant un défaillance
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 de produits en passe de devenir 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 :
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.
-
Utilisez l'explorateur de journaux pour examiner le fonctionnement de votre application GKE en cours d'exécution et identifier si le service génère des erreurs. Conseil : vous devriez rechercher les journaux présentant le niveau de gravité
ERROR
(ERREUR). -
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é).
- Nommez ce récepteur
-
Accordez à l'utilisateur Éditeur Antern le rôle Lecteur de données BigQuery pour ce projet. Son nom d'utilisateur est
. -
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.
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.
- 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é.
- Vérifiez que la boutique d'e-commerce fonctionne correctement.
Félicitations !
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 : 5 février 2024
Dernier test de l'atelier : 20 septembre 2023
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.