Cette page explique comment utiliser Private Service Connect pour se connecter à une instance AlloyDB pour PostgreSQL.
Vous pouvez utiliser Private Service Connect pour vous connecter à une instance AlloyDB principale ou à l'une de ses instances répliquées avec accès en lecture, ou à une instance AlloyDB secondaire à partir de plusieurs réseaux de cloud privé virtuel (VPC) appartenant à différents groupes, équipes, projets ou organisations.
Rôles requis
Vous devez attribuer tous les rôles suivants à un utilisateur de votre réseau VPC pour qu'il puisse se connecter à une instance AlloyDB.
Rôle | Description |
---|---|
compute.networkAdmin |
Accorde un contrôle total sur le réseau VPC qui lance une connexion à une instance AlloyDB. Si vous utilisez Private Service Connect pour vous connecter à une instance AlloyDB à 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. |
alloydb.admin |
Fournit un contrôle complet sur une instance AlloyDB et contrôle l'instance tout au long de son cycle de vie. |
alloydb.databaseUser (facultatif) |
Fournit un accès à l'instance AlloyDB. Si vous vous connectez via le client proxy d'authentification AlloyDB, vous devez disposer du rôle Client AlloyDB. Si vous vous connectez directement, vous n'avez pas besoin de rôles ni d'autorisations IAM (Identity and Access Management). |
Custom AlloyDB role (facultatif) |
Si vous utilisez un rôle personnalisé, en plus d'accorder les rôles compute.networkAdmin et dns.admin , accordez les autorisations suivantes :
|
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 clients de ce réseau peuvent accéder directement. Les clients peuvent utiliser ces points de terminaison pour se connecter aux instances AlloyDB.
Pour qu'AlloyDB crée automatiquement le point de terminaison Private Service Connect, procédez comme suit :
- Réutilisez une règle de connexion de service existante ou créez-en une dans vos réseaux VPC. Cette règle vous permet de provisionner automatiquement des points de terminaison Private Service Connect.
- Créez un cluster et une instance AlloyDB avec Private Service Connect activé pour l'instance, puis configurez l'instance pour qu'elle crée automatiquement des points de terminaison Private Service Connect.
- Récupérez le point de terminaison de l'instance. Cela vous permet d'utiliser le point de terminaison pour vous connecter à l'instance.
- (Facultatif) Mettez à jour un cluster et une instance AlloyDB existants avec Private Service Connect activé pour générer automatiquement des points de terminaison.
Vous pouvez également créer le point de terminaison Private Service Connect manuellement. Pour en savoir plus, consultez Créer le point de terminaison manuellement.
Créer le point de terminaison automatiquement
Les sections suivantes expliquent comment configurer votre instance pour permettre à AlloyDB de créer automatiquement le point de terminaison Private Service Connect.
Créer une règle de connexion de service
Vous pouvez réutiliser une stratégie de connexion de service existante ou en créer une à l'aide de la console Google Cloud ou de la Google Cloud CLI.
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 permettre à AlloyDB de créer automatiquement des points de terminaison Private Service Connect.
Console
Dans la console Google Cloud , accédez à la page Private Service Connect.
Cliquez sur l'onglet Règles de connexion.
Cliquez sur Créer une règle de connexion.
Saisissez un nom pour la règle de connexion.
Spécifiez la classe de service en procédant comme suit :
- Dans la case Classe de service source, sélectionnez Services Google.
- Dans le menu Classe de service, sélectionnez
google-cloud-alloydb
, car AlloyDB est le service géré pour la règle de connexion.
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.
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.
Facultatif : spécifiez une limite de connexion pour la règle. Cette limite détermine le nombre de points de terminaison qu'AlloyDB peut créer pour cette règle de connexion. Si vous ne spécifiez pas de limite de connexion, il n'y en aura aucune.
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=LIST_OF_NODES
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 s'applique cette règle. 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 AlloyDB, la classe de service estgoogle-cloud-alloydb
.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 fournir plusieurs sous-réseaux dans une liste séparée par des virgules.LIMIT
: nombre maximal de points de terminaison pouvant être créés à l'aide de cette règle. Si vous ne spécifiez pas de limite, il n'y en aura aucune.DESCRIPTION
: description facultative de la règle de connexion de service.PRODUCER_INSTANCE_LOCATION
: indique si la règle automatise les connexions aux instances AlloyDB. Vous pouvez définir cette valeur sur l'une des options suivantes :none
(par défaut) : l'instance AlloyDB se trouve dans le même projet que la règle de connexion de service (ou dans les projets connectés en cas de VPC partagé).custom-resource-hierarchy-levels
: vous devez définir le chemin d'accès à l'emplacement Resource Manager pour les projets pour lesquels vous souhaitez automatiser la connectivité à l'aide du paramètreallowed-google-producers-resource-hierarchy-level
.
LIST_OF_NODES
: définissez ce paramètre si l'emplacement de votre instance de producteur est défini surcustom-resource-hierarchy-levels
. Ce paramètre est une liste de projets, de dossiers et d'organisations dans lesquels résident les instances pour lesquelles vous souhaitez automatiser la connectivité. La liste se présente sous la formeprojects/PROJECT_ID
,folders/FOLDER_ID
ouorganizations/ORGANIZATION_ID
.
Par exemple, la commande suivante crée une règle de connexion de service pour la classe de service
google-cloud-alloydb
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 AlloyDB se trouve dans le projet myproject
.
gcloud network-connectivity service-connection-policies create alloydb-policy \ --network=default \ --project=my-project \ --region=us-central1 \ --service-class=google-cloud-alloydb \ --subnets=managed-service-subnet \ --psc-connection-limit=10 \ --producer-instance-location=custom-resource-hierarchy-levels \ --allowed-google-producers-resource-hierarchy-level=projects/myproject
Créer une instance AlloyDB
Vous pouvez créer une instance avec Private Service Connect activé pour l'instance et configurer l'instance pour qu'elle crée automatiquement des points de terminaison à l'aide de la console, de gcloud CLI ou de Terraform.
Console
Dans la console Google Cloud , accédez à la page Clusters.
Cliquez sur Créer un cluster.
Dans le champ ID du cluster, saisissez
my-cluster
.Saisissez un mot de passe. Notez ce mot de passe, car vous l'utiliserez dans ce guide de démarrage rapide.
Conservez la version de base de données par défaut.
Sélectionnez la région
us-central1 (Iowa)
.Conservez l'ID d'instance par défaut,
my-cluster-primary
.Dans Disponibilité zonale, conservez l'option Zone unique. Bien que nous ne recommandions pas d'utiliser une instance à zone unique pour la production, vous allez utiliser une zone unique dans ce guide de démarrage rapide pour minimiser les coûts. Pour en savoir plus, consultez Réduire les coûts en utilisant des instances de base.
Sélectionnez le type de machine
2 vCPU, 16 GB
.Conservez la connectivité IP privée.
- Sélectionnez Private Service Connect (PSC).
- Cliquez sur Ajouter un point de terminaison.
- Sélectionnez le projet dans lequel vous souhaitez créer le point de terminaison.
- Sélectionnez le réseau.
- Cliquez sur Vérifier la règle pour obtenir des informations sur la règle de connexion de service.
Conservez les paramètres par défaut sous Sécurité du réseau.
Ne modifiez pas les options dans Afficher les options avancées.
Cliquez sur Créer un cluster. AlloyDB peut mettre plusieurs minutes à créer le cluster et à l'afficher sur la page Présentation du cluster principal.
gcloud
Pour créer le cluster, utilisez la commande gcloud alloydb clusters
create
.
gcloud alloydb clusters create CLUSTER_ID \
--password=PASSWORD \
--region=REGION_ID \
--project=PROJECT_ID \
--enable-private-service-connect
Remplacez les éléments suivants :
CLUSTER_ID
: ID du cluster que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.PASSWORD
: mot de passe à utiliser pour l'utilisateurpostgres
par défaut.REGION_ID
: région dans laquelle vous souhaitez placer le cluster.PROJECT_ID
: ID du projet dans lequel vous souhaitez placer le cluster.
Cette commande lance une opération de longue durée et renvoie un ID d'opération.
Pour créer l'instance AlloyDB, qu'il s'agisse d'une instance principale ou d'un pool de lecture pour utiliser Private Service Connect, exécutez la commande gcloud alloydb instances create. Assurez-vous d'inclure le paramètre --allowed-psc-projects
pour spécifier les projets clients pouvant créer des points de terminaison pour se connecter à cette instance.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST \
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI \
--psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT
Remplacez les éléments suivants :
INSTANCE_ID
: ID de l'instance que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.CPU_COUNT
: nombre de processeurs virtuels souhaité pour l'instance. Les valeurs valides sont les suivantes :2
: 2 vCPU, 16 Go de RAM4
: 4 vCPU, 32 Go de RAM8
: 8 processeurs virtuels, 64 Go de RAM16
: 16 vCPU, 128 Go de RAM32
: 32 processeurs virtuels, 256 Go de RAM64
: 64 vCPU, 512 Go de RAM96
: 96 processeurs virtuels, 768 Go de RAM128
: 128 vCPU, 864 Go de RAM
AVAILABILITY
: indique si cette instance doit être à haute disponibilité (HA), avec des nœuds dans plusieurs zones. Les valeurs valides sont les suivantes :REGIONAL
: crée une instance HA avec des nœuds actifs et de secours distincts, et un basculement automatique entre eux. Il s'agit de la valeur par défaut, qui convient aux environnements de production.ZONAL
: crée une instance de base, contenant un seul nœud et aucune reprise après sinistre automatisée.
REGION_ID
: région dans laquelle vous souhaitez placer l'instance.CLUSTER_ID
: ID du cluster que vous avez créé précédemment.ALLOWED_PROJECT_LIST
: liste des ID ou numéros de projet séparés par une virgule pour lesquels vous souhaitez autoriser l'accès à l'instance (par exemple,my-project-1
,12345
,my-project-n
).NETWORK_ATTACHMENT_URI
(facultatif) : nom complet de la ressource de l'URI de rattachement de réseau que vous créez pour la connectivité sortante. Par exemple :projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID
.CONSUMER_NETWORK
: chemin d'accès au réseau VPC dans lequel les points de terminaison Private Service Connect doivent être créés. Exemple :projects/my-host-project/global/networks/default
. Cette option s'applique lorsque vous créez des points de terminaison automatiquement. Assurez-vous que la règle de connexion de service est créée. Vous pouvez créer la règle avant ou après la création de l'instance.CONSUMER_PROJECT
: projet dans lequel le point de terminaison Private Service Connect est créé. Si vous utilisez un réseau 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 le souhaitez, vous pouvez ajouter à votre liste de projets autorisés les projets pour lesquels vous souhaitez créer manuellement des points de terminaison Private Service Connect.
Un cluster secondaire créé pour un cluster principal compatible avec Private Service Connect hérite automatiquement de la configuration Private Service Connect. Pour en savoir plus, consultez Créer un cluster secondaire.
Terraform
Pour créer une instance dans votre cluster de bases de données, utilisez une ressource Terraform.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
psc_instance_config {
allowed_consumer_projects = ["123456789"]
psc_interface_configs {
network_attachment_resource = google_compute_network_attachment.default.id
}
}
}
resource "google_compute_network" "default" {
name = "alloydb-network"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "default" {
name = "alloydb-subnetwork"
region = "us-central1"
network = google_compute_network.default.id
ip_cidr_range = "10.0.0.0/16"
}
resource "google_compute_network_attachment" "default" {
name = "alloydb-network-attachment"
region = "us-central1"
connection_preference = "ACCEPT_AUTOMATIC"
subnetworks = [
google_compute_subnetwork.default.self_link
]
}
data "google_project" "project" {}
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
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.
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 alloydb instances describe
:
gcloud alloydb instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'
Effectuez les remplacements suivants :
- INSTANCE_NAME : nom de l'instance AlloyDB. Si Private Service Connect est activé pour cette instance, les points de terminaison Private Service Connect des réseaux VPC peuvent s'y connecter.
- PROJECT_ID : ID ou numéro de projet du projet Google Cloud contenant l'instance.
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 pour l'instance.
Mettre à jour une instance pour créer automatiquement des points de terminaison
Pour mettre à jour une instance afin de créer automatiquement des points de terminaison, transmettez le paramètre --psc-auto-connections
à la commande gcloud alloydb instances update.
Configurer la connectivité sortante
Si vous souhaitez activer la connectivité sortante pour votre instance AlloyDB avec Private Service Connect activé, vous devez définir l'URI du rattachement réseau pour l'instance. Pour en savoir plus, consultez Configurer la connectivité sortante.
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 AlloyDB
Vous pouvez créer une instance avec Private Service Connect activé pour l'instance et configurer l'instance pour qu'elle crée automatiquement des points de terminaison à l'aide de la console, de gcloud CLI ou de Terraform.
Console
Dans la console Google Cloud , accédez à la page Clusters.
Cliquez sur Créer un cluster.
Dans le champ ID du cluster, saisissez
my-cluster
.Saisissez un mot de passe. Notez ce mot de passe, car vous l'utiliserez dans ce guide de démarrage rapide.
Conservez la version de base de données par défaut.
Sélectionnez la région
us-central1 (Iowa)
.Conservez l'ID d'instance par défaut,
my-cluster-primary
.Dans Disponibilité zonale, conservez l'option Zone unique. Bien que nous ne recommandions pas d'utiliser une instance à zone unique pour la production, vous allez utiliser une zone unique dans ce guide de démarrage rapide pour minimiser les coûts. Pour en savoir plus, consultez Réduire les coûts en utilisant des instances de base.
Sélectionnez le type de machine
2 vCPU, 16 GB
.Conservez la connectivité IP privée.
- Sélectionnez Private Service Connect(PSC).
- Cliquez sur Ajouter un point de terminaison.
- Sélectionnez le projet dans lequel vous souhaitez créer le point de terminaison.
- Sélectionnez le réseau.
- Cliquez sur Vérifier la règle pour obtenir des informations sur la règle de connexion de service.
Conservez les paramètres par défaut sous Sécurité du réseau.
Ne modifiez pas les options dans Afficher les options avancées.
Cliquez sur Créer un cluster. AlloyDB peut mettre plusieurs minutes à créer le cluster et à l'afficher sur la page Présentation du cluster principal.
gcloud
Pour créer le cluster, utilisez la commande gcloud alloydb clusters
create
.
gcloud alloydb clusters create CLUSTER_ID \
--password=PASSWORD \
--region=REGION_ID \
--project=PROJECT_ID \
--enable-private-service-connect
Remplacez les éléments suivants :
CLUSTER_ID
: ID du cluster que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.PASSWORD
: mot de passe à utiliser pour l'utilisateurpostgres
par défaut.REGION_ID
: région dans laquelle vous souhaitez placer le cluster.PROJECT_ID
: ID du projet dans lequel vous souhaitez placer le cluster.
Cette commande lance une opération de longue durée et renvoie un ID d'opération.
Pour créer l'instance principale, utilisez la commande gcloud alloydb instances create.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST \
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI \
Remplacez les éléments suivants :
INSTANCE_ID
: ID de l'instance que vous créez. Il doit commencer par une lettre minuscule et peut contenir des lettres minuscules, des chiffres et des traits d'union.CPU_COUNT
: nombre de processeurs virtuels souhaité pour l'instance. Les valeurs valides sont les suivantes :2
: 2 vCPU, 16 Go de RAM4
: 4 vCPU, 32 Go de RAM8
: 8 processeurs virtuels, 64 Go de RAM16
: 16 vCPU, 128 Go de RAM32
: 32 processeurs virtuels, 256 Go de RAM64
: 64 vCPU, 512 Go de RAM96
: 96 processeurs virtuels, 768 Go de RAM128
: 128 vCPU, 864 Go de RAM
AVAILABILITY
: indique si cette instance doit être à haute disponibilité (HA), avec des nœuds dans plusieurs zones. Les valeurs valides sont les suivantes :REGIONAL
: crée une instance HA avec des nœuds actifs et de secours distincts, et un basculement automatique entre eux. Il s'agit de la valeur par défaut, qui convient aux environnements de production.ZONAL
: crée une instance de base, contenant un seul nœud et aucune reprise après sinistre automatisée.
REGION_ID
: région dans laquelle vous souhaitez placer l'instance.CLUSTER_ID
: ID du cluster que vous avez créé précédemment.ALLOWED_PROJECT_LIST
: liste des ID ou numéros de projet séparés par une virgule pour lesquels vous souhaitez autoriser l'accès à l'instance (par exemple,my-project-1
,12345
,my-project-n
).NETWORK_ATTACHMENT_URI
(facultatif) : nom complet de la ressource de l'URI de rattachement de réseau que vous créez pour la connectivité sortante. Par exemple :projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID
.CONSUMER_NETWORK
: chemin d'accès au réseau VPC à partir duquel les points de terminaison Private Service Connect doivent être créés. Exemple :projects/my-host-project/global/networks/default
. Cette option s'applique lorsque vous créez des points de terminaison automatiquement. Assurez-vous que la règle de connexion de service est créée. Vous pouvez créer la règle avant ou après la création de l'instance.CONSUMER_PROJECT
: projet dans lequel le point de terminaison Private Service Connect est créé. Si vous utilisez un réseau 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 le souhaitez, vous pouvez ajouter à votre liste de projets autorisés les projets pour lesquels vous souhaitez créer manuellement des points de terminaison Private Service Connect.
Un cluster secondaire créé pour un cluster principal compatible avec Private Service Connect hérite automatiquement de la configuration Private Service Connect. Pour en savoir plus, consultez Créer un cluster secondaire.
Terraform
Pour créer une instance dans votre cluster de bases de données, utilisez une ressource Terraform.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
psc_instance_config {
allowed_consumer_projects = ["123456789"]
psc_interface_configs {
network_attachment_resource = google_compute_network_attachment.default.id
}
}
}
resource "google_compute_network" "default" {
name = "alloydb-network"
auto_create_subnetworks = false
}
resource "google_compute_subnetwork" "default" {
name = "alloydb-subnetwork"
region = "us-central1"
network = google_compute_network.default.id
ip_cidr_range = "10.0.0.0/16"
}
resource "google_compute_network_attachment" "default" {
name = "alloydb-network-attachment"
region = "us-central1"
connection_preference = "ACCEPT_AUTOMATIC"
subnetworks = [
google_compute_subnetwork.default.self_link
]
}
data "google_project" "project" {}
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Obtenir le rattachement de service
Après avoir créé une instance AlloyDB avec Private Service Connect activé, obtenez l'URL du rattachement de service et utilisez-la pour créer le point de terminaison Private Service Connect.
Utilisez la commande gcloud alloydb instances describe
pour afficher les détails d'une instance.
gcloud alloydb instances describe INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID
Remplacez les éléments suivants :
INSTANCE_ID
: ID de l'instanceCLUSTER_ID
: ID du cluster.REGION_ID
: région dans laquelle le cluster AlloyDB est déployé.
Voici un exemple de réponse à la commande :
"pscInstanceConfig": {
"serviceAttachmentLink:": "https://www.googleapis.com/compute/v1/projects/my-project/regions/my-region/serviceAttachments/my-service-attachment-id"
"allowedConsumerProjects": {
"45678",
"12345",
"67890",
},
"pscDnsName": "11111111-1111-1111-1111-111111111111.22222222-2222-2222-2222-222222222222.alloydb-psc.goog."
}
Le paramètre serviceAttachmentLink
contient la valeur de l'URL du rattachement de service.
Créer un point de terminaison Private Service Connect
Pour créer un point de terminaison Private Service Connect, transmettez l'URL du rattachement de service ainsi qu'un nom de point de terminaison unique. Pour en savoir plus sur la création d'un point de terminaison Private Service Connect, consultez Créer un point de terminaison.
Vous pouvez également réserver une adresse IP interne pour le point de terminaison Private Service Connect à l'aide de la commande gcloud compute addresses create
, puis utiliser l'adresse IP réservée lors de la création du point de terminaison.
Configurer la connectivité sortante
Pour activer la connectivité sortante, définissez l'URI d'association réseau lorsque vous créez ou mettez à jour une instance AlloyDB. Cet URI permet une connectivité sécurisée entre votre projet et l'instance AlloyDB lors des opérations sortantes telles que les migrations.
Créer le rattachement de réseau
Vous pouvez créer un rattachement de réseau qui accepte les connexions automatiquement(ACCEPT_AUTOMATIC
) ou manuellement (ACCEPT_MANUAL
). Pour en savoir plus sur la création d'un rattachement de réseau, consultez Créer et gérer des rattachements de réseau.
Si vous choisissez de créer un rattachement de réseau qui accepte automatiquement les connexions, vous n'avez pas besoin de définir explicitement une liste de projets acceptés. Pour accepter manuellement les connexions, vous devez ajouter le numéro de projet appartenant au service dans lequel se trouve votre instance AlloyDB à la liste des projets acceptés.
Pour trouver le numéro du projet appartenant au service, exécutez la commande suivante :
gcloud alpha alloydb clusters describe CLUSTER_ID --region=REGION_ID
Voici un exemple de réponse :
pscConfig:
pscEnabled: true
serviceOwnedProjectNumber: 123456789012
Une fois que vous avez identifié le numéro du projet appartenant au service, ajoutez-le à la liste des projets acceptés, puis créez le rattachement réseau.
Assurez-vous que la région du rattachement de réseau est la même que celle de l'instance AlloyDB. De plus, le sous-réseau utilisé pour créer l'association réseau doit appartenir aux plages d'adresses IP RFC 1918, à savoir 10.0.0.0/8
, 172.16.0.0/12
et 192.168.0.0/16
.
Mettre à jour une instance pour la connectivité sortante
Pour activer la connectivité sortante pour une instance AlloyDB existante avec Private Service Connect activé, transmettez le paramètre --psc-network-attachment-uri
à la commande gcloud alloydb instances update
.
Les instances AlloyDB créées avant le 1er mars 2025 ne peuvent pas être mises à jour pour activer les connexions sortantes. Nous vous recommandons d'utiliser l'une des options suivantes :
- Créez une instance répliquée interrégionale régionale de votre instance principale avec la connectivité sortante activée. Ensuite, effectuez un basculement pour désigner l'instance répliquée comme nouvelle instance principale.
- Effectuez une sauvegarde de votre cluster AlloyDB et de votre instance principale existants. Ensuite, créez un cluster AlloyDB et une instance principale avec la connectivité sortante activée. Enfin, restaurez la sauvegarde précédemment créée dans le nouveau cluster.
Désactiver la connectivité sortante
Pour désactiver la connectivité sortante pour une instance AlloyDB existante, transmettez le paramètre --clear-psc-network-attachment-uri
à la commande gcloud alloydb instances update
.
Se connecter à une instance AlloyDB
Vous pouvez vous connecter à une instance AlloyDB sur laquelle Private Service Connect est activé à l'aide de l'une des options suivantes :
- Se connecter directement à l'aide d'un enregistrement DNS
- Utiliser le proxy d'authentification AlloyDB avec un enregistrement DNS
- Utiliser les connecteurs de langage AlloyDB avec un enregistrement DNS
- Se connecter directement à l'aide d'une adresse IP interne
Pour les méthodes qui utilisent un enregistrement DNS, vous devez créer l'enregistrement dans une zone DNS privée du réseau VPC correspondant. Une fois que vous avez créé un enregistrement DNS, vous pouvez l'utiliser pour vous connecter à une instance compatible avec Private Service Connect.
Configurer une zone gérée DNS et un enregistrement DNS
Pour configurer une zone gérée DNS et un enregistrement DNS dans votre réseau, procédez comme suit :
Pour afficher des informations récapitulatives sur une instance AlloyDB, y compris son nom DNS, utilisez la commande
gcloud alloydb instances describe
:gcloud alloydb instances describe INSTANCE_ID \ --cluster=CLUSTER_ID --region=REGION_ID
Remplacez les éléments suivants :
INSTANCE_ID
: ID de l'instanceCLUSTER_ID
: ID du cluster.
Dans la réponse, vérifiez que le nom DNS apparaît. Le nom DNS suit le modèle
INSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
.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 AlloyDB 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
Remplacez les éléments suivants :
ZONE_NAME
: nom de la zone DNS.PROJECT_ID
: ID ou numéro du projet Google Cloud contenant la zone.DESCRIPTION
: description de la zone (par exemple, une zone DNS pour l'instance AlloyDB).DNS_NAME
: nom DNS de la zone, tel queINSTANCE_UID.PROJECT_UID.REGION_NAME.alloydb-psc.goog.
.NETWORK_NAME
: nom du réseau VPC. Dans le cas d'un réseau VPC partagé, définissez le chemin d'accès complet au réseau VPC (par exemple,projects/cymbal-project/global/networks/shared-vpc-network
).
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_NAME \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
Remplacez les éléments suivants :
DNS_NAME
: le nom DNS que vous avez récupéré précédemment dans cette procédure.RRSET_TYPE
: 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, par exemple rrdata1 rrdata2 rrdata3 (10.1.2.3 10.2.3.4 10.3.4.5).
Se connecter directement à l'aide d'un enregistrement DNS
Après avoir créé un point de terminaison Private Service Connect et un enregistrement DNS, vous pouvez vous connecter directement à l'aide de l'enregistrement DNS.
Pour récupérer l'enregistrement DNS du point de terminaison Private Service Connect, utilisez la commande
gcloud compute addresses describe
:gcloud compute addresses describe DNS_RECORD \ --project=PROJECT_ID \ --region=REGION_NAME
Remplacez les éléments suivants :
DNS_RECORD
: enregistrement DNS du point de terminaison.PROJECT_ID
: ID ou numéro du projet Google Cloud contenant le point de terminaison.REGION_NAME
: nom de la région du point de terminaison.
Pour vous connecter à l'instance AlloyDB, utilisez l'enregistrement DNS.
psql -U USERNAME -h DNS_RECORD
Remplacez les éléments suivants :
USERNAME
: nom de l'utilisateur qui se connecte à l'instance.DNS_RECORD
: enregistrement DNS du point de terminaison.
Se connecter à l'aide du proxy d'authentification AlloyDB
Le proxy d'authentification AlloyDB est un connecteur qui vous permet d'établir des connexions autorisées et chiffrées aux bases de données AlloyDB. Le proxy d'authentification AlloyDB fonctionne avec un client local qui s'exécute dans l'environnement local. Pour communiquer avec le proxy d'authentification AlloyDB, votre application utilise le protocole de base de données standard de votre base de données.
Lorsque vous définissez l'indicateur --psc
lors du démarrage du client Auth Proxy, AlloyDB Auth Proxy utilise l'enregistrement DNS que vous avez créé pour se connecter à l'instance sur laquelle Private Service Connect est activé.
Assurez-vous de démarrer le client Auth Proxy en transmettant l'URI de l'instance que vous récupérez à l'aide de la commande gcloud alloydb instances list
et définissez l'option --psc
.
Pour en savoir plus sur la connexion à une instance à l'aide du proxy d'authentification, consultez Se connecter à l'aide du proxy d'authentification.
Se connecter à l'aide des connecteurs de langage AlloyDB
Les connecteurs de langage AlloyDB sont des bibliothèques qui fournissent le mTLS automatisé avec TLS 1.3 et l'autorisation IAM (Identity and Access Management) lors de la connexion à une instance AlloyDB.
Une fois que le connecteur de langue a déterminé que l'instance est compatible avec Private Service Connect, il utilise l'enregistrement DNS que vous avez créé pour se connecter à l'instance.
Java
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
config.addDataSourceProperty("alloydbIpType", "PSC");
Pour en savoir plus sur l'utilisation du point de terminaison Private Service Connect dans les connecteurs de langage Java, consultez le dépôt GitHub.
Python (pg8000)
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Pour en savoir plus sur l'utilisation du point de terminaison Private Service Connect dans les connecteurs de langage Python, consultez le dépôt GitHub.
Python (asyncpg)
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Pour en savoir plus sur l'utilisation du point de terminaison Private Service Connect dans les connecteurs de langage Python, consultez le dépôt GitHub.
Go (pgx)
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Pour en savoir plus sur l'utilisation du point de terminaison Private Service Connect dans les connecteurs de langage Go, consultez le dépôt GitHub.
Go (database/sql)
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Pour en savoir plus sur l'utilisation du point de terminaison Private Service Connect dans les connecteurs de langage Go, consultez le dépôt GitHub.
Se connecter directement via une adresse IP interne
Après avoir créé un point de terminaison Private Service Connect, vous pouvez vous connecter directement à une instance AlloyDB à l'aide de l'adresse IP que vous avez configurée.
Pour récupérer l'adresse IP du point de terminaison Private Service Connect, utilisez la commande
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Remplacez les éléments suivants :
ADDRESS_NAME
: nom de l'adresse IP du point de terminaison.PROJECT_ID
: ID ou numéro du projet Google Cloud contenant le point de terminaison.REGION_NAME
: nom de la région du point de terminaison.
Pour vous connecter à l'instance AlloyDB, utilisez l'adresse IP interne.
psql -U USERNAME -h IP_ADDRESS"
Remplacez les éléments suivants :
USERNAME
: nom de l'utilisateur qui se connecte à l'instance.IP_ADDRESS
: adresse IP du point de terminaison.
Limites
- Vous pouvez configurer jusqu'à 20 points de terminaison Private Service Connect qui se connectent au rattachement de service d'une instance AlloyDB sur laquelle Private Service Connect est activé.
- Vous ne pouvez pas utiliser l'option
--network
lorsque vous créez un cluster Private Service Connect, car elle est associée à l'accès aux services privés. - Vous ne pouvez pas activer ni désactiver Private Service Connect sur une instance existante.
- Vous ne pouvez pas configurer une instance pour laquelle Private Service Connect est activé afin d'utiliser l'accès aux services privés.