Se connecter à Cloud SQL depuis des applications externes

Cette page explique comment établir une connexion à Cloud SQL à partir d'une application exécutée en dehors de Google Cloud.

Les connexions aux bases de données consomment des ressources sur le serveur et sur l'application de connexion. Suivez toujours les bonnes pratiques en matière de gestion des connexions afin de réduire au maximum l'encombrement de votre application et les risques de dépassement des limites de connexion Cloud SQL. Pour en savoir plus, consultez la page Gérer les connexions à la base de données.

Avant de commencer

Le fait d'accorder l'accès à une application ne permet pas automatiquement à un compte utilisateur de base de données de se connecter à l'instance. Pour pouvoir vous connecter à cette dernière, vous devez disposer d'un compte utilisateur de base de données permettant d'établir la connexion. Pour les nouvelles instances, cela signifie que vous devez avoir configuré le compte utilisateur par défaut. En savoir plus

Options de connexion

Le tableau suivant compare les options de connexion à une instance Cloud SQL à partir d'une application externe :

Option de connexion Sécurisée, chiffrée ? En savoir plus Commentaires
Adresse IP publique avec SSL Oui Gestion des certificats SSL requise
Adresse IP publique sans SSL Non Option déconseillée pour les instances de production
Proxy Cloud SQL Oui
Image Docker du proxy Cloud SQL Oui
Bibliothèque de sockets JDBC Oui Langage de programmation Java uniquement
Bibliothèque proxy Go Oui Langage de programmation Go uniquement
Cloud Shell Non Utilise le proxy Cloud SQL pour se connecter à partir de Google Cloud Console. Recommandé pour les tâches d'administration nécessitant l'outil de ligne de commande mysql.
Apps Script Oui Apps Script peut se connecter à des bases de données externes via le service JDBC, un wrapper autour de la technologie Java Database Connectivity standard.

Se connecter depuis une application externe à l'aide du proxy

Si vous configurez le proxy Cloud SQL pour un environnement de test local (non destiné à la production), vous pouvez vous reporter au guide de démarrage rapide du proxy au lieu de suivre ces instructions.

Si vous utilisez les langages de programmation Java ou Go, d'autres solutions que le proxy Cloud SQL sont possibles. En savoir plus

1. Activer l'API

Activez l'API Cloud SQL Admin.

Activer l'API

2. Installer le client proxy sur votre ordinateur local

Linux 64 bits

  1. Téléchargez le proxy :
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  2. Rendez le proxy exécutable :
    chmod +x cloud_sql_proxy
    

Linux 32 bits

  1. Téléchargez le proxy :
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
    
  2. Rendez le proxy exécutable :
    chmod +x cloud_sql_proxy
    

macOS 64 bits

  1. Téléchargez le proxy :
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
    
  2. Rendez le proxy exécutable :
    chmod +x cloud_sql_proxy
    

macOS 32 bits

  1. Téléchargez le proxy :
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
    
  2. Rendez le proxy exécutable :
    chmod +x cloud_sql_proxy
    

Windows 64 bits

Pour télécharger le proxy, effectuez un clic droit sur https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe, puis sélectionnez Enregistrer le lien sous. Renommez le fichier en cloud_sql_proxy.exe.

Windows 32 bits

Pour télécharger le proxy, effectuez un clic droit sur https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe, puis sélectionnez Enregistrer le lien sous. Renommez le fichier en cloud_sql_proxy.exe.
Si votre système d'exploitation n'apparaît pas ici, vous pouvez également compiler le proxy à partir de la source.

3. Décider de la manière dont vous allez authentifier le proxy

En savoir plus sur les options d'authentification du proxy.

4. Créer un compte de service si votre méthode d'authentification l'exige

Lorsque vous utilisez un compte de service pour fournir les identifiants du proxy, vous devez le créer avec des autorisations suffisantes. Si vous gérez vos autorisations Cloud SQL à l'aide des rôles IAM (Identity and Access Management), qui sont plus précis, vous devez attribuer au compte de service un rôle qui inclut l'autorisation "cloudsql.instances.connect". Voici les rôles Cloud SQL prédéfinis qui incluent cette autorisation :

  • Client Cloud SQL
  • Éditeur Cloud SQL
  • Administrateur Cloud SQL

Si vous utilisez les anciens rôles de projet (Lecteur, Éditeur, Propriétaire), le compte de service doit disposer au minimum du rôle Éditeur.

  1. Accédez à la page Comptes de service de Google Cloud Console.

    Accéder à la page Comptes de service

  2. Sélectionnez le projet contenant l'instance Cloud SQL.
  3. Cliquez sur Créer un compte de service.
  4. Dans la boîte de dialogue Créer un compte de service, indiquez un nom descriptif pour le compte de service.
  5. Pour Rôle, sélectionnez l'un des rôles suivants :
    • Cloud SQL > Client Cloud SQL
    • Cloud SQL > Éditeur Cloud SQL
    • Cloud SQL > Administrateur Cloud SQL

    Vous pouvez également utiliser le rôle de base d'éditeur en sélectionnant Projet > Éditeur. Sachez toutefois que celui-ci dispose d'autorisations sur l'ensemble de Google Cloud.

    Si vous ne voyez pas ces rôles, votre utilisateur Google Cloud peut ne pas disposer de l'autorisation resourcemanager.projects.setIamPolicy. Pour vérifier vos autorisations, accédez à la page IAM de Google Cloud Console et recherchez votre ID utilisateur.

  6. Remplacez l'ID du compte de service par une valeur unique et facilement reconnaissable.
  7. Cliquez sur Indiquer une nouvelle clé privée et vérifiez que le type de clé est JSON.
  8. Cliquez sur Créer.

    Le fichier de clé privée est téléchargé sur votre machine. Vous pouvez le changer d'emplacement. Conservez le fichier de clé dans un endroit sécurisé.

5. Décider de la manière dont vous allez spécifier vos instances pour le proxy

En savoir plus sur les options permettant de spécifier les instances au proxy

6. Démarrer le proxy

Les options transmises au proxy dépendent des options d'authentification et de spécification d'instance que vous avez sélectionnées précédemment.

Selon le langage et l'environnement que vous employez, vous pouvez démarrer le proxy à l'aide de sockets TCP ou Unix.

Sockets TCP

  1. Copiez le nom de connexion de l'instance depuis la page Détails de l'instance.

    Exemple : myproject:myregion:myinstance.

  2. Si vous utilisez un compte de service pour authentifier le proxy, notez l'emplacement sur votre machine cliente du fichier de clé privée généré au moment de la création du compte de service.
  3. Démarrez le proxy.

    Voici des exemples de chaînes d'appel du proxy :

    • Avec l'authentification via le SDK Cloud :
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
      
      Le port spécifié ne doit pas déjà être utilisé, par exemple par un serveur de base de données local.
    • À l'aide d'un compte de service et en incluant explicitement le nom de la connexion à l'instance (recommandé pour les environnements de production) :
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 \
                        -credential_file=<PATH_TO_KEY_FILE> &
      

    Pour en savoir plus sur les options de proxy, consultez les sections Options d'authentification du proxy et Options de spécification d'instances.

Sockets Unix

  1. Si vous utilisez une spécification explicite d'instance, copiez le nom de connexion de l'instance depuis la page Détails de l'instance.
  2. Créez le répertoire où résideront les sockets du proxy :
    sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
  3. Si vous utilisez un compte de service pour authentifier le proxy, notez l'emplacement sur votre machine cliente du fichier de clé privée généré au moment de la création du compte de service.
  4. Ouvrez une nouvelle fenêtre de terminal et démarrez le proxy.

    Voici des exemples de chaînes d'appel du proxy :

    • À l'aide d'un compte de service et en incluant explicitement le nom de la connexion à l'instance (recommandé pour les environnements de production) :
      ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME> \
                        -credential_file=<PATH_TO_KEY_FILE> &
    • Avec l'authentification via le SDK Cloud et la détection automatique d'instances :
      ./cloud_sql_proxy -dir=/cloudsql &

    Nous vous recommandons de démarrer le proxy dans son propre terminal, afin de pouvoir surveiller sa sortie sans qu'elle ne soit mélangée avec celle d'autres programmes.

    Pour en savoir plus sur les options de proxy, consultez les sections Options d'authentification du proxy et Options de spécification d'instances.

  5. Lorsque vous utilisez un socket Unix pour vous connecter à Cloud SQL à l'aide du proxy Cloud SQL, assurez-vous que la longueur du nom de fichier du socket ne dépasse pas la limite du système. Cela dépend du système, mais il comporte généralement entre 91 et 108 caractères. Sous Linux, la longueur est généralement définie sur 108 caractères, et vous pouvez la vérifier à l'aide de la commande suivante :
    cat /usr/include/linux/un.h | grep "define UNIX_PATH_MAX"

7. Mettre à jour votre application pour vous connecter à Cloud SQL à l'aide du proxy

L'instruction de code exacte qui est requise pour se connecter à l'instance Cloud SQL via le proxy dépend du langage et du framework utilisés.

Pour vous connecter au proxy, procédez de la même manière que vous le feriez avec un socket TCP ou Unix (selon la méthode employée pour appeler le proxy) :

Sockets TCP

Avec les sockets TCP, le proxy est disponible en tant qu'hôte local :

127.0.0.1:3306

Sockets Unix

Avec les sockets Unix, le proxy est disponible via le chemin suivant :

PROXY_PATH/INSTANCE_CONNECTION_NAME;
PROXY_PATH est le chemin d'accès au répertoire que vous avez défini avec l'option -dir lors du démarrage du proxy. Les exemples de cette documentation utilisent /cloudsql. Vous pouvez trouver le nom de connexion de votre instance sur la page Détails de l'instance dans Google Cloud Console ou utiliser PROJECT-ID:REGION:INSTANCE_NAME.

Besoin d'aide ? Pour obtenir de l'aide sur le dépannage du proxy, consultez la section Dépannage des connexions via le proxy Cloud SQL. Vous pouvez également consulter notre page Assistance Cloud SQL.

Informations et exemples propres aux langages

Vous pouvez vous connecter au proxy au moyen de n'importe quel langage permettant la connexion à un socket Unix ou TCP. Vous trouverez ci-dessous quelques exemples d'instructions d'appel du proxy et de connexion pour vous aider à comprendre comment ils fonctionnent ensemble dans votre application.

.NET

Après avoir démarré le proxy, modifiez votre fichier appsettings.json et définissez une chaîne de connexion dans CloudSql:ConnectionString. Exemple :

{
  "CloudSQL" : {
     ConnectionString": "Host=127.0.0.1;Uid=DATABASE_USER;Pwd=PASSWORD;Database=DATABASE_NAME"
  }
}

Créez ensuite une connexion à la base de données dans votre fichier Startup.cs :

var connectionString = new MySqlConnectionStringBuilder(
    Configuration["CloudSql:ConnectionString"])
{
    // Connecting to a local proxy that does not support ssl.
    SslMode = MySqlSslMode.None,
};
DbConnection connection =
    new MySqlConnection(connectionString.ConnectionString);

Go

Vous pouvez utiliser le proxy Cloud SQL avec le langage de programmation Go de deux manières :

  1. En utilisant la bibliothèque proxy Go
  2. En exécutant le proxy en tant que processus associé

Bibliothèque proxy Go

La bibliothèque constitue le moyen le plus simple de se connecter à Cloud SQL à partir d'un programme en Go, car vous n'avez pas besoin de démarrer explicitement le proxy en tant que processus indépendant.

import (
    "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
)
...
cfg := mysql.Cfg(INSTANCE_CONNECTION_NAME, DATABASE_USER, PASSWORD)
cfg.DBName = DATABASE_NAME
db, err := mysql.DialCfg(cfg)

Pour en savoir plus, consultez la page GitHub sur le proxy Cloud SQL.

Processus associé

Vous pouvez également exécuter le proxy en tant que processus associé et vous y connecter depuis votre application.

Les instructions d'appel de proxy ci-dessous utilisent l'authentification via le SDK Cloud local pour plus de concision. L'instruction d'appel varie selon votre méthode d'authentification et la manière dont vous spécifiez vos instances. Consultez la section Options d'authentification du proxy Cloud SQL.

Sockets TCP

Instruction d'appel du proxy :

./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME]=tcp:3306 &

Instruction de connexion :

import (
       "database/sql"
        _ "github.com/go-sql-driver/mysql"
)

dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s",
       DATABASE_USER,
       PASSWORD,
       "127.0.0.1:3306",
       DATABASE_NAME)
db, err := sql.Open("mysql", dsn)

Sockets Unix

Instruction d'appel du proxy :

./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME] -dir=/cloudsql &

Instruction de connexion :

import (
       "database/sql"
        _ "github.com/go-sql-driver/mysql"
)

dsn := fmt.Sprintf("%s:%s@unix(/cloudsql/%s)/%s",
       DATABASE_USER,
       PASSWORD,
       INSTANCE_CONNECTION_NAME,
       DATABASE_NAME)
db, err := sql.Open("mysql", dsn)

Java

Le langage de programmation Java n'offre pas de compatibilité intégrée pour les sockets Unix. Vous pouvez utiliser des sockets TCP ou une bibliothèque qui offre une compatibilité entre les sockets Unix et le proxy Cloud SQL, mais le moyen le plus simple de vous connecter à une instance Cloud SQL sans ajouter d'adresses réseau autorisées est d'utiliser la fabrique de sockets JDBC.

La fabrique de sockets JDBC fournit une alternative au logiciel proxy côté client. Elle nécessite que vous activiez l'API Cloud SQL Admin, tout comme le proxy Cloud SQL. La fabrique de sockets fournit le même niveau de chiffrement que le proxy et s'authentifie avec les identifiants du SDK Cloud. Vous devez installer et authentifier le SDK Cloud avant d'utiliser la fabrique de sockets.

Consultez Cloud SQL Socket Factory pour les pilotes JDBC pour des exemples de code. Consultez le fichier README pour obtenir des instructions.

PHP

PDO et TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Les exemples suivants se connectent à Cloud SQL à l'aide de PHP Data Objects (PDO) :

// Use a Data source name (DSN) to connect to Cloud SQL through the proxy
$dsn = 'mysql:host=127.0.0.1;port=3306;dbname=DATABASE_NAME';
// Instantiate your DB using the DSN, username, and password
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$db = new PDO($dsn, $dbUser, $dbPass);

Sockets PDO et Unix

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Les exemples suivants se connectent à Cloud SQL à l'aide de PDO :

// Use a Data source name (DSN) to connect to Cloud SQL through the proxy
$dsn = sprintf('mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE_NAME';
// Instantiate your DB using the DSN, username, and password
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$db = new PDO($dsn, $dbUser, $dbPass);

mysqli et TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Les exemples suivants se connectent à Cloud SQL à l'aide de mysqli :

// Instantiate your DB using the database host, port, name, username, and password
$dbName = 'DATABASE_NAME';
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$mysqli = new mysqli('127.0.0.1', $dbUser, $dbPass, $dbName, 3306);

Sockets mysqli et Unix

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Les exemples suivants se connectent à Cloud SQL à l'aide de mysqli :

// Instantiate your DB using the database name, socket, username, and password
$dbName = 'DATABASE_NAME';
$dbUser = 'DATABASE_USER';
$dbPass = 'PASSWORD';
$dbSocket = '/cloudsql/INSTANCE_CONNECTION_NAME';
$mysqli = new mysqli(null, $dbUser, $dbPass, $dbName, null, $dbSocket);

Python

Les instructions d'appel de proxy ci-dessous utilisent l'authentification via le SDK Cloud local pour plus de concision. L'instruction d'appel varie selon votre méthode d'authentification et la manière dont vous spécifiez vos instances. En savoir plus

PyMySQL & TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Instruction de connexion :

import pymysql
connection = pymysql.connect(host='127.0.0.1',
                             user='DATABASE_USER',
                             password='PASSWORD',
                             db='DATABASE_NAME')

PyMySQL & Unix

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Instruction de connexion :

import pymysql
connection = pymysql.connect(unix_socket='/cloudsql/' + INSTANCE_CONNECTION_NAME,
                             user='DATABASE_USER',
                             password='PASSWORD',
                             db='DATABASE_NAME')

SQLAlchemy et TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Instruction de connexion :

from sqlalchemy import create_engine
  engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@127.0.0.1/DATABASE_NAME')

SQLAlchemy et Unix

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Instruction de connexion :

from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@/DATABASE_NAME?unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME')

Ruby

mysql2 et TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Les exemples suivants se connectent à Cloud SQL à l'aide du gem Ruby mysql2 :

require "mysql2"
client = Mysql2::Client.new host: "127.0.0.1", port: 3306,
    database: "DATABASE_NAME", username: "DATABASE_USER",
    password: "PASSWORD"

> Sockets Unix et mysql2

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Les exemples suivants se connectent à Cloud SQL à l'aide du gem Ruby mysql2 :

require "mysql2"
client = Mysql2::Client.new socket: "/cloudsql/CONNECTION_NAME",
    database: "DATABASE_NAME", username: "DATABASE_USER",
    password: "PASSWORD"

Rails et TCP

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

Dans config/databases.yml, utilisez la configuration suivante :

mysql_settings: &mysql_settings
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: DATABASE_USER
  password: PASSWORD
  database: DATABASE_NAME
  host: 127.0.0.1:3306

Sockets Rails et Unix

Appel du proxy :

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &

Dans config/databases.yml, utilisez la configuration suivante :

mysql_settings: &mysql_settings
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: DATABASE_USER
  password: PASSWORD
  database: DATABASE_NAME
  socket: /cloudsql/INSTANCE_CONNECTION_NAME

Configurer l'accès pour les connexions IP publiques

Pour accorder à une application l'accès à une instance Cloud SQL, vous devez autoriser les adresses IP publiques que l'application utilise pour se connecter.

Vous ne pouvez pas spécifier un réseau privé (par exemple, 10.x.x.x) en tant que réseau autorisé.

Adresses IP publiques pour les instances MySQL :

  • IPv6 : les instances ne sont pas compatibles avec IPv6.
  • IPv4 : les instances disposent d'une adresse IPv4 statique attribuée automatiquement. Des frais modérés sont facturés pour l’adresse IP chaque fois que votre instance est arrêtée (désactivée).

Pour configurer l'accès via des connexions IP publiques, procédez comme suit :

Console

  1. Déterminez l'adresse IP de votre application. En savoir plus
  2. Autorisez l'adresse IP de votre application à se connecter à l'instance.

    Pour en savoir plus, consultez la section Ajouter une adresse autorisée.

  3. Vous trouverez l'adresse IP attribuée à votre instance sur la page Détails de l'instance. Vous avez besoin de cette valeur pour la chaîne de connexion de votre application.

gcloud

  1. Déterminez l'adresse IP de votre machine cliente. En savoir plus
  2. Autorisez l'adresse IP de votre application à se connecter à l'instance.

    Pour en savoir plus, consultez la section Ajouter une adresse autorisée.

  3. Récupérez l'adresse IP de l'instance :
    gcloud sql instances describe [INSTANCE_NAME]
    

    Dans le résultat, recherchez le champ ipAddress. Vous avez besoin de cette valeur pour la chaîne de connexion de l'application.

REST v1beta4

  1. Déterminez l'adresse IP de votre application. En savoir plus
  2. Autorisez l'adresse IP de votre application à se connecter à l'instance.

    Pour en savoir plus, consultez la section Ajouter une adresse autorisée.

  3. Récupérez l'adresse IP de l'instance :

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • project-id : ID du projet.
    • instance-id : ID de l'instance.

    Méthode HTTP et URL :

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Pour envoyer votre requête, développez l'une des options suivantes :

    Vous devriez recevoir une réponse JSON de ce type :

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    

    Notez la valeur de ipAddresses.ipAddress (pour IPv4). Vous en avez besoin pour la chaîne de connexion de l'application.

Besoin d'aide ? Pour obtenir de l'aide sur le dépannage du proxy, consultez la section Dépannage des connexions via le proxy Cloud SQL. Vous pouvez également consulter notre page Assistance Cloud SQL.

Configurer l'accès des applications avec des adresses IP attribuées de manière dynamique

Certaines applications doivent se connecter à votre instance Cloud SQL au moyen d'une adresse IP attribuée de manière dynamique ou éphémère. C'est le cas, entre autres, des applications PaaS (Platform as a Service).

La meilleure solution pour ces applications consiste à se connecter à l'aide du proxy Cloud SQL. Cette solution fournit le meilleur contrôle d'accès pour votre instance.

Tester la connexion

Le client mysql permet de tester votre capacité à vous connecter depuis votre environnement local. Pour en savoir plus, consultez les pages Connecter un client MySQL à l'aide d'une adresse IP publique et Connecter un client MySQL à l'aide du proxy Cloud SQL.

Besoin d'aide ? Pour obtenir de l'aide sur le dépannage du proxy, consultez la section Dépannage des connexions via le proxy Cloud SQL. Vous pouvez également consulter notre page Assistance Cloud SQL.

Déterminer l'adresse IP de votre application

Pour déterminer l'adresse IP d'un ordinateur exécutant votre application et autoriser l'accès à votre instance Cloud SQL à partir de cette adresse, utilisez l'une des options suivantes :

  • Si l'ordinateur n'est pas situé derrière un proxy, vous devez vous y connecter et utiliser ce lien pour identifier son adresse IP.
  • Si l'ordinateur est situé derrière un proxy, vous devez vous y connecter, et utiliser un outil ou un service (tel que whatismyipaddress.com) pour identifier son adresse IP réelle.

Étapes suivantes