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.

Architecture overview

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).

Considérations

Google Private Service Connect n’offre pas de prise en charge native pour les deux cas d’utilisation suivants :

  • Connectivité privée interrégionale.

  • Connexions sur site à Snowflake.

Une solution de contournement possible consiste à créer une ferme de proxy et à la diriger vers la règle de transfert.

Notez que le sous-réseau Google Cloud qui se connecte à la règle de transfert doit se trouver dans la même région cloud que votre compte Snowflake.

Pour obtenir de l’aide sur la configuration, veuillez contacter votre administrateur Google Cloud interne.

Limites

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.

  1. Contactez le support Snowflake et fournissez une liste des valeurs de votre <project_id> 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.

  2. Dans une feuille de calcul Snowflake, dans l’onglet Worksheets Worksheet tab, 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())));
    
  3. 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
    
  4. Authentifiez-vous à Google Cloud Platform en utilisant la commande suivante :

    gcloud auth login
    
  5. 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
    
  6. 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-à-dire psc-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.

    .

  7. 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-à-dire psc-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).

    .

  8. 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> par europe-west2.

    Pour obtenir une liste complète des régions Google Cloud et de leur formatage, consultez Afficher la liste des régions disponibles.

  9. Mettez à jour vos paramètres DNS. Toutes les demandes adressées à Snowflake doivent être acheminées par le point de terminaison Private Service Connect. Mettez à jour vos paramètres DNS afin que les URLs de l’étape 1 (privatelink-account-url et privatelink-ocsp-url) soient résolus vers l’adresse VIP que vous avez créée (<adresse_vip_client>).

    Dans Snowflake, utilisez les valeurs suivantes de la sortie SYSTEM$GET_PRIVATELINK_CONFIG :

    privatelink-account-url et privatelink-ocsp-url.

    . Si vous utilisez l’une des fonctionnalités suivantes ou êtes susceptible de les utiliser à l’avenir, il est nécessaire de créer un enregistrement DNS supplémentaire avec les valeurs suivantes ou de combiner les valeurs suivantes avec les valeurs du compte Snowflake et du serveur de cache OCSP. Cette étape garantit l’accès à ces fonctionnalités par le biais du point de terminaison Google Cloud Private Service Connect.

    Snowflake Data Marketplace ou Snowsight

    app.<id_région>.privatelink.snowflakecomputing.com

    Notez que region_id n’inclut que la valeur de la région et non le segment de la plate-forme Cloud. Par exemple, si votre région est US Central1 (Iowa), utilisez us-central1.

    Organisations

    <nom_de_l'organisation>-<nom_du_compte>.privatelink.snowflakecomputing.com

    Pour plus d’informations, voir Identificateurs de compte.

    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.

  10. Testez votre connexion à Snowflake à l’aide de SnowCD (Connectivity Diagnostic Tool).

  11. Connectez-vous à Snowflake avec votre URL de compte de connectivité privée.

Vous pouvez maintenant vous connecter à Snowflake en utilisant Google Cloud Private Service Connect.

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.

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 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 :

  1. Créez une politique réseau ou modifiez une politique réseau existante. Ajoutez la plage de blocage CIDR pour votre organisation.

  2. Activez la politique réseau pour votre compte.

Revenir au début