Les connecteurs de langage AlloyDB sont des bibliothèques qui simplifient l'établissement de connexions sécurisées à votre cluster. Pour ce faire, utilisez les éléments suivants :
- Connexions mTLS automatisées
- Compatibilité avec l'autorisation basée sur Identity and Access Management (IAM)
- Authentification IAM automatisée
Les connecteurs de langage AlloyDB ne peuvent pas fournir de chemin d'accès réseau vers un cluster AlloyDB s'il n'en existe pas déjà un.
Pour en savoir plus sur les connecteurs de langage AlloyDB, consultez Présentation des connecteurs de langage AlloyDB.
Cette page traite des connecteurs de langage AlloyDB suivants :
- Connecteur Java AlloyDB
- Connecteur AlloyDB Go
- Connecteur Python AlloyDB
Avant de commencer
Activez l'API AlloyDB.
Créez une instance AlloyDB et configurez l'utilisateur par défaut.
Pour en savoir plus sur la création d'une instance, consultez Créer une instance principale.
Pour en savoir plus sur les rôles utilisateur, consultez Rôles IAM AlloyDB prédéfinis.
Configurez les rôles et autorisations suivants requis pour vous connecter à une instance AlloyDB :
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
Pour en savoir plus sur les rôles et les autorisations requis, consultez Gérer l'authentification IAM.
Installer les connecteurs de langage AlloyDB
Java
Le connecteur Java AlloyDB est une bibliothèque qui fournit une autorisation et un chiffrement basés sur IAM lors de la connexion à une instance AlloyDB. Si vous utilisez Spring Boot, consultez le starter Spring Boot AlloyDB.
Installation
Pour Maven, vous pouvez installer le connecteur Java AlloyDB en ajoutant les éléments suivants au fichier pom.xml
de votre projet :
<!-- Add the connector with the latest version -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>alloydb-jdbc-connector</artifactId>
<version>0.4.0</version>
</dependency>
<!-- Add the driver with the latest version -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>46.6.0<</version>
</dependency>
<!-- Add HikariCP with the latest version -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
Pour Gradle, vous pouvez installer le connecteur Java AlloyDB en incluant les éléments suivants dans le fichier gradle.build
de votre projet :
// Add connector with the latest version
implementation group: 'com.google.cloud.alloydb', name: 'alloydb-jdbc-connector', version: '0.4.0'
// Add driver with the latest version
implementation group: 'org.postgresql', name: 'postgresql', version: '46.6.0'
// Add HikariCP with the latest version
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.1.0'
Python (pg8000)
Le connecteur Python AlloyDB est une bibliothèque qui peut être utilisée avec un pilote de base de données pour permettre aux utilisateurs disposant des autorisations suffisantes de se connecter à une base de données AlloyDB sans avoir à ajouter manuellement les adresses IP à la liste d'autorisation.
Installation
Vous pouvez installer la bibliothèque AlloyDB Python Connector avec pip install
.
Si vous utilisez pg8000, exécutez la commande suivante :
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
Le connecteur Python AlloyDB est une bibliothèque qui peut être utilisée avec un pilote de base de données pour permettre aux utilisateurs disposant des autorisations suffisantes de se connecter à une base de données AlloyDB sans avoir à ajouter manuellement les adresses IP à la liste d'autorisation.
Installation
Vous pouvez installer la bibliothèque AlloyDB Python Connector avec pip install
.
Si vous utilisez asyncpg, exécutez la commande suivante :
Pour asyncpg, utilisez :
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
Pour en savoir plus sur l'utilisation du pilote asynchrone, consultez Utilisation du pilote asynchrone.
Go (pgx)
Le connecteur AlloyDB Go est un connecteur AlloyDB conçu pour être utilisé avec le langage Go.
Installation
Vous pouvez installer le connecteur AlloyDB Go avec go get
.
Si vous utilisez pgx, exécutez la commande suivante :
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
Le connecteur AlloyDB Go est un connecteur AlloyDB conçu pour être utilisé avec le langage Go.
Installation
Vous pouvez installer le connecteur AlloyDB Go avec go get
.
Si vous utilisez database/sql, exécutez la commande suivante :
go get cloud.google.com/go/alloydbconn
Configurer les connecteurs de langage AlloyDB
Java
Pour utiliser le connecteur Java AlloyDB afin de vous connecter à votre cluster AlloyDB, configurez-le en procédant comme suit.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, incluez les éléments suivants :
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
config.addDataSourceProperty("alloydbIpType", "PSC");
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent l'authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Java AlloyDB. Pour l'activer, incluez les éléments suivants :
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Pour utiliser le connecteur Python AlloyDB afin de vous connecter à votre cluster AlloyDB, configurez le connecteur en suivant les étapes ci-dessous si vous utilisez pg8000
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction de connexion par ce qui suit :
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 public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utiliser Private Service Connect
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
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent l'authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Python AlloyDB. Pour l'activer, remplacez votre fonction de connexion par ce qui suit :
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Python (asyncpg)
Pour utiliser le connecteur Python AlloyDB afin de vous connecter à votre cluster AlloyDB, configurez le connecteur en suivant les étapes ci-dessous si vous utilisez async
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction de connexion par la suivante :
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 public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utiliser Private Service Connect
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
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent l'authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Python AlloyDB. Pour l'activer, remplacez votre fonction de connexion par ce qui suit :
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Go (pgx)
Pour utiliser le connecteur AlloyDB Go afin de vous connecter à votre cluster AlloyDB, configurez le connecteur en suivant les étapes ci-dessous si vous utilisez pgx
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction d.Dial
par ce qui suit :
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants :
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent l'authentification intégrée.
Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Go AlloyDB. Pour l'activer, remplacez la fonction alloydbconn.NewDialer
par ce qui suit :
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Désactiver la télémétrie intégrée
L'option WithOptOutOfBuiltInTelemetry
désactive l'exportation des métriques internes.
Par défaut, le module de numérotation fournit des rapports sur ses opérations internes au préfixe de métrique système alloydb.googleapis.com
. Ces métriques aident AlloyDB à améliorer les performances et à identifier les problèmes de connectivité des clients. Cette option est utile pour les applications qui fonctionnent dans des environnements où l'exportation de métriques sortantes est limitée. Pour désactiver cette télémétrie, fournissez l'option suivante lors de l'initialisation d'un sélecteur :
d.Dial(ctx, instURI, alloydbconn.WithOptOutOfBuiltInTelemetry())
Go (database/sql)
Pour utiliser le connecteur AlloyDB Go afin de vous connecter à votre cluster AlloyDB, configurez le connecteur en suivant les étapes ci-dessous si vous utilisez database/sql
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction RegisterDriver
par ce qui suit :
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Utiliser Private Service Connect
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())
)
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent l'authentification intégrée.
Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Go AlloyDB. Pour l'activer, remplacez votre fonction RegisterDriver
par le code suivant :
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)
Désactiver la télémétrie intégrée
L'option WithOptOutOfBuiltInTelemetry
désactive l'exportation des métriques internes.
Par défaut, le module de numérotation fournit des rapports sur ses opérations internes au préfixe de métrique système alloydb.googleapis.com
. Ces métriques aident AlloyDB à améliorer les performances et à identifier les problèmes de connectivité des clients. Cette option est utile pour les applications qui fonctionnent dans des environnements où l'exportation de métriques sortantes est limitée. Pour désactiver cette télémétrie, fournissez l'option suivante lors de l'initialisation d'un sélecteur :
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithOptOutOfBuiltInTelemetry(),
)