Se connecter à une instance Cloud SQL pour MySQL avec une adresse IP privée
Cette page vous explique comment créer une instance MySQL et vous y connecter à l'aide d'une adresse IP privée. Les ressources créées dans ce guide de démarrage rapide coûtent généralement moins d'un dollar, en supposant que vous effectuiez les étapes, y compris le nettoyage, en temps opportun.
Pour obtenir des instructions détaillées sur cette tâche directement dans la Google Cloud console, cliquez sur Visite guidée:
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide de démarrage rapide.
-
Activez les API nécessaires Google Cloud .
Console
Dans la Google Cloud console, accédez à la page API.
Activez l'API Cloud SQL Admin. En activant cette API, vous pouvez exécuter le proxy d'authentification Cloud SQL.gcloud
Cliquez sur le bouton suivant pour ouvrir Cloud Shell, qui fournit un accès en ligne de commande à vos Google Cloud ressources directement depuis le navigateur. Cloud Shell peut être utilisé pour exécuter les commandes
gcloudprésentées dans ce guide de démarrage rapide.Exécutez la commande
gcloud services enablecomme suit à l'aide de Cloud Shell pour activer les API requises pour ce guide de démarrage rapide :gcloud services enable sqladmin.googleapis.com
Cette commande active les API suivantes :
- API Cloud SQL Admin En activant cette API, vous pouvez exécuter le proxy d'authentification Cloud SQL.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer Cloud SQL avec une adresse IP privée, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet que vous souhaitez configurer et auquel vous connecter :
-
Créer ou supprimer une instance, une base de données et un utilisateur:
rôle Administrateur Cloud SQL (
roles/cloudsql.admin) -
Créer ou supprimer un compte de service IAM :
rôle Administrateur de compte de service IAM (
roles/iam.serviceAccountAdmin). -
Créer ou supprimer une instance de calcul :
-
Rôle Administrateur de Compute (
roles/compute.admin) -
Rôle Administrateur d'instance Compute (
roles/compute.instanceAdmin.v1)
-
Rôle Administrateur de Compute (
-
Créer une connexion :
-
Administrateur des réseaux de services (
roles/servicenetworking.networksAdmin)) -
Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin)
-
Administrateur des réseaux de services (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Présentation
Il existe de nombreuses façons de se connecter à une instance Cloud SQL avec une adresse IP privée, en fonction de l'emplacement de la source. Le facteur clé est que la machine source doit se trouver sur le même réseau VPC que l'instance Cloud SQL. Si la source ne se trouve pas dans Google Cloud ou dans le même Google Cloud projet, vous devez configurer la connectivité différemment de la solution présentée ici.
Dans ce guide de démarrage rapide, nous configurons la connectivité via le chemin le plus direct. La source et la cible se trouvent dans le même Google Cloud projet et sur le même réseau VPC. Nous créons une instance Cloud SQL avec une adresse IP privée (la cible) et une VM Compute Engine (la source). Nous utilisons la VM pour installer et utiliser les outils nécessaires pour se connecter depuis la VM à l'instance Cloud SQL.
Effectuez les actions suivantes :
- Créez une instance Cloud SQL avec une adresse IP privée.
Recherchez le
connection namede l'instance et enregistrez-le pour une utilisation ultérieure. - Créez une VM Compute Engine.
- Ouvrir deux connexions SSH à la VM Compute Engine.
Vous utiliserez la première fenêtre pour installer la commande mysql, et installer et démarrer le proxy d'authentification Cloud SQL. Ensuite, vous utiliserez la deuxième fenêtre pour vous connecter à l'instance Cloud SQL en vous connectant au proxy d'authentification Cloud SQL.
- Dans la fenêtre SSH 1, procédez comme suit :
- Installez le client MySQL.
- Installez le proxy d'authentification Cloud SQL.
Le proxy d'authentification Cloud SQL sert de connecteur entre le client mysql et l'instance Cloud SQL.
- Démarrez le proxy d'authentification Cloud SQL.
En cas de réussite, le proxy Cloud SQL Auth écoute les requêtes de connexion.
- Dans la fenêtre SSH 2, connectez-vous à l'instance Cloud SQL en demandant au client mysql de se connecter au proxy d'authentification Cloud SQL.
En cas de réussite, votre invite mysql apparaît dans cette fenêtre et un message de connexion réussie dans la fenêtre SSH 1, où le proxy d'authentification Cloud SQL est en cours d'exécution.
- Effectuez un nettoyage.
Créer une instance Cloud SQL avec une adresse IP privée
Pour créer une instance qui utilise des connexions IP privées, procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Instances Cloud SQL.
- Sélectionnez l'onglet MySQL, puis cliquez sur Créer une instance Sandbox dans la zone Sandbox. Vous pouvez également cliquer surCréer une instance et procéder comme suit :
- Cliquez sur Choisir MySQL.
- Sélectionnez l'édition Enterprise.
- Choisissez le préréglage Sandbox.
- Si vous êtes invité à activer l'API Compute, cliquez sur le bouton Activer l'API.
- Dans la section Informations sur l'instance, saisissez un nom pour l'ID d'instance.
- Entrez un mot de passe pour l'utilisateur racine. Notez le mot de passe que vous avez créé, car vous en aurez besoin plus tard.
- Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez l'option Zone unique.
- Développez la section Afficher les options de configuration.
- Développez Connexions.
- Désactivez l'option Adresse IP publique.
- Sélectionnez Adresse IP privée.
- Sélectionnez Accès aux services privés.
- Dans la liste déroulante Réseau VPC, sélectionnez Par défaut.
- Si vous utilisez un nouveau projet, le message La connexion réseau n'est pas configurée s'affiche. Une zone intitulée Confirmation de la configuration réseau requise vous redirige vers la documentation VPC pour configurer l'accès aux services privés.
- Dans la Google Cloud console, accédez à la page Réseaux VPC :
- Sélectionnez le réseau VPC default.
- Définissez une règle de pare-feu qui autorise l'accès au port TCP 22 :
- Sélectionnez l'onglet Pare-feu.
- Sous Règles de pare-feu VPC, sélectionnez Créer une règle de pare-feu VPC.
- Attribuez un nom à la règle de pare-feu.
- Sous Cibles, sélectionnez Toutes les instances du réseau.
- Sous Plages d'adresses IPv4 sources, saisissez
0.0.0.0/0. - Sous Protocoles et ports, cochez la case TCP, puis dans la zone Ports située juste en dessous, saisissez
22. - Sélectionnez Créer.
- Allouez une plage d'adresses IP :
- Sélectionnez l'onglet Accès aux services privés.
- Dans l'onglet Accès aux services privés, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.
- Cliquez sur Allouer une plage d'adresses IP.
- Saisissez un nom et, si vous le souhaitez, une description pour la plage allouée.
- Pour laisser Google sélectionner une plage disponible, sélectionnez Automatique.
- Saisissez une longueur de préfixe comprise entre
16et 124 (le nombre d'adresses allouées est égal à 2 à la puissance (32 - longueur du préfixe)). - Cliquez sur Allouer pour créer la plage allouée.
- Créez une connexion privée :
- Dans l'onglet Accès aux services privés, passez à l'onglet Connexions privées aux services.
- Cliquez sur le bouton Créer une connexion.
- Dans la liste déroulante Allocation attribuée de la zone Créer une connexion privée connection box, sélectionnez le nom de la plage d'adresses IP que vous just created.
- Cliquez sur Se connecter.
- Une fois la connexion créée, revenez à l'endroit où vous avez créé votre instance Cloud SQL, puis cliquez sur Confirmer la connexion.
- Une fois la connexion d'accès aux services privés créée, cliquez sur Créer une instance.
Vous êtes redirigé vers la page de présentation de l'instance pendant la création de la nouvelle instance.
Une fois la création de l'instance terminée, faites défiler la page jusqu'à la section Se connecter à cette instance , puis enregistrez le nom de connexion de l'instance.
Le connection name est au format projectID:region:instanceID.
Vous utiliserez ce connection name lors du démarrage du proxy d'authentification Cloud SQL.
Créer une VM Compute Engine
Pour créer une VM, procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Instances de VM.
- Cliquez sur Create instance (Créer une instance).
- Entrez un nom pour l'instance.
- Sélectionnez Protection des données dans le volet de navigation, puis sélectionnez Aucune sauvegarde.
- Sélectionnez Sécurité dans le volet de navigation, puis sous Niveaux d'accès, sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud.
- Cliquez sur Créer , puis patientez jusqu'à la fin de la création de la VM.
Ouvrir deux connexions SSH à la VM Compute Engine
Nous utilisons deux fenêtres dans la VM. La première fenêtre permet d'installer le client MySQL et le proxy Cloud SQL Auth, d'obtenir le nom de connexion de l'instance et de l'utiliser pour démarrer le proxy. La deuxième fenêtre permet de se connecter à l'instance Cloud SQL via le proxy.
- Développez le menu SSH dans la colonne Connecter de votre instance de VM Compute Engine.
- Sélectionnez Ouvrir dans une fenêtre du navigateur pour ouvrir la fenêtre SSH 1.
L'affichage de l'invite dans la fenêtre peut prendre quelques secondes.
- Lorsque l'invite s'affiche, saisissez
pwdpour vérifier que vous êtes bien dans le répertoire/home/$USER.Vous allez installer le client mysql et le proxy d'authentification Cloud SQL, puis démarrer le proxy dans cette fenêtre.
- Sélectionnez à nouveau Ouvrir dans la fenêtre du navigateur pour ouvrir la fenêtre SSH 2.
Vous allez utiliser cette fenêtre pour vous connecter à votre instance Cloud SQL.
Installer le client mysql
Utilisez la fenêtre SSH 1 pour cette étape.
Installez le client MySQL depuis le gestionnaire de packages et arrêtez le serveur mysqld :
sudo apt-get update sudo apt-get install default-mysql-client
Installer le proxy d'authentification Cloud SQL
Utilisez la fenêtre SSH 1 pour cette étape.
- Installez
wget:sudo apt-get install wget
- Téléchargez le proxy d'authentification Cloud SQL :
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- Rendez le proxy d'authentification Cloud SQL exécutable :
chmod +x cloud-sql-proxy
Démarrer le proxy d'authentification Cloud SQL
Utilisez la fenêtre SSH 1 pour cette étape.
Démarrez le proxy d'authentification Cloud SQL pour pouvoir surveiller sa sortie. Remplacez INSTANCE_CONNECTION_NAME par le connection name que vous avez copié lors de la création de l'instance Cloud SQL.
./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME
Lorsque le proxy d'authentification Cloud SQL démarre correctement, un message semblable au suivant s'affiche dans la fenêtre SSH :
Listening on 127.0.0.1:3306 for myInstance Ready for new connections
Vous connecter à l'instance Cloud SQL
Utilisez la fenêtre SSH 2 pour cette étape.
Exécutez la commande suivante :
mysql -u root -p --host 127.0.0.1 --port 3306
Lorsque l'invite Enter password: s'affiche, saisissez le mot de passe de votre compte utilisateur racine MySQL.
Vérifiez que l'invite MySQL s'affiche. Vous vous êtes connecté à votre base de données à l'aide du client mysql.
Revenez à la fenêtre de terminal dans laquelle vous avez démarré le proxy d'authentification Cloud SQL. Un message semblable au suivant doit s'afficher :
New connection for myInstance
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Instances Cloud SQL.
- Sélectionnez l'instance
myinstancepour ouvrir la page Détails de l'instance. - Dans la barre d'icônes en haut de la page, cliquez sur Supprimer.
- Dans la fenêtre Supprimer l'instance, saisissez le nom de l'instance, puis cliquez sur Supprimer.
Étapes de nettoyage facultatives
Si vous n'utilisez pas les API activées dans le cadre de ce démarrage rapide, vous pouvez les désactiver.
- API activées dans ce guide de démarrage rapide :
- API Cloud SQL Admin
Dans la Google Cloud console, accédez à la page API.
Sélectionnez l'API Cloud SQL Admin, puis cliquez sur le bouton Désactiver l'API.
Dans la Google Cloud console, accédez à la page Instances de VM.
Sélectionnez le nom de votre instance.
Sélectionnez Supprimer dans le menu Autres actions.
Étape suivante
En fonction de vos besoins, vous pouvez en apprendre plus sur la création d'instances Cloud SQL.
Vous pouvez également découvrir comment créer des utilisateurs MySQL et des bases de données pour votre instance Cloud SQL.
Vous pouvez également en savoir plus sur la connexion à une instance Cloud SQL à partir d' autres Google Cloud applications :