Choisir comment se connecter à Cloud SQL

Cette page présente les différentes manières de se connecter à votre instance Cloud SQL.

Avant de pouvoir vous connecter à une instance Cloud SQL, vous devez décider comment déployer et configurer votre instance Cloud SQL et les ressources réseau associées. Si votre instance Cloud SQL est déjà configurée et déployée, cette page peut vous aider à comprendre les différentes façons de connecter vos clients à l'instance existante.

Type d'adresse IP : privée ou publique

Lorsque vous créez votre instance Cloud SQL, vous pouvez choisir de la configurer avec une adresse IP publique, une adresse IP privée ou une combinaison des deux.

Vous choisissez la configuration d'adresse IP de votre instance en fonction des exigences de votre application. Une fois votre instance configurée, vous spécifiez une adresse IP publique, une adresse IP privée ou, dans certains cas, un nom DNS dans la chaîne de connexion de votre client.

Adresse IP privée Adresse IP publique
Description Adresse IP interne, uniquement pour le réseau cloud privé virtuel (VPC) (privée) Une adresse IP externe et accessible à Internet (publique)
Points de décision

Avez-vous besoin de vous connecter à partir de clients hébergés sur des réseaux VPC à l'intérieur de Google Cloud ou à partir de clients ayant accès à ces réseaux VPC ?

Si oui, choisissez une adresse IP privée pour l'instance.

Avez-vous besoin de vous connecter à partir de clients en dehors du réseau VPC Google Cloudsur l'Internet public ?

Si c'est le cas, choisissez une adresse IP publique pour l'instance.

Options de configuration

Les types de configurations de mise en réseau privée suivants sont acceptés :

Lorsque vous vous connectez directement à une instance à l'aide d'une adresse IP publique, vous devez configurer des réseaux autorisés.

Une autre alternative plus sécurisée pour se connecter à une instance Cloud SQL qui utilise une adresse IP publique consiste à utiliser un connecteur Cloud SQL (tel que le proxy d'authentification Cloud SQL ou l'un des connecteurs de langage Cloud SQL).

Pour savoir comment ajouter une adresse IP publique à votre instance, consultez Configurer une adresse IP publique.

Pour vous connecter à une instance Cloud SQL à l'aide d'une adresse IP publique, vous pouvez utiliser le client psql ou un autre client disponible.

Résumé

Recommandation : Pour améliorer la sécurité, nous vous recommandons de configurer votre instance avec un type d'adresse IP privée, sauf si vous avez des exigences spécifiques pour une instance Cloud SQL accessible sur Internet ou si vous vous connectez depuis un client qui ne répond pas aux exigences d'un VPC.

Type de connexion : connecteur Cloud SQL ou direct

Lorsque vous vous connectez à une instance Cloud SQL, vous pouvez utiliser un connecteur Cloud SQL ou établir une connexion directe.

Un connecteur Cloud SQL est soit le proxy d'authentification Cloud SQL, soit l'un des connecteurs de langage Cloud SQL.

Connecteur Cloud SQL Connexion directe
Description Le proxy d'authentification Cloud SQL (proxy côté client) et les connecteurs de langage Cloud SQL (bibliothèques côté client) offrent un accès simplifié et sécurisé à vos instances Cloud SQL, en particulier lorsque vous vous connectez à une instance à l'aide d'une adresse IP publique. Une connexion directe d'un client à une instance Cloud SQL offre une connexion à faible latence. Une connexion directe peut être établie à partir d'une adresse IP publique ou privée.
Points de décision

Les connecteurs Cloud SQL sont utiles dans les cas suivants :

  • Lorsque vous souhaitez vous connecter à une instance Cloud SQL à l'aide d'une adresse IP publique sans avoir à configurer de réseaux autorisés.
  • Lorsque vous souhaitez chiffrer automatiquement le trafic vers et depuis la base de données avec la validation de l'identité du serveur et du client sans avoir à gérer les certificats SSL.
  • Lorsque vous utilisez l'authentification IAM pour les bases de données et que vous souhaitez actualiser automatiquement vos jetons d'accès OAuth 2.0.
  • Lorsque vous vous connectez à partir d'un client ou d'une application qui utilise une adresse IP attribuée de manière dynamique ou éphémère. La configuration IP dynamique peut être courante pour les applications Platform as a Service (PaaS).

L'utilisation d'une connexion directe présente les avantages suivants :

  • Latence plus faible que les connexions utilisant des connecteurs Cloud SQL.
  • Aucune dépendance de package ou de bibliothèque supplémentaire, contrairement aux connecteurs Cloud SQL.
  • Lorsque vous utilisez une connexion directe, vous êtes responsable de la configuration des paramètres SSL/TLS.
Options de configuration

Pour configurer les certificats SSL/TLS sur l'instance Cloud SQL et pour votre client, procédez comme suit :

  1. Choisissez un mode d'autorité de certification du serveur pour votre instance.
  2. Configurez votre instance pour appliquer le chiffrement SSL/TLS aux connexions sur l'instance.
  3. Créez des certificats clients.
  4. Téléchargez vos certificats de serveur et de client.
Résumé

Lorsque vous vous connectez à une instance Cloud SQL, vous pouvez utiliser un connecteur Cloud SQL ou vous connecter directement depuis des clients.

Recommandation générale : Si vous vous connectez à une instance à l'aide d'une adresse IP privée, utilisez une connexion directe. Nous vous recommandons également d'appliquer le protocole SSL et de configurer des certificats SSL/TLS pour votre connexion.

Si vous vous connectez à une instance à l'aide d'une adresse IP publique, utilisez un connecteur Cloud SQL (le proxy d'authentification Cloud SQL ou l'un des connecteurs de langage Cloud SQL).

Type d'authentification de la base de données : IAM ou intégrée

Lorsque vous vous connectez à une instance, vous devez vous authentifier en tant qu'utilisateur de base de données. Vous pouvez choisir entre l'authentification intégrée et l'authentification IAM pour les bases de données.

Authentification IAM pour les bases de données Authentification intégrée
Description L'authentification IAM pour les bases de données vous permet de vous authentifier auprès des bases de données avec des comptes de service et des utilisateurs IAM Google Cloud en utilisant des jetons d'accès de courte durée au lieu de mots de passe. Vous pouvez gérer les droits sur les bases de données à l'aide de comptes principaux IAM tels que des utilisateurs, des comptes de service et des groupes. L'authentification intégrée utilise les noms d'utilisateur et mots de passe locaux de la base de données pour authentifier les utilisateurs de la base de données.
Points de décision Préférez-vous centraliser la gestion des utilisateurs sur les services Google Cloudà l'aide d'IAM dans Google Cloud ? Si la réponse est oui, utilisez l'authentification IAM pour les bases de données. Avez-vous des applications ou des workflows qui dépendent de l'authentification intégrée à la base de données ? Si oui, utilisez l'authentification intégrée.
Options de configuration

Vous pouvez utiliser l'authentification IAM pour les bases de données pour les utilisateurs IAM individuels, les comptes de service individuels et les groupes. Pour en savoir plus, consultez Gérer les utilisateurs avec l'authentification IAM pour les bases de données .

Si vous utilisez un connecteur Cloud SQL, il gère l'actualisation automatique des jetons d'accès IAM. Pour en savoir plus, consultez la section Authentification IAM automatique pour les bases de données.

Vous pouvez utiliser l'authentification de base de données intégrée et configurer des règles relatives aux mots de passe au niveau de l'instance et de l'utilisateur. Pour en savoir plus, consultez Authentification intégrée.
Résumé Recommandation : Sauf si vous avez des applications ou des workflows qui dépendent de l'authentification intégrée à la base de données, utilisez l'authentification IAM pour les bases de données chaque fois que possible.

Options de réseau privé lorsque vous utilisez une adresse IP privée

Lorsque vous configurez votre instance pour qu'elle utilise une adresse IP privée, vous pouvez choisir les options de mise en réseau privée suivantes : accès aux services privés, Private Service Connect ou les deux.

Fonctionnalités compatibles

Le tableau suivant liste les fonctionnalités compatibles avec Cloud SQL lorsque vous vous connectez à une instance configurée avec une ou les deux options de mise en réseau privée.

Fonctionnalité Instance avec accès aux services privés uniquement Instance avec Private Service Connect uniquement Instance avec accès aux services privés et Private Service Connect
Se connecter depuis plusieurs VPC Non compatible Compatible Prise en charge à l'aide du point de terminaison Private Service Connect.
pglogical, PL/Proxy, dblink et postgres_fdw extensions Compatible Non compatible Prise en charge de la connectivité sortante pour l'accès aux services privés.
Instances répliquées externes Compatible Non compatible Prise en charge de la connectivité sortante pour l'accès aux services privés.
Point de terminaison d'écriture Compatible Non compatible Compatible avec l'accès aux services privés.
Modifier le réseau VPC associé pour l'accès aux services privés Compatible Non applicable. Non compatible avec l'accès privé aux services, car Private Service Connect est activé pour l'instance. Non applicable à Private Service Connect.
Visibilité de l'adresse IP du client dans Cloud SQL Compatible Non compatible Prise en charge à l'aide de l'adresse IP d'accès aux services privés. Non compatible avec le point de terminaison Private Service Connect.

Supprimer les options de mise en réseau d'une instance

Cloud SQL permet de supprimer les options réseau suivantes d'une instance :

  • Adresse IP publique d'une instance avec accès aux services privés et adresse IP publique
  • Adresse IP publique d'une instance avec adresse IP publique, accès aux services privés et Private Service Connect
  • Private Service Connect à partir d'une instance avec Private Service Connect et accès aux services privés
  • Private Service Connect à partir d'une instance avec Private Service Connect, accès aux services privés et adresse IP publique

Activer les options réseau pour une instance

Vous pouvez activer Cloud SQL pour autoriser les options de connexion suivantes pour les instances :

  • Accès aux services privés sur une instance avec adresse IP publique uniquement
  • Private Service Connect sur une instance avec accès aux services privés uniquement
  • Private Service Connect sur une instance avec accès aux services privés et adresse IP publique
  • Adresse IP publique sur une instance avec accès aux services privés uniquement

Limites

  • Vous ne pouvez pas créer d'instance avec à la fois une adresse IP publique et Private Service Connect.
  • Vous ne pouvez pas supprimer l'accès aux services privés d'une instance avec accès aux services privés et Private Service Connect.
  • Vous ne pouvez pas supprimer l'accès aux services privés d'une instance avec accès aux services privés et adresse IP publique.
  • Si vous disposez d'une instance qui n'utilise que des adresses IP publiques, vous ne pouvez pas activer à la fois l'accès aux services privés et Private Service Connect. Commencez par activer l'accès privé aux services, puis activez Private Service Connect.
  • Vous ne pouvez pas utiliser de réseaux autorisés pour ajouter des adresses IP à la liste d'autorisation des instances Private Service Connect.

Outils permettant de se connecter à Cloud SQL

Le tableau suivant contient des options permettant de se connecter à Cloud SQL :

Résoudre les problèmes

Si vous rencontrez des problèmes de connexion, consultez les pages suivantes pour obtenir des conseils de débogage ou de recherche de solutions à des problèmes connus :

Étape suivante