Google Cloud Private Service Connect et Snowflake¶
Cette rubrique décrit les concepts et la manière de configurer Google Cloud Private Service Connect pour connecter votre sous-réseau de réseau Google Cloud Virtual Private Cloud (VPC) à votre compte Snowflake hébergé sur Google Cloud sans passer par l’Internet public.
Notez que Google Cloud Private Service Connect est et non un service fourni par Snowflake. Il s’agit d’un service Google que Snowflake permet d’utiliser avec votre compte Snowflake.
Vue d’ensemble¶
Google Cloud Private Service Connect fournit une connectivité privée à Snowflake en s’assurant que l’accès à Snowflake se fait via une adresse IP privée. Snowflake apparaît comme une ressource dans votre réseau (c’est-à-dire le réseau du client), mais le trafic circule à sens unique de votre VPC vers Snowflake VPC via le réseau principal Google. Cette configuration simplifie considérablement la configuration du réseau tout en assurant une communication sécurisée et privée.
Le diagramme suivant résume l’architecture de Google Cloud Private Service Connect en tenant compte du Google Cloud VPC du client et le service Snowflake.

Le Google Compute Engine (c’est-à-dire une machine virtuelle) se connecte à une adresse IP privée et virtuelle qui est dirigée vers une règle de transfert (1). La règle de transfert se connecte à la pièce jointe du service par le biais d’une connexion privée (2). La connexion est acheminée par un équilibreur de charge (3) qui redirige vers Snowflake (4).
Limitations¶
10 connexions maximales par projet.
50 connexions maximales par compte.
Certaines fonctions système Snowflake pour la gestion en libre-service ne sont pas prises en charge. Pour plus d’informations, voir Limitations actuelles des comptes sur Google Cloud.
Pour plus de détails, voir :
Configurer votre environnement Google Cloud VPC¶
Cette section couvre les détails spécifiques à Snowflake pour la configuration de votre environnement Google Cloud VPC.
Important
Snowflake n’est pas responsable de la configuration de votre environnement Google Cloud. Cette procédure présente les bases de l’utilisation de Google Cloud CLI, mais ne constitue pas un guide définitif. Par exemple :
Vous pouvez utiliser Google Cloud console pour configurer votre environnement Google Cloud au lieu de Google Cloud CLI, choix qui changerait les étapes. Par exemple, lorsque vous utilisez Google Cloud console, vous créez un point de terminaison et non une règle de transfert.
Il ne vous montre pas comment configurer les mises à jour requises du pare-feu et les enregistrements DNS.
Il ne vous montre pas comment rendre un point de terminaison disponible dans d’autres régions (les points de terminaison de Private Service Connect sont des ressources régionales). Pour plus d’informations sur la mise à disposition d’un point de terminaison dans d’autres régions, consultez la documentation Google.
Pour obtenir de l’aide supplémentaire, contactez votre administrateur interne Google Cloud.
En tant qu’administrateur de compte Snowflake (c’est-à-dire un utilisateur ayant le rôle système ACCOUNTADMIN), ouvrez une feuille de calcul et appelez la fonction SYSTEM$GET_PRIVATELINK_CONFIG. Vous devez enregistrer la sortie pour les étapes suivantes.
Par exemple :
USE ROLE ACCOUNTADMIN; SELECT key, value FROM TABLE(flatten(input=>parse_json(system$get_privatelink_config())));
Utilisez Google Cloud CLI pour mettre à jour la bibliothèque gcloud vers la dernière version :
gcloud components update
Authentifiez auprès de Google Cloud à l’aide de la commande suivante :
gcloud auth login
Dans votre Google Cloud VPC, définissez l’ID de projet dans lequel la règle de transfert doit se trouver.
gcloud config set project <project_id>
Pour obtenir une liste d’IDs de projets, exécutez la commande suivante :
gcloud projects list --sort-by=projectId
Dans votre Google Cloud VPC, créez une adresse IP virtuelle :
gcloud compute addresses create <customer_vip_name> \ --subnet=<subnet_name> \ --addresses=<customer_vip_address> --region=<region>
Où :
customer_vip_name
spécifie le nom de la règle IP virtuelle (par exemple,psc-vip-1
).subnet_name
indique le nom du sous-réseau.customer_vip_address
spécifie une adresse IP qui résout toutes les URLs de connectivité privée. Spécifiez une adresse IP de votre réseau ou utilisez la notation CIDR pour spécifier une plage d’adresses IP.region
spécifie la région du Cloud où votre compte Snowflake est situé.
Par exemple :
gcloud compute addresses create psc-vip-1 \ --subnet=psc-subnet \ --addresses=192.168.3.3 \ --region=us-central1
Sortie :
Created [https://www.googleapis.com/compute/v1/projects/docstest-123456/regions/us-central1/addresses/psc-vip-1].
Créez une règle de redirection pour que la route de votre sous-réseau soit dirigée vers le point de terminaison de Private Service Connect, puis vers le point de terminaison de service Snowflake.
gcloud compute forwarding-rules create <name> \ --region=<region> \ --network=<network_name> \ --address=<customer_vip_name> \ --target-service-attachment=<privatelink-gcp-service-attachment>
Où :
name
spécifie le nom de la règle de transfert.region
spécifie la région du Cloud où votre compte Snowflake est situé.network_name
spécifie le nom du réseau pour cette règle de transfert.customer_vip_name
spécifie la valeur du<nom>
(c’est-à-direpsc-vip-1
) de l’adresse IP virtuelle créée à l’étape précédente.privatelink-gcp-service-attachment
spécifie le point de terminaison du service Snowflake, que vous avez obtenu lors de l’exécution de la fonction SYSTEM$GET_PRIVATELINK_CONFIG dans une étape précédente.
Par exemple :
gcloud compute forwarding-rules create test-psc-rule \ --region=us-central1 \ --network=psc-vpc \ --address=psc-vip-1 \ --target-service-attachment=projects/us-central1-deployment1-c8cc/regions/us-central1/serviceAttachments/snowflake-us-central1-psc
Sortie :
Created [https://www.googleapis.com/compute/projects/mdlearning-293607/regions/us-central1/forwardingRules/test-psc-rule].
Utilisez la commande suivante pour vérifier que la règle de transfert a été créée avec succès :
gcloud compute forwarding-rules list --regions=<region>
Où :
region
est la région du Cloud où votre compte Snowflake est situé. Par exemple, si votre compte Snowflake est situé dans la régioneurope-west2
, remplacez<région>
pareurope-west2
.
Pour obtenir la liste des régions Google Cloud et leur formatage, voir Afficher la liste des régions disponibles.
Mettez à jour vos paramètres DNS.
Toutes les requêtes adressées à Snowflake doivent être routées via le point de terminaison Private Service Connect afin que les URLs renvoyées par la fonction SYSTEM$GET_PRIVATELINK_CONFIG corresponde à l’adresse VIP que vous avez créée (
<customer_vip_address>
).Les valeurs à obtenir à partir de la sortie de SYSTEM$GET_PRIVATELINK_CONFIG dépendent des fonctions de Snowflake auxquelles vous accédez via la connectivité privée. Pour une description des valeurs possibles, voir Valeurs de retour.
Notez que les valeurs pour
regionless-snowsight-privatelink-url
etsnowsight-privatelink-url
permettent l’accès à Snowsight et Snowflake Marketplace en utilisant une connectivité privée. Cependant, il y a une configuration supplémentaire si vous voulez activer les redirections d’URL. Pour plus d’informations, consultez Snowsight & Connectivité privée.Note
Une explication complète de la configuration de DNS dépasse le cadre de cette procédure. Par exemple, vous pouvez choisir d’intégrer une zone DNS privée dans votre environnement en utilisant Cloud DNS. Veuillez consulter vos administrateurs internes de Google Cloud et de l’infrastructure Cloud pour configurer et résoudre correctement les URLs dans DNS.
Se connecter à Snowflake¶
Avant de vous connecter à Snowflake, vous pouvez éventuellement utiliser SnowCD (outil de diagnostic de la connectivité Snowflake) pour évaluer la connexion réseau avec Snowflake et Private Service Connect. Pour plus d’informations, voir SnowCD et SYSTEM$ALLOWLIST_PRIVATELINK.
Pour vous connecter à Snowflake avec votre compte de connectivité privée, voir Connexion avec une URL.
Utilisation de SSO avec Google Private Service Connect¶
Snowflake prend en charge l’utilisation de SSO avec Google Cloud Private Service Connect. Pour plus d’informations, voir :
Utilisation de la redirection des clients avec Google Cloud Private Service Connect¶
Snowflake prend en charge l’utilisation de la redirection des clients avec Google Cloud Private Service Connect.
Pour plus d’informations, voir Redirection des connexions des clients.
Utilisation de la réplication et de Tri-Secret Secure avec une connectivité privée¶
Snowflake prend en charge la réplication de vos données du compte source vers le compte cible, que vous activiez ou non Tri-Secret Secure ou cette fonctionnalité dans le compte cible.
Blocage de l’accès public — Recommandé¶
Après avoir testé la connectivité de Google Cloud Private Service Connect avec Snowflake, vous pouvez éventuellement bloquer l’accès public à Snowflake à l’aide de politiques réseau. Pour plus d’informations, voir Contrôle du trafic réseau avec des politiques réseau.
Configurez la plage de blocage CIDR pour bloquer l’accès public à Snowflake à l’aide de la plage d’adresses IP de votre entreprise. Cette plage peut provenir de votre réseau virtuel.
Une fois les plages de blocage CIDR définies, seules les adresses IP comprises dans la plage de blocage CIDR peuvent accéder à Snowflake.
Pour bloquer l’accès public à l’aide d’une politique réseau :
Créez une règle de réseau IPv4 ou modifiez une règle de réseau IPv4 existante pour ajouter la plage de blocage CIDR pour votre organisation.
Créez ou modifiez une politique réseau pour utiliser la règle réseau IPv4.
Activez la politique réseau pour votre compte.