Configurer une intégration de catalogue Apache Iceberg™ REST avec une connexion privée sortante

Ce chapitre explique comment configurer une intégration de catalogue pour des Tables Apache Iceberg™ gérées dans un catalogue distant conforme à la spécification Apache Iceberg™ REST OpenAPI open source.

Avec cette configuration, vous pouvez utiliser l’intégration de catalogue pour vous connecter à un catalogue REST Iceberg distant via une adresse IP privée plutôt que via l’Internet public.

Le diagramme suivant montre comment une table Iceberg utilise une intégration de catalogue avec un catalogue Iceberg externe.

Fonctionnement des tables Iceberg qui utilisent une intégration de catalogue

Pour des informations générales sur la connexion privée sortante dans Snowflake, notamment les coûts de la connectivité privée sortante, voir Connectivité privée pour le trafic réseau sortant.

Cette rubrique couvre les étapes de configuration des types de catalogues suivants :

  • Catalogues REST Iceberg génériques

  • Catalogue de données AWS Glue

  • Catalogue Databricks Unity

Note

  • La connexion privée n’est prise en charge que pour les intégrations de catalogue sur AWS qui utilisent AWS PrivateLink et Azure qui utilisent Azure Private Link.

  • La connexion privée n’est disponible qu’au sein du même fournisseur Cloud. Le catalogue et le déploiement Snowflake doivent être exécutés dans le même fournisseur Cloud.

  • Les identifiants de connexion distribués par catalogue ne sont pas pris en charge lorsque vous configurez une intégration de catalogue avec une connectivité privée sortante.

Étape 1 : Rassembler des informations de connexion privée pour votre catalogue

Vous devez collecter des informations sur la connexion privée pour les spécifier ultérieurement lorsque vous provisionnez un point de terminaison de connectivité privée correspondant dans le VPC ou le VNet Snowflake. Lorsque vous provisionnez un point de terminaison de connexion privée correspondant, vous créez un point de terminaison AWS PrivateLink dans Snowflake lorsque votre compte Snowflake est hébergé dans AWS ou vous créez un point de terminaison privé Azure lorsque votre compte Snowflake est hébergé sur Azure.

  • Pour collecter des informations de connexion privée pour votre catalogue, consultez la documentation sur le catalogue Iceberg REST distant.

    L’exemple suivant est un ID de service de point de terminaison AWS VPC dans AWS : com.amazonaws.vpce.us-west-2.vpce-svc-0123456789abcdef.

Étape 2 : Fournir un point de terminaison de connexion privée

Lors de cette étape, vous provisionnez un point de terminaison de connexion privée dans le VPC ou VNet Snowflake pour permettre à Snowflake de se connecter au catalogue REST Iceberg distant à l’aide d’une connexion privée.

  • Pour provisionner un point de terminaison de connexion privée, appelez la fonction système SYSTEM$PROVISION_PRIVATELINK_ENDPOINT.

    Pour savoir comment spécifier les arguments de cette fonction système, voir la documentation du catalogue Iceberg REST distant auquel vous souhaitez vous connecter via une connexion privée.

    Le bloc de code suivant montre un exemple de provisionnement d’un point de terminaison AWS PrivateLink :

    SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
      'com.amazonaws.vpce.us-west-2.vpce-svc-0123456789abcdef',
      'my.catalog.com'
      );
    
    Copy

Étape 3 : Vérifiez le statut du point de terminaison

Lors de cette étape, vous vérifiez le statut du point de terminaison du point de terminaison de connexion privée dans le VPC ou VNet Snowflake que vous avez provisionné à l’étape précédente.

  • Pour vérifier le statut du point de terminaison, appelez la fonction système SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO :

    SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
    
    Copy

    Le point de terminaison est prêt à l’emploi lorsque le status passe de pending à available.

Étape 4 : Configuration supplémentaire spécifique au catalogue

Effectuez les étapes de configuration supplémentaires pour votre type de catalogue.

Note

Pour certains catalogues ou certains types de points de terminaison de connexion privée, vous devez également approuver la connexion ou répertorier les points de terminaison de connexion privée côté serveur de catalogue.

  • Pour effectuer les étapes de configuration supplémentaires, consultez la documentation relative au catalogue Iceberg REST distant, puis passez à l’étape suivante.

Étape 5 : Créer une intégration de catalogue

Lors de cette étape, pour activer la connexion privée, vous configurez une intégration de catalogue pour le catalogue de point de terminaison REST.

  • Pour configurer cette intégration de catalogue, exécutez la commande CREATE CATALOG INTEGRATION.

    Par exemple :

    CREATE OR REPLACE CATALOG INTEGRATION iceberg_rest_catalog_cat_int_private
      CATALOG_SOURCE = ICEBERG_REST
      TABLE_FORMAT = ICEBERG
      REST_CONFIG = (
        CATALOG_URI = '<rest_api_endpoint_url>'
        CATALOG_API_TYPE = PRIVATE
        CATALOG_NAME = '<catalog_name>'
      )
      REST_AUTHENTICATION = (
        TYPE = OAUTH
        OAUTH_TOKEN_URI = '<token_server_uri>'
        OAUTH_CLIENT_ID = '<oauth_client_id>'
        OAUTH_CLIENT_SECRET = '<oauth_client_secret>'
        OAUTH_ALLOWED_SCOPES = ('all-apis', 'sql')
    )
    ENABLED = true;
    
    Copy

    Important

    Pour utiliser la connexion privée sortante, vous devez spécifier CATALOG_API_TYPE=PRIVATE lorsque vous créez l’intégration.

    Pour plus d’informations, notamment sur les méthodes d’authentification prises en charge, voir CREATE CATALOG INTEGRATION (Apache Iceberg™ REST).

Étape 6 : Vérifier l’intégration de votre catalogue

(Facultatif) Étape 7 : Mettre à jour la configuration de votre catalogue

Nous vous recommandons de mettre à jour la configuration de votre catalogue distant afin qu’il ne soit accessible que via une connexion privée.

  • Pour désactiver l’accès public à votre catalogue, consultez la documentation du catalogue distant auquel vous souhaitez vous connecter via une connexion privée.

Prochaines étapes

Cette section contient certaines tâches que vous pouvez effectuer après avoir configuré l’intégration de votre catalogue :

Surveiller vos points de terminaison de connexion privée

Configurer un volume externe avec une connexion privée sortante

  • Pour activer la connexion privée entre Snowflake et vos compartiments de stockage, configurez un volume externe avec une connexion privée sortante.

    Pour plus d’informations sur les volumes externes, consultez Configurer un volume externe.

    Note

    Les identifiants de connexion distribués par catalogue ne sont pas pris en charge lorsque vous configurez une intégration de catalogue avec une connexion privée sortante.

Créer une base de données liée à un catalogue

  • Pour créer une base de données Snowflake connectée à votre catalogue REST Iceberg externe, créez une base de données liée au catalogue.

    Pour plus d’informations, voir Créer une base de données liée à un catalogue.

    Note

    Lorsque vous créez la base de données liée au catalogue, spécifiez une intégration de catalogue configurée avec une connexion privée sortante.

Écrire dans votre catalogue distant

Après avoir configuré une intégration de catalogue pour Apache Iceberg™ REST et créé une base de données liée au catalogue, vous pouvez écrire dans votre catalogue distant.