Présentation
Cette page explique comment utiliser un point de terminaison d'écriture pour se connecter à une instance Cloud SQL à partir de clients de votre réseau de cloud privé virtuel (VPC) à l'aide de l'accès aux services privés (PSA).
Un point de terminaison d'écriture est un nom de service de nom de domaine (DNS) mondial qui pointe automatiquement vers l'adresse IP de l'instance principale actuelle. En cas d'opération de basculement ou de commutation d'instance répliquée, ce point de terminaison d'écriture redirige automatiquement les connexions entrantes vers la nouvelle instance principale. Vous pouvez utiliser le point de terminaison d'écriture dans une chaîne de connexion SQL à l'instance Cloud SQL au lieu d'une adresse IP. En utilisant un point de terminaison d'écriture, vous pouvez éviter d'avoir à modifier la connexion de l'application lorsque vous effectuez une opération de basculement ou de commutation d'instance répliquée pour la reprise après sinistre ou un exercice de reprise après sinistre.
Chaque instance Cloud SQL éligible dispose d'un point de terminaison d'écriture intégré unique dont le nom, la création et la mise à jour sont gérés par Cloud SQL. L'exemple suivant illustre son format :
103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
Le point de terminaison d'écriture se termine toujours par le suffixe .global.sql-psa.goog.
.
Vous ne pouvez pas modifier le nom ni le format de ce point de terminaison d'écriture géré par Cloud SQL.
Vous pouvez utiliser le point de terminaison d'écriture pour toutes les opérations d'écriture sur l'instance principale, y compris les insertions, les mises à jour, les suppressions et les modifications LDD. Vous pouvez également utiliser le point de terminaison d'écriture pour les opérations de lecture, telles que les requêtes. L'adresse IP privée vers laquelle pointe le point de terminaison d'écriture est automatiquement modifiée par Cloud SQL lorsque vous effectuez une opération de basculement d'instance répliquée ou de commutation pour promouvoir une instance répliquée en tant que nouvelle instance principale.
Générer le point de terminaison d'écriture
Si vous créez une instance Cloud SQL, Cloud SQL crée automatiquement le point de terminaison d'écriture lorsque les conditions préalables suivantes sont remplies :
- Les API suivantes doivent être activées dans le projet Google Cloud où réside votre instance Cloud SQL :
Si vous n'activez pas l'API Cloud DNS dans le projet, vous ne pourrez pas créer la zone DNS d'appairage, ce qui rendra les noms DNS inutilisables.
Une fois la zone DNS d'appairage créée, il est important de ne pas la modifier. Toute modification, y compris la suppression, rendra le DNS inutilisable pour la connexion à la base de données.
- L'instance Cloud SQL doit être de l'édition Cloud SQL Enterprise Plus.
- L'instance Cloud SQL doit être configurée pour utiliser une adresse IP privée avec l'accès aux services privés (PSA) activé.
- Cette fonctionnalité nécessite des instances sur la nouvelle architecture réseau. Dans la plupart des cas, les nouvelles instances sont créées avec la nouvelle architecture. Pour le vérifier, consultez l'architecture réseau de votre instance.
Lorsque vous mettez à niveau une instance Cloud SQL Enterprise existante vers une instance Cloud SQL Enterprise Plus, Cloud SQL génère automatiquement le point de terminaison d'écriture si les conditions préalables listées précédemment sont remplies. Si votre instance existante utilise l'ancienne architecture réseau, vous devez d'abord la mettre à niveau vers la nouvelle architecture réseau pour obtenir le point de terminaison d'écriture.
Si vous disposez déjà d'une instance Cloud SQL Enterprise Plus sans point de terminaison d'écriture et que vous souhaitez que Cloud SQL génère automatiquement un point de terminaison d'écriture, créez une instance répliquée qui gère la reprise après sinistre avancée.
Afficher le point de terminaison d'écriture
gcloud
Pour trouver le point de terminaison d'écriture, utilisez la commande gcloud CLI suivante :
gcloud sql instances describe INSTANCE_NAME \ | grep psaWriteEndpoint
Effectuez les remplacements suivants :
INSTANCE_NAME
: nom de l'instance Cloud SQL.
Les points de terminaison d'écriture se terminent toujours par le suffixe .global.sql-psa.goog.
, comme dans l'exemple suivant :
103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
Si vous ne voyez pas le point de terminaison d'écriture pour une instance éligible, consultez la section Dépannage.
Se connecter à une instance Cloud SQL à l'aide d'un point de terminaison d'écriture
mysql
Pour connecter un client mysql
à une instance Cloud SQL à l'aide du point de terminaison d'écriture, exécutez la commande suivante :
mysql -u root -h WRITE_ENDPOINT -p
Effectuez les remplacements suivants :
WRITE_ENDPOINT
: nom DNS ou point de terminaison d'écriture. Cette valeur alphanumérique se termine toujours par le suffixe .global.sql-psa.goog.
.
Par exemple, 103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
.
Connecter des clients de base de données à des instances de base de données à l'aide d'un point de terminaison d'écriture via une connexion SSL/TLS
mysql
Pour connecter des clients de base de données à des instances à l'aide d'un point de terminaison d'écriture sur une connexion SSL/TLS, exécutez la commande suivante :
mysql -uroot -pcloudsql -h 103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog. \ --ssl-ca=SERVER_CA_SSL \ --ssl-cert=SSL_CERT \ --ssl-key=SSL_KEY \ --ssl-verify-server-cert
Effectuez les remplacements suivants :
SERVER_CA_SSL
: nom du fichier SSL de l'autorité de certification du serveur. Exemple :server-ca.pem
SSL_CERT
: nom du certificat SSL pour le client. Exemple :client-cert.pem
.SSL_KEY
: nom de la clé SSL du client. Exemple :client-key.pem
.
Limites
- Les points de terminaison d'écriture ne sont pas disponibles pour la création d'instances Cloud SQL Enterprise.
- Les points de terminaison d'écriture ne sont pas disponibles pour les instances avec adresse IP publique uniquement ni pour les instances Private Service Connect uniquement.
- Les points de terminaison d'écriture ne sont pas disponibles pour une utilisation avec le proxy d'authentification Cloud SQL ni les connecteurs de langage.
Dépannage
Les sections suivantes décrivent l'architecture des points de terminaison d'écriture et abordent les problèmes de dépannage courants.
Architecture d'un point de terminaison d'écriture
Lorsque vous créez une instance éligible, un point de terminaison d'écriture est généré par défaut.
Pour créer un point de terminaison d'écriture, Cloud SQL effectue la configuration suivante :
- Crée une zone DNS privée dans le réseau VPC du producteur de services Cloud SQL.
- Crée une zone DNS d'appairage dans le réseau VPC du client.
- Crée un enregistrement DNS dans la zone DNS privée du réseau du producteur de services.
Le schéma suivant illustre le fonctionnement de ce processus :

Problèmes de résolution DNS
Si la résolution DNS ne fonctionne pas, vérifiez chacun des éléments suivants :
- Assurez-vous de remplir toutes les conditions préalables.
- Assurez-vous que les clients pour lesquels la résolution est attendue se trouvent sur le même réseau que celui auquel l'instance Cloud SQL est associée. Pour le vérifier, exécutez la commande
gcloud compute instances list
:gcloud compute instances list \ --format="table( name, zone.basename(), networkInterfaces[].network )" \ --project=PROJECT_NAME
Remplacez
PROJECT_NAME
par le nom du projet dans lequel réside le réseau consommateur DNS. - Vérifiez que la zone d'appairage existe. Pour ce faire, exécutez la commande
gcloud dns managed-zones list
:gcloud dns managed-zones list \ --project=PROJECT_NAME
Remplacez
PROJECT_NAME
par le nom du projet dans lequel réside le réseau consommateur DNS. - Si la zone d'appairage n'existe pas, vous pouvez résoudre le problème à l'aide de la commande
gcloud beta sql instances patch
:gcloud beta sql instances patch INSTANCE_NAME --reconcile-psa-networking
Remplacez
INSTANCE_NAME
par le nom de votre instance Cloud SQL.
La nouvelle instance ne possède pas de point de terminaison d'écriture
Si une instance nouvellement créée ne contient pas de point de terminaison d'écriture, vérifiez chacun des éléments suivants :
- Assurez-vous d'avoir rempli toutes les conditions préalables.
- Assurez-vous qu'il ne reste pas de zone DNS d'appairage avec le nom DNS
sql-psa.goog.
.Une zone DNS d'appairage est une zone DNS restante si le réseau associé à la zone DNS n'a pas d'appairage VPC avec l'ID de projet pair de la zone DNS d'appairage.
S'il reste une zone DNS d'appairage avec le suffixe
sql-psa.goog.
, supprimez-la.Pour vérifier s'il reste des zones DNS d'appairage, utilisez la commande
gcloud dns managed-zones list
:gcloud dns managed-zones list \ --project=PROJECT_NAME
Remplacez
PROJECT_NAME
par le nom du projet dans lequel réside le réseau consommateur DNS.Si une zone DNS existe avec le suffixe
sql-psa.goog.
, supprimez-la après avoir vérifié que la zone DNS d'appairage est une zone DNS restante.Pour supprimer une zone DNS, utilisez la commande
gcloud dns managed-zones delete
:gcloud dns managed-zones delete ZONE_NAME
Remplacez
ZONE_NAME
par le nom de la zone DNS associée aux points de terminaison d'écriture. Les valeurs sont alphanumériques et utilisent le format suivant :cloud-sql-psa-dns-1234567890
. - Vous pouvez corriger un point de terminaison d'écriture manquant pour une instance éligible à l'aide de la commande
gcloud beta sql instances patch
:gcloud beta sql instances patch INSTANCE_NAME --reconcile-psa-networking
Remplacez
INSTANCE_NAME
par le nom de votre instance Cloud SQL.
Étapes suivantes
- En savoir plus sur le dépannage de Cloud SQL