Se connecter à une instance à l'aide de Private Service Connect

Cette page explique comment utiliser Private Service Connect pour se connecter à une instance Cloud SQL.

Vous pouvez utiliser Private Service Connect pour vous connecter à une instance Cloud SQL principale ou à l'une de ses instances répliquées avec accès en lecture à partir de plusieurs réseaux de cloud privé virtuel (VPC) appartenant à différents groupes, équipes, projets ou organisations.

Avant de commencer

L'utilisation de Private Service Connect avec une instance Cloud SQL est disponible pour les versions de gcloud CLI 416.0.0 et ultérieures.

Rôles utilisateur

Le tableau suivant fournit des informations sur les rôles requis pour utiliser Private Service Connect avec une instance Cloud SQL :

Rôle Description
compute.networkAdmin

Accorde un contrôle total sur le réseau VPC qui lance une connexion à une instance Cloud SQL. Vous pouvez créer et gérer des adresses IP, des règles de pare-feu, des stratégies de connexion aux services et des points de terminaison Private Service Connect.

Si vous utilisez Private Service Connect pour vous connecter à une instance Cloud SQL à partir de plusieurs réseaux VPC, chaque réseau a son propre administrateur.

dns.admin Accorde un contrôle total sur les ressources Cloud DNS, y compris les zones et enregistrements DNS.
cloudsql.admin Fournit un contrôle complet sur une instance Cloud SQL et contrôle l'instance tout au long de son cycle de vie.
cloudsql.instanceUser Fournit un accès à l'instance Cloud SQL. Si vous vous connectez via le client proxy d'authentification Cloud SQL, vous devez disposer du rôle Client Cloud SQL. Si vous vous connectez directement, vous n'avez pas besoin de rôles ni d'autorisations IAM (Identity and Access Management).

Créer un point de terminaison Private Service Connect

Les points de terminaison Private Service Connect sont des adresses IP internes d'un réseau VPC client, auxquelles les utilisateurs appartenant à ce réseau peuvent accéder directement. Les clients peuvent utiliser ces points de terminaison pour se connecter aux instances Cloud SQL.

Vous pouvez demander à Cloud SQL de créer automatiquement un point de terminaison Private Service Connect dans votre VPC ou de le créer manuellement.

Pour que Cloud SQL crée automatiquement le point de terminaison Private Service Connect, procédez comme suit:

  1. Créez une règle de connexion de service dans vos réseaux VPC. Avec cette règle, vous pouvez provisionner automatiquement des points de terminaison Private Service Connect.
  2. Créez une instance Cloud SQL avec Private Service Connect activé et configurez-la pour qu'elle crée automatiquement des points de terminaison Private Service Connect.
  3. Récupérez le point de terminaison de l'instance. Vous pouvez ainsi utiliser le point de terminaison pour vous connecter à l'instance.

Pour créer manuellement le point de terminaison Private Service Connect, procédez comme suit:

  1. Créez une instance Cloud SQL avec Private Service Connect activé.
  2. Obtenez l'URI du rattachement de service. Vous utilisez cet URI pour créer le point de terminaison Private Service Connect.
  3. Réservez une adresse IP interne pour le point de terminaison Private Service Connect et créez un point de terminaison avec cette adresse.

Créer automatiquement le point de terminaison

Les sections suivantes expliquent comment configurer votre instance pour permettre à Cloud SQL de créer automatiquement le point de terminaison Private Service Connect.

Créer une règle de connexion de service

Une règle de connexion de service vous permet d'autoriser une classe de service spécifiée à créer un point de terminaison Private Service Connect dans votre réseau VPC client. Vous pouvez utiliser la règle de connexion de service pour autoriser Cloud SQL à créer automatiquement des points de terminaison Private Service Connect.

Vous pouvez créer une règle de connexion de service à l'aide de la console Google Cloud, de gcloud CLI ou de l'API.

Console

  1. Dans la console Google Cloud, accédez à la page Private Service Connect.

    Accéder à Private Service Connect

  2. Cliquez sur l'onglet Règles de connexion.

  3. Cliquez sur Créer une règle de connexion.

  4. Saisissez un nom pour la règle de connexion.

  5. Spécifiez la classe de service en procédant comme suit:

    1. Dans la case Classe de service source, sélectionnez Services Google.
    2. Dans le menu Classe de service, sélectionnez google-cloud-sql, car Cloud SQL est le service géré pour la stratégie de connexion.
  6. Dans la section Champ d'application des points de terminaison cibles, sélectionnez un réseau et une région auxquels cette règle s'applique.

  7. Dans la section Règle, sélectionnez un ou plusieurs sous-réseaux dans le menu Sous-réseaux. Les sous-réseaux permettent d'allouer des adresses IP aux points de terminaison.

  8. Facultatif : spécifiez une limite de connexion pour la règle. Cette limite détermine le nombre de points de terminaison pouvant être créés à l'aide de cette règle de connexion. Si vous ne spécifiez pas de limite de connexion, il n'y a aucune limite.

  9. Cliquez sur Créer une règle.

gcloud

Pour créer une règle de connexion de service, utilisez la commande service-connection-policies create.

gcloud network-connectivity service-connection-policies create POLICY_NAME \
    --network=NETWORK \
    --project=PROJECT_ID \
    --region=REGION \
    --service-class=SERVICE_CLASS \
    --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \
    --psc-connection-limit=LIMIT \
    --description=DESCRIPTION \
    --producer-instance-location=PRODUCER_INSTANCE_LOCATION \
    --allowed-google-producers-resource-hierarchy-level=RESOURCE_HIERARCHY_LEVEL

Remplacez les éléments suivants :

  • POLICY_NAME : nom de votre stratégie de connexion de service.
  • NETWORK: réseau auquel s'applique cette règle.
  • PROJECT_ID : ID du projet ou numéro du projet du réseau VPC. Pour les réseaux VPC partagés, vous devez déployer des règles de connexion de service dans le projet hôte, car ces règles ne sont pas compatibles avec les projets de service.
  • REGION: région à laquelle cette règle s'applique. La même règle doit exister pour chaque région dans laquelle vous souhaitez automatiser la connectivité du service.
  • SERVICE_CLASS : identifiant de ressource fourni par le producteur de la classe de service. Pour Cloud SQL, la classe de service est google-cloud-sql.
  • SUBNETS : un ou plusieurs sous-réseaux client standard utilisés pour allouer des adresses IP aux points de terminaison Private Service Connect. Ces adresses IP sont allouées automatiquement et renvoyées au pool de sous-réseaux à mesure que des instances de service géré sont créées et supprimées. Les sous-réseaux doivent se trouver dans la même région que la règle de connexion de service. Si plusieurs règles de connexion partagent la même région, vous pouvez réutiliser le même sous-réseau dans ces règles. Vous pouvez fournir plusieurs sous-réseaux dans une liste séparée par des virgules.
  • LIMIT: nombre maximal de points de terminaison que vous pouvez créer à l'aide de cette règle. Si vous ne spécifiez pas de limite, il n'y en a pas.
  • DESCRIPTION: description facultative de la règle de connexion de service.
  • PRODUCER_INSTANCE_LOCATION: utilisez cet indicateur facultatif pour spécifier si vous souhaitez autoriser une hiérarchie personnalisée des emplacements pour une instance Cloud SQL. Vous ne pouvez définir la valeur de PRODUCER_INSTANCE_LOCATION que sur l'une des valeurs suivantes:

    • custom-resource-hierarchy-levels: l'instance doit se trouver dans l'un des projets, dossiers ou organisations que vous spécifiez comme valeur pour le paramètre allowed-google-producers-resource-hierarchy-level.
    • none: l'instance se trouve dans le même projet que la règle de connexion de service.
  • RESOURCE_HIERARCHY_LEVEL: liste des projets, des dossiers ou des organisations dans lesquels se trouve l'instance. Cette liste se présente sous la forme projects/PROJECT_ID, folders/FOLDER_ID ou organizations/ORGANIZATION_ID.

Par exemple, la commande suivante crée une règle de connexion de service pour la classe de service google-cloud-sql
qui alloue des adresses IP provenant du sous-réseau managed-services. Vous pouvez créer jusqu'à 10 points de terminaison Private Service Connect avec cette règle. Les points de terminaison doivent être créés dans des projets appartenant à la même organisation que l'instance de service géré. L'instance Cloud SQL se trouve dans le projet myproject.

gcloud network-connectivity service-connection-policies create cloud-sql-policy \
    --network=default \
    --project=my-project \
    --region=us-central1 \
    --service-class=google-cloud-sql \
    --subnets=managed-service-subnet \
    --psc-connection-limit=10 \
    --producer-instance-location=custom-resource-hierarchy-levels \
    --allowed-google-producers-resource-hierarchy-level=projects/myproject

REST

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

  • PROJECT_ID : par l'ID du projet.
  • REGION : région de votre règle de connexion de service.
  • POLICY_NAME : nom de votre stratégie de connexion de service.
  • DESCRIPTION : description facultative de votre règle de connexion de service.
  • NETWORK : réseau de votre règle de connexion de service.
  • LIMIT: nombre maximal de points de terminaison que vous pouvez créer à l'aide de cette règle. Si vous ne spécifiez pas de limite, il n'y en a pas.
  • SUBNETS : un ou plusieurs sous-réseaux client standard utilisés pour allouer des adresses IP aux points de terminaison Private Service Connect. Ces adresses IP sont automatiquement allouées et renvoyées au pool de sous-réseaux à mesure que des instances de service géré sont créées et supprimées. Les sous-réseaux doivent se trouver dans la même région que la règle de connexion de service. Si plusieurs règles de connexion partagent la même région, vous pouvez réutiliser le même sous-réseau dans ces règles. Vous pouvez saisir plusieurs sous-réseaux dans une liste séparée par des virgules.
  • SERVICE_CLASS : identifiant de ressource fourni par le producteur de la classe de service.

Méthode HTTP et URL :

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME

Corps JSON de la requête :

{
  "description": "DESCRIPTION",
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "pscConfig": {
    "limit": "LIMIT",
    "subnetworks": [
      "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
    ]
  },
  "serviceClass": "SERVICE_CLASS"
}

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

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

{
  "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
    "createTime": "2023-08-15T16:59:29.236110917Z",
    "target": "projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Créer une instance Cloud SQL

Vous pouvez créer une instance avec Private Service Connect activé et la configurer pour qu'elle crée automatiquement des points de terminaison à l'aide de gcloud CLI ou de l'API.

gcloud

Pour créer une instance avec Private Service Connect activé, utilisez la commande gcloud sql instances create:

gcloud sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--database-version=DATABASE_VERSION
--cpu=NUMBER_OF_vCPUs \
--memory=MEMORY_SIZE \
--root-password=ROOT_PASSWORD \
--psc-auto-connections=network=VPC_NETWORK,project=SERVICE_PROJECT

Effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de l'instance.
  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • REGION_NAME : nom de la région pour l'instance.
  • ALLOWED_PROJECTS: liste d'ID ou de numéros de projet autorisés à partir desquels les points de terminaison Private Service Connect peuvent se connecter aux instances Cloud SQL, séparés par une virgule.

    Si un projet ne figure pas dans cette liste, vous ne pouvez pas créer de points de terminaison Private Service Connect dans le projet pour vous connecter à l'instance.

  • AVAILABILITY_TYPE: permet d'activer la haute disponibilité pour l'instance. Pour ce paramètre, spécifiez l'une des valeurs suivantes :
    • REGIONAL: permet d'activer la haute disponibilité (recommandé pour les instances de production). L'instance bascule vers une autre zone dans la région sélectionnée.
    • ZONAL: n'offre aucune fonctionnalité de basculement. Il s'agit de la valeur par défaut.

    Pour en savoir plus sur la définition et la suppression de la haute disponibilité pour les instances, consultez les sections Configurer la haute disponibilité pour une instance existante et Désactiver la haute disponibilité pour une instance.

  • DATABASE_VERSION: version de la base de données pour l'instance (par exemple, SQLSERVER_2019_STANDARD).
  • NUMBER_OF_vCPUs: le nombre de cœurs pour l'instance.
  • MEMORY_SIZE: quantité de mémoire pour l'instance.
  • ROOT_PASSWORD: mot de passe de l'utilisateur Cloud SQL root.
  • VPC_NETWORK: chemin d'accès au réseau VPC à partir duquel les points de terminaison Private Service Connect doivent être créés. Par exemple:
    projects/my-host-project/global/networks/default.
  • SERVICE_PROJECT: projet dans lequel le point de terminaison Private Service Connect est créé. Si le réseau VPC n'est pas un VPC partagé, il ne peut s'agir que du projet hôte du réseau. S'il s'agit d'un VPC partagé, il peut s'agir du projet hôte ou du projet de service.

    Tous les projets que vous spécifiez dans les paramètres de connexion automatique sont automatiquement ajoutés à vos projets autorisés. Si vous souhaitez créer manuellement des points de terminaison Private Service Connect pour certains projets, vous pouvez les ajouter à votre liste de projets autorisés.

REST

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

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance.
  • REGION_NAME : nom de la région pour l'instance.
  • ROOT_PASSWORD: mot de passe de l'utilisateur Cloud SQL root.
  • AVAILABILITY_TYPE: permet d'activer la haute disponibilité pour l'instance. Pour ce paramètre, spécifiez l'une des valeurs suivantes :
    • REGIONAL: permet d'activer la haute disponibilité (recommandé pour les instances de production). L'instance bascule vers une autre zone dans la région sélectionnée.
    • ZONAL: n'offre aucune fonctionnalité de basculement. Il s'agit de la valeur par défaut.

    Pour en savoir plus sur la définition et la suppression de la haute disponibilité pour les instances, consultez les sections Configurer la haute disponibilité d'une instance existante et Désactiver la haute disponibilité pour une instance.

  • ALLOWED_PROJECTS: liste d'ID ou de numéros de projet autorisés à partir desquels les points de terminaison Private Service Connect peuvent se connecter aux instances Cloud SQL, séparés par une virgule.

    Si un projet ne figure pas dans cette liste, vous ne pouvez pas créer de points de terminaison Private Service Connect dans le projet pour vous connecter à l'instance.

  • MACHINE_TYPE: valeur de chaîne énumérée représentant le type de machine de l'instance. Par exemple: db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE, où NUMBER_OF_vCPUs et MEMORY_SIZE sont le nombre de cœurs et la quantité de mémoire souhaités pour l'instance.
  • VPC_NETWORK: chemin d'accès au réseau VPC à partir duquel les points de terminaison Private Service Connect doivent être créés.
  • SERVICE_PROJECT: projet dans lequel le point de terminaison Private Service Connect est créé. Si le réseau VPC n'est pas un VPC partagé, il ne peut s'agir que du projet hôte du réseau. S'il s'agit d'un VPC partagé, il peut s'agir du projet hôte ou du projet de service.

    Tous les projets que vous spécifiez dans les paramètres de connexion automatique sont automatiquement ajoutés à vos projets autorisés. Si vous souhaitez créer manuellement des points de terminaison Private Service Connect pour certains projets, vous pouvez les ajouter à votre liste de projets autorisés.

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corps JSON de la requête :

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "SQLSERVER_2019_STANDARD",
  "rootPassword": "ROOT_PASSWORD",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscAutoConnections": [
          {
            "consumerProject":"SERVICE_PROJECT",
            "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK"
          }
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Récupérer le point de terminaison

En récupérant l'adresse IP interne, qui est le point de terminaison Private Service Connect d'une instance, vous pouvez utiliser ce point de terminaison pour vous connecter à l'instance.

gcloud

Pour afficher des informations sur une instance, y compris l'adresse IP qui correspond au point de terminaison Private Service Connect de l'instance, utilisez la commande gcloud sql instances describe:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID \
--format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'

Effectuez les remplacements suivants :

Dans la réponse, notez la valeur qui s'affiche à côté du champ pscConfig:pscAutoConnections:ipAddress. Cette valeur correspond à l'adresse IP interne, qui est également le point de terminaison Private Service Connect de l'instance.

REST

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

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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": "SQLSERVER_2019_STANDARD",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
      "pscAutoConnections": {
        consumerNetwork:"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK",
        consumerNetworkStatus:"CONSUMER_NETWORK_STATUS",
        consumerProject:"SERVICE_PROJECT",
        ipAddress:"IP_ADDRESS",
        status:"STATUS"
        },
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
}

Les champs suivants existent pour les instances sur lesquelles Private Service Connect est activé :

  • allowedConsumerProjects : liste des projets autorisés pour l'instance. Vous pouvez créer des points de terminaison Private Service Connect à partir de n'importe quel réseau VPC de ces projets vers le rattachement de service de l'instance.
  • pscAutoConnections: réseau VPC autorisé, état de la règle de connexion de service et état de l'adresse IP qui est le point de terminaison de l'instance.
  • pscEnabled : indique si Private Service Connect est activé sur une instance.

Pour découvrir comment construire la requête sous-jacente de l'API REST pour cette tâche, consultez la page instances:get.

Créer le point de terminaison manuellement

Les sections suivantes expliquent comment créer manuellement un point de terminaison Private Service Connect.

Créer une instance Cloud SQL

Vous pouvez créer une instance avec Private Service Connect activé pour celle-ci à l'aide de gcloud CLI, Terraform ou l'API.

gcloud

Pour créer une instance avec Private Service Connect activé, utilisez la commande gcloud sql instances create:

gcloud sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--database-version=DATABASE_VERSION
--cpu=NUMBER_OF_vCPUs \
--memory=MEMORY_SIZE \
--root-password=ROOT_PASSWORD

Effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de l'instance.
  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • REGION_NAME : nom de la région pour l'instance.
  • ALLOWED_PROJECTS: liste d'ID ou de numéros de projet autorisés à partir desquels les points de terminaison Private Service Connect peuvent se connecter aux instances Cloud SQL, séparés par une virgule.

    Si un projet ne figure pas dans cette liste, vous ne pouvez pas créer de points de terminaison Private Service Connect dans le projet pour vous connecter à l'instance.

  • AVAILABILITY_TYPE : permet d'activer la haute disponibilité pour l'instance. Pour ce paramètre, spécifiez l'une des valeurs suivantes :
    • REGIONAL: permet d'activer la haute disponibilité (recommandé pour les instances de production). L'instance bascule vers une autre zone dans la région sélectionnée.
    • ZONAL: n'offre aucune fonctionnalité de basculement. Il s'agit de la valeur par défaut.

    Pour en savoir plus sur la définition et la suppression de la haute disponibilité pour les instances, consultez les sections Configurer la haute disponibilité pour une instance existante et Désactiver la haute disponibilité pour une instance.

  • DATABASE_VERSION: version de la base de données pour l'instance (par exemple, SQLSERVER_2019_STANDARD).
  • NUMBER_OF_vCPUs: le nombre de cœurs pour l'instance.
  • MEMORY_SIZE: quantité de mémoire pour l'instance.
  • ROOT_PASSWORD: mot de passe de l'utilisateur Cloud SQL root.

Terraform

Pour créer une instance avec Private Service Connect activé, utilisez la ressource google_sql_database_instance Terraform.

resource "google_sql_database_instance" "default" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_ENTERPRISE"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled    = true
      start_time = "20:55"
    }
    ip_configuration {
      psc_config {
        psc_enabled               = true
        allowed_consumer_projects = [] # Add consumer project IDs here.
      }
      ipv4_enabled = false
    }
  }
  deletion_protection = false # Set to "true" to prevent destruction of the resource
}

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

REST

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

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance.
  • REGION_NAME : nom de la région pour l'instance.
  • ROOT_PASSWORD: mot de passe de l'utilisateur Cloud SQL root.
  • AVAILABILITY_TYPE: permet d'activer la haute disponibilité pour l'instance. Pour ce paramètre, spécifiez l'une des valeurs suivantes :
    • REGIONAL: permet d'activer la haute disponibilité (recommandé pour les instances de production). L'instance bascule vers une autre zone dans la région sélectionnée.
    • ZONAL: n'offre aucune fonctionnalité de basculement. Il s'agit de la valeur par défaut.

    Pour en savoir plus sur la définition et la suppression de la haute disponibilité pour les instances, consultez les sections Configurer la haute disponibilité d'une instance existante et Désactiver la haute disponibilité pour une instance.

  • ALLOWED_PROJECTS: liste d'ID ou de numéros de projet autorisés à partir desquels les points de terminaison Private Service Connect peuvent se connecter aux instances Cloud SQL, séparés par une virgule.

    Si un projet ne figure pas dans cette liste, vous ne pouvez pas créer de points de terminaison Private Service Connect dans le projet pour vous connecter à l'instance.

  • MACHINE_TYPE: valeur de chaîne énumérée représentant le type de machine de l'instance. Par exemple: db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE, où NUMBER_OF_vCPUs et MEMORY_SIZE sont le nombre de cœurs et la quantité de mémoire souhaités pour l'instance.

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corps JSON de la requête :

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "SQLSERVER_2019_STANDARD",
  "rootPassword": "ROOT_PASSWORD",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Obtenir le rattachement de service

Après avoir créé une instance Cloud SQL avec Private Service Connect activé, obtenez l'URI du rattachement de service et utilisez-le pour créer le point de terminaison Private Service Connect.

gcloud

Pour afficher des informations récapitulatives sur une instance sur laquelle Private Service Connect est activé, telles que le champ pscServiceAttachmentLink qui affiche l'URI qui pointe vers le rattachement de service de l'instance, utilisez la commande gcloud sql instances describe :

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID

Effectuez les remplacements suivants :

  • INSTANCE_NAME : nom de l'instance Cloud SQL à laquelle les points de terminaison Private Service Connect des réseaux VPC peuvent se connecter.
  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.

L'exemple suivant illustre un exemple de sortie pour cette commande :

gcloud sql instances describe myinstance \
--project=12345

...
pscServiceAttachmentLink: projects/45678/regions/myregion/serviceAttachments/myserviceattachment

Terraform

Pour obtenir l'URI du rattachement de service, utilisez la ressource Terraform google_compute_address.

resource "google_compute_address" "default" {
  name         = "psc-compute-address-${google_sql_database_instance.default.name}"
  region       = "us-central1"
  address_type = "INTERNAL"
  subnetwork   = "default"     # Replace value with the name of the subnet here.
  address      = "10.128.0.44" # Replace value with the IP address to reserve.
}

data "google_sql_database_instance" "default" {
  name = resource.google_sql_database_instance.default.name
}

resource "google_compute_forwarding_rule" "default" {
  name                  = "psc-forwarding-rule-${google_sql_database_instance.default.name}"
  region                = "us-central1"
  network               = "default"
  ip_address            = google_compute_address.default.self_link
  load_balancing_scheme = ""
  target                = data.google_sql_database_instance.default.psc_service_attachment_link
}

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

REST

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

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • INSTANCE_NAME : nom de l'instance

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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

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

{
  ...
  pscServiceAttachmentLink: "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"
}

Le champ pscServiceAttachmentLink affiche l'URI qui pointe vers le rattachement de service de l'instance.

Créer un point de terminaison Private Service Connect

Vous pouvez réserver une adresse IP interne pour le point de terminaison Private Service Connect et créer un point de terminaison avec cette adresse. Pour créer le point de terminaison, vous avez besoin de l'URI du rattachement de service et des projets autorisés pour l'instance.

gcloud

  1. Pour réserver une adresse IP interne pour le point de terminaison Private Service Connect, utilisez la commande
    gcloud compute addresses create :

    gcloud compute addresses create ADDRESS_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --subnet=SUBNET_NAME \
    --addresses=INTERNAL_IP_ADDRESS

    Effectuez les remplacements suivants :

    • ADDRESS_NAME : nom de l'adresse IP interne.
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud pour le point de terminaison.
    • REGION_NAME : nom de la région du point de terminaison.
    • SUBNET_NAME : nom de sous-réseau de l'adresse IP.
    • INTERNAL_IP_ADDRESS : adresse IP à réserver. Cette adresse IP doit être comprise dans la plage d'adresses IP principales du sous-réseau. L'adresse IP peut être une adresse RFC 1918 ou un sous-réseau avec des plages non-RFC.
  2. Pour vérifier que l'adresse IP est réservée, utilisez la commande gcloud compute addresses list :

    gcloud compute addresses list ADDRESS_NAME \
    --project=PROJECT_ID

    Dans la réponse, vérifiez qu'un état RESERVED s'affiche pour l'adresse IP.

  3. Pour créer le point de terminaison Private Service Connect et le faire pointer vers le rattachement de service Cloud SQL, utilisez la commande gcloud compute forwarding-rules create :

    gcloud compute forwarding-rules create ENDPOINT_NAME \
    --address=ADDRESS_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --network=NETWORK_NAME \
    --target-service-attachment=SERVICE_ATTACHMENT_URI \
    --allow-psc-global-access

    Effectuez les remplacements suivants :

    • ENDPOINT_NAME : nom du point de terminaison.
    • NETWORK_NAME : nom du réseau VPC utilisé pour le point de terminaison.
    • SERVICE_ATTACHMENT_URI : URI du rattachement de service.
  4. Pour vérifier que le rattachement de service accepte le point de terminaison, utilisez la commande
    gcloud compute forwarding-rules describe :

    gcloud compute forwarding-rules describe ENDPOINT_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME

    Dans la réponse, vérifiez qu'un état ACCEPTED s'affiche pour le champ pscConnectionStatus. Le point de terminaison peut se connecter au rattachement de service.

Terraform

Pour créer un point de terminaison Private Service Connect, utilisez la ressource google_sql_database_instance Terraform.

resource "google_compute_address" "default" {
  name         = "psc-compute-address-${google_sql_database_instance.default.name}"
  region       = "us-central1"
  address_type = "INTERNAL"
  subnetwork   = "default"     # Replace value with the name of the subnet here.
  address      = "10.128.0.44" # Replace value with the IP address to reserve.
}

data "google_sql_database_instance" "default" {
  name = resource.google_sql_database_instance.default.name
}

resource "google_compute_forwarding_rule" "default" {
  name                  = "psc-forwarding-rule-${google_sql_database_instance.default.name}"
  region                = "us-central1"
  network               = "default"
  ip_address            = google_compute_address.default.self_link
  load_balancing_scheme = ""
  target                = data.google_sql_database_instance.default.psc_service_attachment_link
}

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

REST

  1. Réservez une adresse IP interne pour le point de terminaison Private Service Connect.

  2. Vérifiez que l'adresse IP est réservée.

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

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison Private Service Connect
    • REGION_NAME : nom de la région
    • ADDRESS_NAME : nom de l'adresse IP.

    Méthode HTTP et URL :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME

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

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

    {
      "kind": "compute#address",
      "id": "ADDRESS_ID",
      "creationTimestamp": "2024-05-09T11:20:50.114-07:00",
      "name": "ADDRESS_NAME",
      "description": "This is the name of the internal IP address.",
      "address": "IP_ADDRESS",
      "status": "RESERVED",
      "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME",
      "networkTier": "PREMIUM",
      "labelFingerprint": "LABEL_FINGERPRINT_ID",
      "addressType": "EXTERNAL"
    }
    

    Dans la réponse, vérifiez qu'un état RESERVED s'affiche pour l'adresse IP.

  3. Créez le point de terminaison Private Service Connect et faites-le pointer vers le rattachement de service Cloud SQL.

  4. Vérifiez que le rattachement de service accepte le point de terminaison.

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

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison Private Service Connect
    • REGION_NAME : nom de la région
    • ENDPOINT_NAME : nom du point de terminaison.

    Méthode HTTP et URL :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME

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

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

    {
      "kind": "compute#forwardingRule",
      "id": "ENDPOINT_ID",
      "creationTimestamp": "2024-05-09T12:03:21.383-07:00",
      "name": "ENDPOINT_NAME",
      "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
      "IPAddress": "IP_ADDRESS",
      "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default",
      "serviceDirectoryRegistrations": [
        {
          "namespace": "goog-psc-default"
        }
      ],
      "networkTier": "PREMIUM",
      "labelFingerprint": "LABEL_FINGERPRINT_ID",
      "fingerprint": "FINGERPRINT_ID",
      "pscConnectionId": "CONNECTION_ID",
      "pscConnectionStatus": "ACCEPTED",
      "allowPscGlobalAccess": true
    }
    

    Dans la réponse, vérifiez qu'un état ACCEPTED s'affiche pour le champ pscConnectionStatus. Le point de terminaison peut se connecter au rattachement de service.

Connexion à une instance Cloud SQL

Vous pouvez vous connecter à une instance Cloud SQL avec Private Service Connect activé à l'aide d'une adresse IP interne, d'un enregistrement DNS, du proxy d'authentification Cloud SQL, des connecteurs de langage Cloud SQL ou d'autres applications Google Cloud.

Configurer une zone gérée DNS et un enregistrement DNS

Cloud SQL ne crée pas d'enregistrements DNS automatiquement. À la place, la réponse de l'API de recherche d'instance fournit un nom DNS suggéré. Nous vous recommandons de créer l'enregistrement DNS dans une zone DNS privée du réseau VPC correspondant. Cela permet d'utiliser le proxy d'authentification Cloud SQL de manière cohérente pour se connecter à partir de différents réseaux.

gcloud

  1. Pour afficher des informations récapitulatives sur une instance Cloud SQL, y compris son nom DNS, utilisez la commande gcloud sql instances describe :

    gcloud sql instances describe INSTANCE_NAME \
    --project=PROJECT_ID

    Effectuez les remplacements suivants :

    • INSTANCE_NAME : nom de l'instance Cloud SQL.
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.

    Dans la réponse, vérifiez que le nom DNS apparaît. Ce nom a le format suivant : INSTANCE_UID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog.. Exemple : 1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog..

  2. Pour créer une zone DNS privée, utilisez la commande gcloud dns managed-zones create. Cette zone est associée au réseau VPC utilisé pour se connecter à l'instance Cloud SQL via le point de terminaison Private Service Connect.

    gcloud dns managed-zones create ZONE_NAME \
    --project=PROJECT_ID \
    --description=DESCRIPTION \
    --dns-name=DNS_NAME \
    --networks=NETWORK_NAME \
    --visibility=private

    Effectuez les remplacements suivants :

    • ZONE_NAME : nom de la zone DNS
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant la zone.
    • DESCRIPTION : une description de la zone (par exemple, une zone DNS pour l'instance Cloud SQL).
    • DNS_NAME : nom du suffixe DNS pour la zone, tel que REGION_NAME.sql.goog. (où REGION_NAME correspond au nom de la région pour la zone).
    • NETWORK_NAME : nom du réseau VPC.
  3. Après avoir créé le point de terminaison Private Service Connect, utilisez la commande gcloud dns record-sets create pour créer un enregistrement DNS dans la zone :

    gcloud dns record-sets create DNS_RECORD \
    --project=PROJECT_ID \
    --type=RRSET_TYPE \
    --rrdatas=RR_DATA \
    --zone=ZONE_NAME

    Effectuez les remplacements suivants :

    • DNS_RECORD : nom de l'enregistrement DNS. Cet enregistrement est défini sur le nom DNS que vous avez récupéré à partir de l'instance Cloud SQL précédemment dans cette procédure (par exemple, 1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.).
    • RRSET_TYPE : le type d'enregistrement de ressource du jeu d'enregistrements DNS (par exemple, A).
    • RR_DATA : adresse IP allouée au point de terminaison Private Service Connect (par exemple, 198.51.100.5). Vous pouvez également saisir plusieurs valeurs, telles que rrdata1 rrdata2 rrdata3 (par exemple 10.1.2.3 10.2.3.4 10.3.4.5).

REST

  1. Procurez-vous le nom DNS d'une instance Cloud SQL.
  2. Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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

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

    {
      ...
      "dnsName": "INSTANCE_ID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog."
    }
    

    Le champ dnsName affiche le nom DNS de l'instance Cloud SQL. Les noms DNS se terminent toujours par un point (.).

  3. Créez une zone DNS privée. Cette zone est associée au réseau VPC utilisé pour se connecter à l'instance Cloud SQL via le point de terminaison Private Service Connect.
  4. Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant la zone DNS.
    • ZONE_NAME : nom de la zone.
    • DESCRIPTION : une description de la zone (par exemple, une zone DNS pour l'instance Cloud SQL).
    • DNS_NAME : nom du suffixe DNS pour la zone, tel que REGION_NAME.sql.goog. (où REGION_NAME correspond au nom de la région pour la zone).
    • NETWORK_NAME : nom du réseau VPC.

    Méthode HTTP et URL :

    POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones

    Corps JSON de la requête :

    {
      "name": "ZONE_NAME",
      "description": "DESCRIPTION",
      "dnsName": "DNS_NAME",
      "visibility": "private",
      "privateVisibilityConfig": {
        "kind": "dns#managedZonePrivateVisibilityConfig",
        "networks": [
          {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
            "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME"
          }
        ]
      }
    }
    

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

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

    {
      "name": "ZONE_NAME",
      "dnsName": "DNS_NAME",
      "description": "DESCRIPTION",
      "id": "ID",
      "nameServers": [
        "ns-gcp-private.googledomains.com."
      ],
      "creationTime": "2024-05-10T17:05:34.607Z",
      "visibility": "private",
      "privateVisibilityConfig": {
        "networks": [
          {
            "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork"
          }
        ],
        "gkeClusters": [],
        "kind": "dns#managedZonePrivateVisibilityConfig"
      },
      "cloudLoggingConfig": {
        "kind": "dns#managedZoneCloudLoggingConfig"
      },
      "kind": "dns#managedZone"
    }
    
  5. Après avoir créé le point de terminaison Private Service Connect, créez un enregistrement DNS dans la zone.
  6. Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant la zone DNS.
    • ZONE_NAME : nom de la zone.
    • DNS_RECORD : nom de l'enregistrement DNS. Cet enregistrement est défini sur le nom DNS que vous avez récupéré à partir de l'instance Cloud SQL précédemment dans cette procédure (par exemple, 1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.).
    • RRSET_TYPE : type du jeu d'enregistrements (par exemple, A).
    • TTL : valeur TTL (Time To Live) du jeu d'enregistrements exprimée en nombre de secondes (par exemple, 300).
    • RR_DATA : adresse IP allouée au point de terminaison Private Service Connect (par exemple, 198.51.100.5). Vous pouvez également saisir plusieurs valeurs, telles que rrdata1 rrdata2 rrdata3 (par exemple 10.1.2.3 10.2.3.4 10.3.4.5).

    Méthode HTTP et URL :

    POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ZONE_NAME

    Corps JSON de la requête :

    {
      "deletions": []
      "additions": [
        {
          "name": "DNS_RECORD",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "rrdatas": [
            "RR_DATA"
          ]
        }
      ]
    }
    

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

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

    {
      "additions": [
        {
          "name": "DNS_RECORD",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "rrdatas": [
            "RR_DATA"
          ],
          "signatureRrdatas": [],
          "kind": "dns#resourceRecordSet"
        }
      ],
      "deletions": [],
      "startTime": "2024-05-10T17:29:44.375Z",
      "id": "CHANGE_ID",
      "status": "pending",
      "kind": "dns#change"
    }
    

Se connecter directement à l'aide d'un enregistrement DNS

Avant de vous connecter à une instance Cloud SQL à l'aide d'un enregistrement DNS, procédez comme suit:

  1. Créer un point de terminaison Private Service Connect
  2. Vérifiez que le rattachement de service de l'instance accepte le point de terminaison. Pour vérifier que l'état du point de terminaison est ACCEPTED, vérifiez l'état.
  3. Configurer une zone gérée DNS et un enregistrement DNS

Une fois ces conditions remplies, utilisez l'enregistrement DNS pour vous connecter à l'instance à partir de n'importe quel réseau VPC dans lequel vous avez créé le point de terminaison.

sqlcmd -S DNS_RECORD -d DATABASE_NAME -U USERNAME

Effectuez les remplacements suivants :

  • DNS_RECORD : l'enregistrement DNS du point de terminaison.
  • DATABASE_NAME: nom de la base de données Cloud SQL pour SQL Server contenue dans l'instance
  • USERNAME: nom de l'utilisateur qui se connecte à l'instance.

Se connecter directement via une adresse IP interne

Avant de vous connecter à une instance Cloud SQL avec Private Service Connect activé, procédez comme suit:

  1. Créer un point de terminaison Private Service Connect
  2. Vérifiez que le rattachement de service de l'instance accepte le point de terminaison. Pour vérifier que l'état du point de terminaison est ACCEPTED, vérifiez l'état.

Une fois ces conditions remplies, utilisez l'adresse IP du point de terminaison pour accéder à l'instance à partir de n'importe quel réseau VPC dans lequel vous avez créé le point de terminaison.

  1. Récupérez l'adresse IP interne du point de terminaison Private Service Connect à l'aide du nom de l'adresse IP du point de terminaison.

    gcloud

    Pour récupérer l'adresse IP, utilisez la commande gcloud compute addresses describe :

    gcloud compute addresses describe ADDRESS_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME

    Effectuez les remplacements suivants :

    • ADDRESS_NAME : nom de l'adresse IP du point de terminaison.
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison.
    • REGION_NAME : nom de la région du point de terminaison

    Dans la réponse, vérifiez qu'une adresse IP apparaît pour le champ address. Il s'agit de l'adresse IP interne.

    REST

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

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison.
    • REGION_NAME : nom de la région du point de terminaison
    • ADDRESS_NAME : nom de l'adresse IP du point de terminaison.

    Méthode HTTP et URL :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME

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

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

    {
      "kind": "compute#address",
      "id": "ADDRESS_ID",
      "creationTimestamp": "2024-05-09T11:20:50.114-07:00",
      "name": "ADDRESS_NAME",
      "description": "This is the name of the internal IP address.",
      "address": "IP_ADDRESS",
      "status": "RESERVED",
      "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME",
      "networkTier": "PREMIUM",
      "labelFingerprint": "LABEL_FINGERPRINT_ID",
      "addressType": "EXTERNAL"
    }
    

    L'adresse IP interne correspond à la valeur associée au champ address.

  2. Vous pouvez également récupérer l'adresse IP interne du point de terminaison Private Service Connect à l'aide du rattachement de service de l'instance Cloud SQL.

    gcloud

    Pour récupérer l'adresse IP, utilisez la commande gcloud compute forwarding-rules list :

    gcloud compute forwarding-rules list \
    --filter="TARGET:REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME" \
    --project=PROJECT_ID

    Effectuez les remplacements suivants :

    • REGION_NAME : nom de la région du point de terminaison
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison.
    • SERVICE_ATTACHMENT_NAME: nom de l'attachement de service pour l'instance Cloud SQL

    Dans la réponse, vérifiez qu'une adresse IP apparaît. Il s'agit de l'adresse IP interne.

    Voici un exemple de réponse :

    NAME REGION IP_ADDRESS TARGET
    myInstance us-central1 10.10.10.10 us-central1/serviceAttachments/a-123456789e0a-psc-service-attachment-abc123d4e5f67gh8

    REST

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

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison.
    • REGION_NAME : nom de la région du point de terminaison
    • SERVICE_ATTACHMENT_PROJECT_ID: ID ou numéro de projet du projet Google Cloud contenant l'attachement de service
    • SERVICE_ATTACHMENT_NAME: nom de l'attachement de service pour l'instance Cloud SQL

    Méthode HTTP et URL :

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules?target="https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"

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

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

    {
      "kind": "compute#forwardingRuleList",
      "id": "projects/PROJECT_ID/regions/REGION_NAME/forwardingRules",
      "items": [
        {
          "kind": "compute#forwardingRule",
          "id": "FORWARDING_RULE_ID",
          "creationTimestamp": "2023-10-31T13:04:37.168-07:00",
          "name": "FORWARDING_RULE_NAME",
          "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
          "IPAddress": "IP_ADDRESS",
          "target": "https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME",
          "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/FORWARDING_RULE_NAME",
          "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
          "serviceDirectoryRegistrations": [
            {
              "namespace": "goog-psc-default"
            }
          ],
          "networkTier": "PREMIUM",
          "labelFingerprint": "LABEL_FINGERPRINT_ID",
          "fingerprint": "FINGERPRINT_ID",
          "pscConnectionId": "PSC_CONNECTION_ID",
          "pscConnectionStatus": "CLOSED",
          "allowPscGlobalAccess": true
        }
      ],
      "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules"
    }
    

    L'adresse IP interne correspond à la valeur associée au champ IPAddress.

  3. Pour vous connecter à l'instance Cloud SQL, utilisez l'adresse IP interne.

    sqlcmd -S IP_ADDRESS -d DATABASE_NAME -U USERNAME

    Effectuez les remplacements suivants :

    • IP_ADDRESS : l'adresse IP du point de terminaison.
    • DATABASE_NAME: nom de la base de données Cloud SQL pour SQL Server contenue dans l'instance
    • USERNAME : nom de l'utilisateur qui se connecte à l'instance.

Se connecter à l'aide du proxy d'authentification Cloud SQL

Le proxy d'authentification Cloud SQL est un connecteur qui fournit un accès sécurisé à une instance avec Private Service Connect activé sans nécessiter de réseaux autorisés ni de configuration SSL.

Pour autoriser les connexions du client proxy d'authentification Cloud SQL, configurez un enregistrement DNS correspondant au nom DNS recommandé fourni pour l'instance. L'enregistrement DNS est un mappage entre une ressource DNS et un nom de domaine.

Si vous vous connectez via Private Service Connect, la version v2.5.0 ou ultérieure du proxy d'authentification Cloud SQL est requise.

Télécharger et installer le proxy d'authentification Cloud SQL

Pour vous connecter à des instances sur lesquelles Private Service Connect est activé, vous devez télécharger et installer le binaire du proxy d'authentification Cloud SQL. Le binaire à télécharger dépend du système d'exploitation et de l'utilisation d'un noyau 32 bits ou 64 bits. Dans la plupart des cas, le matériel récent possède un noyau 64 bits.

Si vous ne savez pas si votre machine exécute un noyau 32 bits ou 64 bits, utilisez la commande uname -a pour Linux ou macOS. Pour Windows, consultez la documentation Windows.

Démarrer le proxy d'authentification Cloud SQL

Le proxy d'authentification Cloud SQL accepte les connexions aux instances pour lesquelles Private Service Connect est activé. Pour en savoir plus, consultez la section Démarrer le proxy d'authentification Cloud SQL.

  1. Affichez des informations récapitulatives sur une instance Cloud SQL, y compris son nom de connexion.

    gcloud

    Pour afficher des informations récapitulatives sur une instance Cloud SQL, utilisez la commande
    gcloud sql instances describe.

    gcloud sql instances describe INSTANCE_NAME \
    --project=PROJECT_ID \
    --format='value(connectionName)'

    Effectuez les remplacements suivants :

    • INSTANCE_NAME : nom de l'instance Cloud SQL.
    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.

    Le nom de la connexion est au format PROJECT_ID:REGION_NAME:INSTANCE_NAME.

    REST

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

    • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
    • INSTANCE_NAME : nom de l'instance

    Méthode HTTP et URL :

    GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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

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

    {
      ...
      "connectionName": "PROJECT_ID:REGION_NAME:INSTANCE_NAME"
    }
    

    Le nom de la connexion est au format PROJECT_ID:REGION_NAME:INSTANCE_NAME.

  2. Copiez le nom de connexion de l'instance.
  3. Lancez le proxy d'authentification Cloud SQL :

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME --psc 

    Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance que vous avez copié à l'étape précédente.

Se connecter à l'aide des connecteurs de langage Cloud SQL

Les connecteurs de langage Cloud SQL sont des bibliothèques qui fournissent un accès sécurisé à une instance Cloud SQL avec Private Service Connect activé sans nécessiter de réseaux autorisés ni de configuration SSL.

Pour autoriser les connexions avec les connecteurs de langage Cloud SQL, configurez un enregistrement DNS correspondant au nom DNS recommandé fourni pour l'instance. L'enregistrement DNS est un mappage entre une ressource DNS et un nom de domaine.

Les connecteurs de langage Cloud SQL sont compatibles avec les connexions Private Service Connect via le type d'adresse IP PSC dans leurs bibliothèques respectives.

Se connecter depuis App Engine Standard, Cloud Run ou les Cloud Run Functions

Pour vous connecter à des instances Cloud SQL avec Private Service Connect activé, vous pouvez utiliser App Engine Standard, Cloud Run ou les fonctions Cloud Run.

Dans ces environnements sans serveur compatibles, les connecteurs de langage Cloud SQL et les connexions TCP directes via une adresse IP et un numéro de port sont pris en charge. Pour les connexions TCP directes, il s'agit de l'adresse IP que vous réservez lorsque vous créez le point de terminaison Private Service Connect. Vous pouvez spécifier l'adresse IP comme adresse pour l'hôte de base de données.

Si vous créez un enregistrement DNS pour le point de terminaison, vous pouvez spécifier cet enregistrement pour l'hôte.

Se connecter depuis BigQuery

Pour accéder aux données dans Cloud SQL et effectuer des requêtes sur ces données via une connexion IP interne, utilisez le paramètre
--enable-google-private-path. Ce paramètre n'est valide que dans les cas suivants :

  • Vous utilisez le paramètre --no-assign-ip.
  • Vous utilisez le paramètre --network pour spécifier le nom du réseau VPC que vous souhaitez utiliser pour créer une connexion privée.

Tester la connectivité

Pour tester la connectivité entrante vers une instance Cloud SQL avec Private Service Connect activé, définissez l'adresse IP du point de terminaison Private Service Connect comme adresse IP de destination.

gcloud

Pour créer un test de connectivité pour une instance Cloud SQL avec Private Service Connect activé, utilisez la commande gcloud network-management connectivity-tests create :

gcloud network-management connectivity-tests create CONNECTIVITY_TEST_NAME \
--source-instance=SOURCE_INSTANCE \
--destination-cloud-sql-instance=DESTINATION_CLOUD_SQL_INSTANCE \
--destination-network=DESTINATION_NETWORK \
--destination-port=DESTINATION_PORT \
--protocol=tcp

Effectuez les remplacements suivants :

  • CONNECTIVITY_TEST_NAME : nom du test de connectivité.
  • SOURCE_INSTANCE: URI de l'instance Compute Engine où se trouve l'adresse IP source (par exemple, projects/myproject/zones/myzone/instances/myinstance).
  • DESTINATION_CLOUD_SQL_INSTANCE: URL de l'instance Cloud SQL (par exemple, projects/myproject/instances/myinstance).
  • DESTINATION_NETWORK : URI du réseau VPC où se trouve l'adresse IP de destination (par exemple, projects/myproject/global/networks/mynetwork).
  • DESTINATION_PORT : numéro de port réservé à l'instance. Pour les instances Cloud SQL pour SQL Server, le numéro de port est 1433.

REST

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

  • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
  • CONNECTIVITY_TEST_NAME : nom du test de connectivité.
  • SOURCE_IP_ADDRESS : adresse IP de l'instance Compute Engine source.
  • SOURCE_INSTANCE: URI de l'instance Compute Engine où se trouve l'adresse IP source (par exemple, projects/myproject/zones/myzone/instances/myinstance).
  • SOURCE_NETWORK : URI du réseau VPC où se trouve l'adresse IP source (par exemple, projects/myproject/global/networks/mynetwork).
  • DESTINATION_IP_ADDRESS : adresse IP de l'instance Cloud SQL de destination.
  • DESTINATION_PORT : numéro de port réservé à l'instance. Pour les instances Cloud SQL pour SQL Server, le numéro de port est 1433.
  • DESTINATION_NETWORK : URI du réseau VPC où se trouve l'adresse IP de destination (par exemple, projects/myproject/global/networks/mynetwork).

Méthode HTTP et URL :

POST https://networkmanagement.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/connectivityTests?testId=CONNECTIVITY_TEST_NAME

Corps JSON de la requête :

{
  "source": {
    "ipAddress": "SOURCE_IP_ADDRESS",
    "instance": "SOURCE_INSTANCE",
    "network": "SOURCE_NETWORK"
  },
  "destination": {
    "ipAddress": "DESTINATION_IP_ADDRESS",
    "port": DESTINATION_PORT,
    "network": "DESTINATION_NETWORK",
    "projectId": "PROJECT_ID"
  },
  "protocol": "TCP"
}

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

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

{
  "name": "projects/PROJECT_ID/locations/global/operations/operation-OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata",
    "createTime": "2024-05-23T16:43:49.313981473Z",
    "target": "projects/PROJECT_ID/locations/global/connectivityTests/CONNECTIVITY_TEST_NAME",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}

Limites

  • Vous pouvez configurer jusqu'à 20 points de terminaison Private Service Connect qui se connectent au rattachement de service d'une instance Cloud SQL sur laquelle Private Service Connect est activé.
  • Vous ne pouvez pas utiliser les backends Private Service Connect pour les instances pour lesquelles Private Service Connect est activé.
  • Les options suivantes sont invalidées ou affectées :
    • --no-assign-ip: utilise cette option, car les instances pour lesquelles Private Service Connect est activé ne sont pas compatibles avec les autres types de connectivité tels que les connexions IP externes.
    • --authorized-networks: Vous ne pouvez pas utiliser cette option pour ajouter des réseaux autorisés.
    • --network: Vous ne pouvez pas utiliser cette option, car elle est associée à l'accès aux services privés.
    • --allocated-ip-range-name: Vous ne pouvez pas utiliser cette option, car les noms de plages d'adresses IP autorisés ne sont pas acceptés.
  • Vous ne pouvez pas créer d'instance répliquée externe pour une instance sur laquelle Private Service Connect est activé.
  • Vous ne pouvez pas configurer une instance pour laquelle Private Service Connect est activé afin d'utiliser l'accès aux services privés ou les connexions IP publiques.
    • Vous ne pouvez pas activer les connexions IP publiques sur une instance sur laquelle Private Service Connect est activé.
    • Vous ne pouvez pas activer l'accès aux services privés ni ajouter des réseaux autorisés à l'instance.
    • Vous ne pouvez pas modifier le type de connectivité de l'instance.
    • Vous ne pouvez pas utiliser la commande gcloud sql connect, Cloud Shell, Cloud Build, Database Migration Service ni Datastream pour vous connecter à des instances Cloud SQL sur lesquelles Private Service Connect est activé.
    • Lorsque vous testez la connectivité à une instance Cloud SQL avec Private Service Connect activé, vous ne pouvez pas définir les éléments suivants :
      • L'adresse IP privée ou le nom DNS de l'instance comme destination directe
      • L'instance en tant que source
      • L'adresse IP du point de terminaison Private Service Connect en tant que source
    • L'ajout à la liste d'autorisation basé sur l'adresse IP en utilisant des réseaux autorisés n'est pas accepté.
    • Pour les instances Cloud SQL sur lesquelles Private Service Connect est activé, le service géré pour Microsoft Active Directory (également appelé Microsoft AD géré) et les serveurs associés ne sont pas pris en charge.

    Résoudre les problèmes

    Cette section contient des informations sur les problèmes associés aux instances Cloud SQL pour lesquelles Private Service Connect est activé, ainsi que la procédure à suivre pour les résoudre.

    Problème Dépannage
    Le rattachement de service de l'instance n'accepte pas le point de terminaison Private Service Connect.
    1. Vérifiez l'état du point de terminaison.

      gcloud

      Pour vérifier l'état, utilisez la commande
      gcloud compute forwarding-rules describe.

      gcloud compute forwarding-rules describe ENDPOINT_NAME \
      --project=PROJECT_ID \
      --region=REGION_NAME \
      | grep pscConnectionStatus

      Effectuez les remplacements suivants :

      • ENDPOINT_NAME : nom du point de terminaison.
      • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison.
      • REGION_NAME : nom de la région du point de terminaison

      REST

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

      • PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant le point de terminaison Private Service Connect
      • REGION_NAME : nom de la région
      • ENDPOINT_NAME : nom du point de terminaison.

      Méthode HTTP et URL :

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME

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

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

      {
        "kind": "compute#forwardingRule",
        "id": "ENDPOINT_ID",
        "creationTimestamp": "2024-05-09T12:03:21.383-07:00",
        "name": "ENDPOINT_NAME",
        "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME",
        "IPAddress": "IP_ADDRESS",
        "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME",
        "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME",
        "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default",
        "serviceDirectoryRegistrations": [
          {
            "namespace": "goog-psc-default"
          }
        ],
        "networkTier": "PREMIUM",
        "labelFingerprint": "LABEL_FINGERPRINT_ID",
        "fingerprint": "FINGERPRINT_ID",
        "pscConnectionId": "CONNECTION_ID",
        "pscConnectionStatus": "ACCEPTED",
        "allowPscGlobalAccess": true
      }
      
    2. Vérifiez que l'état du point de terminaison est ACCEPTED. Si l'état est PENDING, l'instance n'autorise pas le projet Google Cloud contenant le point de terminaison. Assurez-vous que le projet réseau dans lequel le point de terminaison est créé est autorisé. Pour en savoir plus, consultez la page Modifier une instance avec Private Service Connect activé.

    Étapes suivantes