Points de contrôle
Create a Cloud SQL instance
/ 5
Create a database and configure a proxy on a Virtual Machine
/ 5
Implémenter Cloud SQL (Azure)
Vous avez récemment été embauché par une entreprise informatique qui utilise Google Cloud comme principal fournisseur de services cloud. En tant qu'expert en bases de données SQL, vous êtes chargé d'examiner et d'adopter les services SQL proposés par Google Cloud. Vous devez par exemple vous préoccuper des points suivants :
- Déploiement
- Sécurité
- Intégration des applications
- Méthodes de connectivité
Comme vous utilisiez Azure dans votre poste précédent, vous savez comment déployer un serveur SQL. Le modèle de tarification est basé sur un nombre personnalisable d'unités de transaction de base de données (DTU) classées selon diverses options correspondant à des scénarios d'utilisation différents.
Dans Azure, vous utilisez les éléments suivants :
- une implémentation de proxy pour assurer une connexion sécurisée à votre base de données ;
- un équilibreur de charge HTTP pour maintenir la disponibilité de la base de données pour votre application.
Vous pouvez utiliser différentes méthodes pour connecter des applications que vous avez déployées précédemment. En voici quelques-unes :
- Chaînes de connexion
- Intégration de services d'application Web
- Connexion à Cloud SQL à l'aide d'adresses IP privées
À présent, vous allez découvrir comment vous pouvez utiliser les fonctionnalités de Cloud SQL pour créer et connecter de manière sécurisée une base de données à une application.
Présentation
Dans cet atelier, vous allez apprendre à configurer un serveur Cloud SQL et découvrir comment connecter une application au serveur via un proxy, par le biais d'une connexion externe. Vous allez aussi apprendre à configurer une connexion via un lien d'adresse IP privée offrant des avantages en termes de performances et de sécurité. L'application que nous avons choisie à titre de démonstration dans cet atelier est WordPress, mais les informations et les bonnes pratiques sont applicables à toutes les applications nécessitant SQL Server.
À la fin de cet atelier, vous aurez deux instances de travail de l'interface WordPress connectées sur deux types de connexion différents à leur backend d'instance SQL, comme indiqué dans le schéma suivant :
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Créer une base de données Cloud SQL
- Configurer une machine virtuelle pour exécuter un proxy
- Créer une connexion entre une application et Cloud SQL
- Connecter une application à Cloud SQL à l'aide d'une adresse IP privée
Prérequis
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
-
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
-
Vérifiez le temps imparti pour l'atelier (par exemple :
01:15:00
) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début. -
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
-
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
-
Cliquez sur Ouvrir la console Google.
-
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués. -
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Tâche 1 : Créer une base de données Cloud SQL
Dans cette tâche, vous allez configurer un serveur SQL en respectant les bonnes pratiques Google Cloud et créer une connexion IP privée.
- Dans le menu de navigation (
), cliquez sur SQL.
- Cliquez sur Créer une instance.
- Cliquez sur Choisir MySQL.
- Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété | Valeur |
---|---|
ID d'instance | wordpress-db |
Mot de passe racine | saisir un mot de passe |
Région | |
Zone | Tout |
Version de la base de données | MySQL 5.7 |
-
Développez la section Afficher les options de configuration.
-
Développez la section Type de machine.
-
Provisionnez la quantité adéquate de vCPU et de mémoire. Pour choisir un type de machine, cliquez sur le menu déroulant, puis explorez vos options.
Remarque : Voici quelques points à retenir.
-
Pour cet atelier, sélectionnez Standard dans le menu déroulant, puis 1 vCPU, 3,75 Go de mémoire.
-
Développez ensuite la section Stockage, puis sélectionnez Type de stockage et Capacité de stockage.
Remarque : Voici quelques points à retenir.
- Cliquez sur chacune des options de capacité pour voir comment elle affecte le débit. Réinitialisez l'option à 10 Go.
-
Développez la section Connexions.
-
Sélectionnez Adresse IP privée.
-
Dans la liste déroulante Réseau, sélectionnez par défaut.
-
Cliquez sur le bouton Configurer la connexion qui s'affiche.
-
Dans le panneau de droite, cliquez sur Activer l'API, puis sur Utiliser une plage d'adresses IP automatiquement allouée. Cliquez ensuite sur Continuer, puis sur Créer une connexion.
-
Cliquez sur Créer une instance en bas de la page pour créer l'instance de base de données.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 2 : Configurer un proxy sur une machine virtuelle
Si votre application ne se trouve pas dans la même région et sur le même réseau VPC que votre instance Cloud SQL, utilisez un proxy pour sécuriser sa connexion externe.
Pour configurer le proxy, vous avez besoin du nom de connexion de l'instance Cloud SQL.
-
Dans le menu de navigation (
), cliquez sur Compute Engine.
-
Cliquez sur SSH à côté de wordpress-proxy.
-
Téléchargez le proxy de Cloud SQL et rendez-le exécutable :
Pour démarrer le proxy, vous avez besoin du nom de connexion de l'instance Cloud SQL. Gardez votre fenêtre SSH ouverte et retournez dans la console Cloud.
-
Dans le menu de navigation (
), cliquez sur SQL.
-
Cliquez sur l'instance wordpress-db et attendez qu'une coche verte à côté de son nom indique qu'elle est opérationnelle (cela peut prendre quelques minutes).
-
Notez le nom de connexion de l'instance ; il sera utilisé plus tard et désigné par l'expression [SQL_CONNECTION_NAME].
-
En outre, pour que l'application fonctionne, vous devez créer une table. Cliquez sur Bases de données.
-
Cliquez sur Créer une base de données, tapez wordpress, qui est le nom attendu par l'application, puis cliquez sur Créer.
-
Revenez à la fenêtre SSH et enregistrez le nom de la connexion dans une variable d'environnement, en remplaçant [SQL_CONNECTION_NAME] par le nom unique que vous avez copié lors d'une étape précédente :
- Pour vérifier que la variable d'environnement est bien configurée, exécutez la commande suivante :
Le nom de la connexion doit être affiché.
- Pour activer la connexion du proxy à votre base de données Cloud SQL et envoyer le processus en arrière-plan, exécutez la commande suivante :
Le résultat attendu est :
- Appuyez sur Entrée.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tâche 3 : Connecter une application à l'instance Cloud SQL
Dans cette tâche, vous connecterez un exemple d'application à l'instance Cloud SQL.
- Configurez l'application WordPress. Pour trouver l'adresse IP externe de votre machine virtuelle, interrogez ses métadonnées :
-
Accédez à l'adresse IP externe wordpress-proxy dans votre navigateur et configurez l'application WordPress.
-
Cliquez sur Let's Go (C'est parti).
-
Spécifiez les paramètres suivants, en remplaçant [ROOT_PASSWORD] par le mot de passe que vous avez configuré lors de la création de la machine, et conservez les valeurs par défaut des autres paramètres :
Propriété | Value (Valeur) |
---|---|
Username (Nom d'utilisateur) | root |
Password (Mot de passe) | [ROOT_PASSWORD] |
Database Host (Hôte de base de données) | 127.0.0.1 |
-
Cliquez sur Envoyer.
-
Lorsqu'une connexion a été établie, cliquez sur Run the installation (Exécuter l'installation) pour instancier WordPress et sa base de données dans votre Cloud SQL. Cela peut prendre un moment.
-
Complétez les informations de votre site de démonstration avec des valeurs aléatoires et cliquez sur Install WordPress (Installer WordPress). Vous n'aurez pas besoin de vous souvenir de ces informations ni de les utiliser.
- Lorsqu'une fenêtre confirme que tout a bien fonctionné, supprimez le texte situé après l'adresse IP dans la barre d'adresse de votre navigateur Web et appuyez sur Entrée.
Vous verrez apparaître un blog WordPress fonctionnel.
Tâche 4 : Se connecter à Cloud SQL via une adresse IP interne
Si vous pouvez héberger votre application dans la même région et sur le même réseau VPC que votre Cloud SQL, vous pouvez utiliser une configuration plus sécurisée et plus performante en vous servant d'une adresse IP privée.
En utilisant une adresse IP privée, vous augmentez les performances en réduisant la latence et en limitant la surface d'attaque de votre instance Cloud SQL, car vous pouvez communiquer avec elle exclusivement via des adresses IP internes.
- Dans la console Cloud, accédez au menu de navigation (
), puis cliquez sur SQL.
- Cliquez sur wordpress-db.
- Notez l'adresse IP privée du serveur Cloud SQL ; elle sera désignée par l'expression [SQL_PRIVATE_IP].
- Dans le menu de navigation, cliquez sur Compute Engine.
-
Copiez l'adresse IP externe de wordpress-private-ip, collez-la dans une fenêtre de navigateur et appuyez sur Entrée.
-
Cliquez sur Let's Go (C'est parti).
-
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété | Value (Valeur) |
---|---|
Username (Nom d'utilisateur) | root |
Password (Mot de passe) | saisissez le mot de passe [ROOT_PASSWORD] configuré lors de la création de l'instance Cloud SQL |
Database Host (Hôte de base de données) | [SQL_PRIVATE_IP] |
- Cliquez sur Submit (Envoyer).
-
Cliquez sur Run the installation (Exécuter l'installation).
Une fenêtre indiquant que l'application est déjà installée s'affiche, ce qui signifie qu'elle est connectée au serveur Cloud SQL par une adresse IP privée. -
Dans la barre d'adresse de votre navigateur Web, supprimez le texte situé après l'adresse IP et appuyez sur Entrée.
Vous verrez apparaître un blog WordPress fonctionnel.
Tâche 5 : Récapitulatif
Dans cet atelier, vous avez créé une base de données Cloud SQL et l'avez configurée pour utiliser à la fois une connexion externe via un proxy sécurisé et une adresse IP privée, qui est plus sûre et performante. Rappelez-vous que vous ne pouvez vous connecter à l'aide d'une adresse IP privée que si l'application et le serveur Cloud SQL sont situés dans la même région et font partie du même réseau VPC. Si votre application est hébergée dans une région, un VPC ou même un projet différent, utilisez un proxy pour sécuriser sa connexion externe.
Maintenant que vous savez comment créer et configurer une base de données dans Cloud SQL, examinons certaines similitudes et différences entre Google Cloud SQL et Azure SQL.
Similitudes :
- Azure et Google Cloud gèrent l'infrastructure de la base de données de façon à inclure les instances, les sauvegardes, les mises à jour et le basculement.
- Cloud SQL et Azure SQL déploient tous deux un proxy afin de recevoir des connexions sécurisées provenant de l'extérieur de votre VPC.
- Les deux services créent une connexion à l'aide d'une chaîne de connexion.
- Les deux services peuvent utiliser une adresse IP interne afin d'établir une connexion directe entre une application et une instance de serveur SQL s'ils figurent dans la même région et font partie du même réseau VPC. L'utilisation exclusive d'adresses IP internes vous permet d'améliorer la sécurité, car aucune connexion publique n'est alors autorisée.
Différences :
- Les spécifications pour la création d'un serveur SQL sont conçues de façon différente pour Google Cloud et Azure. Dans Azure, vous avez le choix entre différentes catégories, unités de transaction de base de données (DTU) et capacités de stockage. Dans Google Cloud, vous spécifiez directement le nombre de CPU et la capacité de stockage nécessaires.
- Google Cloud dispose d'un mécanisme intégré d'authentification de base de données (utilisateur-mot de passe) et vous permet d'implémenter un proxy d'authentification Cloud SQL ainsi que des bibliothèques de connecteurs afin de fournir un accès basé sur IAM. Dans Azure, par contre, vous pouvez utiliser des stratégies pour définir comment les requêtes vont être acceptées. Pour le traitement des requêtes, vous avez également le choix d'utiliser soit une méthode de redirection (option par défaut), soit une stratégie de connexion au proxy. L'authentification Azure Active Directory est également prise en charge.
- Dans Google Cloud, vous avez le choix entre deux options principales pour vous connecter à l'instance à l'aide de Cloud SQL :
- Proxy d'authentification Cloud SQL : un tunnel sécurisé qui ne nécessite pas de réseau autorisé ni de chiffrement SSL. L'authentification et l'autorisation se font par le biais de stratégies Identity and Access Management (IAM) et du protocole OAuth 2.0.
- Adresse IP privée : une connexion privée entre votre réseau VPC et le réseau VPC sous-jacent du producteur de services Google.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
- 1 étoile = très insatisfait(e)
- 2 étoiles = insatisfait(e)
- 3 étoiles = ni insatisfait(e), ni satisfait(e)
- 4 étoiles = satisfait(e)
- 5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 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.