Configurer la connectivité privée pour les transferts Snowflake

Ce guide vous explique comment configurer une connectivité privée pour créer des transferts de données privés de Snowflake vers BigQuery. Les transferts de données privés vous permettent de transférer des données d'une source à une autre au sein d'un réseau privé et de réduire les risques de sécurité lorsque vous transférez des données sur l'Internet public.

Les sections suivantes décrivent les étapes requises pour configurer la connectivité privée avant de pouvoir créer un transfert Snowflake.

Les transferts privés sont compatibles avec les instances Snowflake hébergées sur Amazon Web Services (AWS), Microsoft Azure et Google Cloud.

Créez un lien privé qui connecte votre compte Snowflake à votre fournisseur cloud. Pour en savoir plus, sélectionnez l'une des options suivantes :

AWS

Configurez AWS PrivateLink pour connecter votre compte Snowflake à votre compte AWS account. Votre compte AWS doit contenir le bucket de préproduction Amazon S3 requis pour un transfert Snowflake.

Azure

Configurez Azure Private Link pour connecter votre réseau virtuel Azure (VNet) au VNet Snowflake dans Azure. Votre compte Azure doit contenir le bucket de préproduction Blob requis pour un transfert Snowflake.

Google Cloud

Configurez Google Cloud Private Service Connect pour connecter le sous-réseau de votre réseau cloud privé virtuel (VPC) à votre compte Snowflake hébergé sur Google Cloud. Vous devez disposer d'un bucket de préproduction Cloud Storage requis pour un transfert Snowflake .Google Cloud

Configurer interconnexion cross-cloud ou un VPN haute disponibilité

Configurez interconnexion cross-cloud ou un VPN haute disponibilité à partir d'AWS ou d'Azure. Cette étape n'est pas requise pour les comptes Snowflake hébergés sur Google Cloud.

AWS

Un VPN haute disponibilité vous permet de transférer des données via un tunnel VPN chiffré. Pour utiliser un VPN haute disponibilité pour votre transfert Snowflake privé, consultez Créer des connexions VPN haute disponibilité entre Google Cloud et AWS.

Une connexion Cross-Cloud Interconnect crée un lien privé dédié entre les fournisseurs cloud et convient aux transferts de données volumineux avec des exigences de faible latence. Pour utiliser interconnexion cross-cloud pour votre transfert Snowflake privé, consultez Se connecter à AWS.

Azure

Un VPN haute disponibilité vous permet de transférer des données via un tunnel VPN chiffré. Pour utiliser un VPN haute disponibilité pour votre transfert Snowflake privé, consultez Créer des connexions VPN haute disponibilité entre Google Cloud et Azure.

Une connexion Cross-Cloud Interconnect crée un lien privé dédié entre les fournisseurs cloud et convient aux transferts de données volumineux avec des exigences de faible latence. Pour utiliser interconnexion cross-cloud pour votre transfert Snowflake privé, consultez Se connecter à Azure.

Créer une VM proxy

Pour établir une connexion privée, une VM proxy est requise pour établir la connexion entre vos sources de données sans que vos données n'atteignent l'Internet public. Cette étape est requise pour les instances Snowflake hébergées sur AWS, Azure ou Google Cloud.

Pour créer et configurer une VM proxy pour un transfert privé Snowflake, procédez comme suit :

  1. Créez une ou plusieurs instances de VM Compute Engine dans le réseau VPC consommateur.
  2. Téléchargez un logiciel proxy TCP, tel que HAProxy ou Nginx, et configurez les éléments suivants :
    1. Spécifiez un port. Par exemple, 443.
    2. Transférez tout le trafic TCP entrant vers le nom d'hôte et le port privés de l'instance Snowflake.
  3. Configurez les VM pour résoudre le nom d'hôte privé Snowflake via le DNS configuré dans le réseau VPC consommateur.
  4. Configurez un équilibreur de charge passthrough interne en procédant comme suit :
    1. Regroupez les VM proxy dans un groupe d'instances géré (MIG).
    2. Configurez un équilibreur de charge réseau passthrough interne avec des backends de groupe d'instances de VM.

Créer un rattachement de service

Utilisez Private Service Connect pour créer un rattachement réseau et publier le service. Cette étape est requise pour les instances Snowflake hébergées sur AWS, Azure ou Google Cloud.

Votre rattachement de service doit se trouver dans la même région que votre ensemble de données BigQuery.

Si votre service utilise une approbation explicite (connection-preference est défini sur ACCEPT_MANUAL), le compte de service utilisé dans votre transfert de données privé Snowflake doit disposer des autorisations IAM suivantes :

  • compute.serviceAttachments.get
  • compute.serviceAttachments.update
  • compute.regionOperations.get

Une fois le rattachement de service créé, notez son URI. Vous aurez besoin de cet URI lorsque vous créerez votre configuration de transfert Snowflake.

Créer un point de terminaison

Créez un point de terminaison dans votre compte AWS ou Azure. Cette étape n'est pas requise pour les comptes Snowflake hébergés sur Google Cloud.

AWS

Dans AWS, créez un point de terminaison VPC qui se connecte à Amazon S3. Pour en savoir plus, consultez Accéder à un service AWS à l'aide d'un point de terminaison VPC d'interface.

Azure

Configurez un point de terminaison privé sur le compte de stockage dans Azure. Pour en savoir plus, consultez Utiliser des points de terminaison privés pour Azure Storage.

Le service de transfert de stockage nécessite le point de terminaison *.blob.core.microsoft.net. Le point de terminaison *.dfs.core.microsoft.net n'est pas compatible.

Une fois créé, notez l'adresse IP du point de terminaison. Vous devrez spécifier l'adresse IP lorsque vous créerez votre équilibreur de charge dans la section suivante.

Créer un équilibreur de charge réseau

Configurez un équilibreur de charge réseau (NLB) proxy interne régional avec une connectivité hybride. Vous pouvez créer l'équilibreur de charge pour acheminer le trafic vers les points de terminaison VPC Amazon S3 ou les points de terminaison privés Azure Storage que vous avez créés dans la section précédente. Pour en savoir plus, consultez Configurer un équilibreur de charge réseau proxy interne régional avec une connectivité hybride.

Enregistrer votre NLB

Après avoir créé votre NLB réseau, enregistrez-le dans l'annuaire des services du service de transfert de stockage. Pour en savoir plus, consultez Enregistrer votre NLB dans l'annuaire des services.

Notez le lien vers l'annuaire des services. Vous aurez besoin du lien propre au service lorsque vous créerez votre configuration de transfert Snowflake.

Créer une configuration de transfert Snowflake privée

Créez le transfert Snowflake. Lorsque vous configurez la configuration de transfert, procédez comme suit :

Console

  • Pour Utiliser un réseau privé, sélectionnez Vrai.
  • Pour Rattachement de service PSC, saisissez l'URI du rattachement de service. Pour savoir comment trouver l'URI du rattachement de service, consultez Afficher les détails d'un service publié. L'URI du rattachement de service est au format projects/PROJECT_ID/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT.
  • Pour Service de réseau privé, saisissez le lien propre au service NLB. Il utilise le format projects/PROJECT_ID/locations/LOCATION/namespaces/NAMESPACE/services/SERVICE_NAME.

bq

  • Pour le paramètre use_private_network, définissez la valeur sur TRUE.
  • Pour le paramètre service_attachment, spécifiez l'URI du rattachement de service. Pour savoir comment trouver l'URI du rattachement de service, consultez Afficher les détails d'un service publié. L'URI du rattachement de service est au format projects/PROJECT_ID/regions/REGION/serviceAttachments/SERVICE_ATTACHMENT.
  • Pour le paramètre private_network_service, fournissez le lien propre au service NLB. Il utilise le format projects/PROJECT_ID/locations/LOCATION/namespaces/NAMESPACE/services/SERVICE_NAME.