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 Google Cloud Virtual Private Cloud (VPC) à votre compte Snowflake hébergé sur Google Cloud Platform sans traverser l’Internet public.
Notez que Google Cloud Private Service Connect n’est pas un service fourni par Snowflake. Il s’agit d’un service Google que Snowflake permet d’utiliser avec votre compte Snowflake.
Si vous utilisez Business Critical Edition (ou une version supérieure) et souhaitez utiliser Google Cloud Private Service Connect avec votre compte, contactez le support Snowflake et demandez une activation de ce service.
Dans ce chapitre :
Vue d’ensemble¶
Google Cloud Private Service Connect fournit une connectivité privée à Snowflake en garantissant 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 le VPC Snowflake sur 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 schéma suivant résume l’architecture de Google Cloud Private Service Connect en tenant compte du VPC Google Cloud du client et du service Snowflake.
Le moteur informatique de Google (c’est-à-dire une machine virtuelle) se connecte à une adresse IP virtuelle privée 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¶
Les fonctions système Snowflake pour la gestion en libre-service ne sont pas prises en charge. Pour plus de détails, voir Limitations actuelles des comptes sur GCP.
Pour plus de détails, voir :
Procédure de configuration¶
Cette section décrit comment configurer Google Cloud Private Service Connect pour se connecter à Snowflake.
Attention
Cette section ne couvre que les détails spécifiques à Snowflake pour la configuration de votre environnement VPC Google Cloud. De plus, notez que Snowflake n’est pas responsable de la configuration finale des mises à jour de pare-feu nécessaires et des enregistrements DNS.
Si vous rencontrez des problèmes avec l’une de ces tâches de configuration, veuillez contacter le support Google directement.
Pour obtenir une aide à l’installation, consultez la documentation de Google sur le SDK Cloud : Interface de ligne de commande.
Pour obtenir de l’aide supplémentaire, contactez votre administrateur Google Cloud interne.
Contactez le support Snowflake et fournissez une liste des valeurs de votre
<id_projet>
Google Cloud et les URLs correspondantes que vous utilisez pour accéder à Snowflake avec une note pour activer Google Cloud Private Service Connect. Après avoir reçu une réponse du support Snowflake, passez à l’étape suivante.Important
Si vous utilisez VPC Service Controls dans votre VPC, assurez-vous que la politique autorise l’accès au service Snowflake avant de contacter le support Snowflake.
Si cette action n’est pas effectuée, Snowflake ne sera pas en mesure d’ajouter votre IDprojet à la liste des pièces jointes autorisées du service Snowflake. Le résultat est que vous ne pourrez pas vous connecter à Snowflake en utilisant cette fonction.
Dans une feuille de calcul Snowflake, exécutez la fonction SYSTEM$GET_PRIVATELINK_CONFIG avec le rôle système ACCOUNTADMIN et enregistrez la sortie de commande pour l’utiliser dans les étapes suivantes :
use role accountadmin; select key, value from table(flatten(input=>parse_json(system$get_privatelink_config())));
Dans une interface de ligne de commande (par exemple, l’application Terminal), mettez à jour la bibliothèque gcloud vers la dernière version :
gcloud components update
Authentifiez-vous à Google Cloud Platform en utilisant la commande suivante :
gcloud auth login
Dans votre VPC Google Cloud, définissez l”ID de projet dans lequel la règle de transfert doit résider.
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 VPC Google Cloud, créer une adresse IP virtuelle :
gcloud compute addresses create <customer_vip_name> \ --subnet=<subnet_name> \ --addresses=<customer_vip_address> --region=<region>
Par exemple :
gcloud compute addresses create psc-vip-1 \ --subnet=psc-subnet \ --addresses=192.168.3.3 \ --region=us-central1 # returns Created [https://www.googleapis.com/compute/v1/projects/docstest-123456/regions/us-central1/addresses/psc-vip-1].
Où :
<nom__vip_client>
spécifie le nom de la règle IP virtuelle (c’est-à-direpsc-vip-1
).<nom_sousréseau>
spécifie le nom du sous-réseau.<adresse_vip_client>
: toutes les URLs de connectivité privée se résolvent à cette adresse. Spécifiez une adresse IP de votre réseau ou utilisez la notation CIDR pour spécifier une plage d’adresses IP.<région>
spécifie la région Cloud où se trouve votre compte Snowflake.
.
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>
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 # returns Created [https://www.googleapis.com/compute/projects/mdlearning-293607/regions/us-central1/forwardingRules/test-psc-rule].
Où :
<nom>
spécifie le nom de la règle de transfert.<région>
spécifie la région Cloud où se trouve votre compte Snowflake.<nom_réseau>
spécifie le nom du réseau pour cette règle de transfert.<nom_vip_client>
spécifie la valeur<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 pour le service Snowflake (voir étape 2).
.
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>
La région Cloud dans cette commande doit correspondre à la région Cloud où se trouve votre compte Snowflake.
Par exemple, si votre compte Snowflake est situé dans la région
europe-west-2
, remplacez<région>
pareurope-west2
.Pour obtenir une liste complète des régions Google Cloud et de leur formatage, consultez Afficher la liste des régions disponibles.
Mettez à jour vos paramètres DNS.
Toutes les demandes adressées à Snowflake doivent être acheminées par le point de terminaison Private Service Connect de sorte que les URLs de l’étape 2 (de la fonction SYSTEM$GET_PRIVATELINK_CONFIG) soient résolues à l’adresse VIP que vous avez créée (
<adresse_vip_client>
).Ces valeurs de point de terminaison vous permettent d’accéder à Snowflake, à Snowsight, et à Snowflake Marketplace tout en utilisant également OCSP pour déterminer si un certificat est révoqué lorsque les clients Snowflake tentent de se connecter à un point de terminaison par le biais de HTTPS et d’URLs de connexion.
Les valeurs de fonction à obtenir sont :
privatelink-account-url
privatelink-connection-ocsp-urls
privatelink-connection-urls
privatelink-ocsp-url
regionless-privatelink-account-url
regionless-snowsight-privatelink-url
snowsight-privatelink-url
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 de détails, voir Snowsight et 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 contacter les administrateurs de votre infrastructure Google Cloud et Cloud interne pour configurer et résoudre correctement les URLs dans les DNS.
Testez votre connexion à Snowflake à l’aide de SnowCD (Connectivity Diagnostic Tool).
Connectez-vous à Snowflake avec votre URL de compte de connectivité privée.
Notez que si vous souhaitez vous connecter à Snowsight via Google Cloud Private Service Connect, suivez les instructions de la documentation Snowsight.
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 Rediriger les connexions du client.
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.
Pour plus de détails, reportez-vous à Réplication de base de données et chiffrement.
Blocage de l’accès public — Facultatif¶
Après avoir testé la connectivité Google Cloud Private Service Connect avec Snowflake, vous pouvez éventuellement configurer le blocage de l’accès public à Snowflake à l’aide de 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 politique réseau ou modifiez une politique réseau existante. Ajoutez la plage de blocage CIDR pour votre organisation.
Activez la politique réseau pour votre compte.