Konfigurieren der Apache Iceberg™ REST-Katalogintegration mit ausgehender privater Konnektivität

Unter diesem Thema wird erklärt, wie Sie eine Katalogintegration für Apache Iceberg™-Tabellen konfigurieren, die in einem Remote-Katalog verwaltet werden, der mit der Open Source Apache Iceberg™ REST OpenAPI-Spezifikation übereinstimmt.

Mit dieser Konfiguration können Sie die Katalogintegration verwenden, um eine Verbindung zu einem Iceberg REST-Remote-Katalog über eine private IP-Adresse statt über das öffentliche Internet herzustellen.

Die folgende Abbildung zeigt, wie eine Iceberg-Tabelle eine Katalogintegration mit einem externen Iceberg-Katalog verwendet.

Funktionsweise von Iceberg-Tabellen, die eine Katalogintegration verwenden

Allgemeine Informationen über ausgehende private Konnektivität in Snowflake, einschließlich Kosten für ausgehende private Konnektivität, finden Sie unter Private Konnektivität für ausgehenden Netzwerkdatenverkehr.

Dieses Thema behandelt die Konfigurationsschritte für die folgenden Katalogtypen:

  • Allgemeine Iceberg REST-Kataloge

  • AWS Glue-Datenkatalog

  • Databricks Unity-Katalog

Bemerkung

  • Private Konnektivität wird nur für Katalogintegrationen auf AWS, die AWS PrivateLink verwenden, und Azure, die Azure Private Link verwenden, unterstützt.

  • Private Konnektivität ist nur innerhalb desselben Cloudanbieters verfügbar. Der Katalog und die Snowflake-Bereitstellung müssen beim gleichen Cloudanbieter ausgeführt werden.

  • Anmeldeinformationen über den Katalog werden nicht unterstützt, wenn Sie eine Katalogintegration mit ausgehender privater Konnektivität konfigurieren.

Schritt 1: Informationen zur private Konnektivität für Ihren Katalog sammeln

Sie müssen Informationen zur privaten Konnektivität sammeln, um diese später bei der Bereitstellung eines entsprechenden privaten Konnektivitätsendpunkt in der Snowflake VPC oder von VNet anzugeben. Wenn Sie einen entsprechenden privaten Konnektivitätsendpunkt bereitstellen, erstellen Sie einen AWS PrivateLink-Endpunkt in Snowflake, wenn Ihr Snowflake-Konto in AWS gehostet wird, oder erstellen Sie einen privaten Azure-Endpunkt, wenn Ihr Snowflake-Konto in Azure gehostet wird.

  • Um Informationen zur privaten Konnektivität für Ihren Katalog zu sammeln, lesen Sie die Dokumentation für den Iceberg REST-Remote-Katalog.

    Das folgende Beispiel ist eine AWS VPC-Endpunktdienst-ID in AWS: com.amazonaws.vpce.us-west-2.vpce-svc-0123456789abcdef.

Schritt 2: Privaten Konnektivitätsendpunkt bereitstellen

In diesem Schritt stellen Sie einen privaten Konnektivitätsendpunkt in der Snowflake VPC oder in VNet bereit, damit Snowflake über private Konnektivität eine Verbindung zum externen Iceberg REST-Katalog herstellen kann.

  • Um einen privaten Konnektivitätsendpunkt bereitzustellen, rufen Sie die Systemfunktion SYSTEM$PROVISION_PRIVATELINK_ENDPOINT auf.

    Anweisungen zum Angeben der Argumente für diese Systemfunktion finden Sie in der Dokumentation für die den Iceberg REST-Remote-Katalog, mit dem Sie über private Konnektivität eine Verbindung herstellen möchten.

    Der folgende Codeblock zeigt ein Beispiel für die Bereitstellung eines AWS PrivateLink-Endpunkts:

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

Schritt 3: Endpunktstatus überprüfen

In diesem Schritt überprüfen Sie den Endpunktstatus des privaten Konnektivitätsendpunkts in der Snowflake VPC oder in VNet, die Sie im vorherigen Schritt bereitgestellt haben.

  • Um den Status des Endpunkts zu überprüfen, rufen Sie die Systemfunktion SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO auf:

    SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
    
    Copy

    Der Endpunkt ist einsatzbereit, wenn der status sich von pending in available ändert.

Schritt 4: Zusätzliche katalogspezifische Konfiguration

Führen Sie die zusätzlichen Konfigurationsschritte für Ihren Katalogtyp durch.

Bemerkung

Für einige Kataloge oder einige Arten von privaten Konnektivitätsendpunkten müssen Sie auch die Verbindung genehmigen oder die privaten Konnektivitätsendpunkte auf der Seite des Katalogservers auf die Zulassungsliste setzen.

  • Informationen zu den zusätzlichen Konfigurationsschritten finden Sie in der Dokumentation zum Iceberg REST-Remote-Katalog. Fahren Sie dann mit dem nächsten Schritt fort.

Schritt 5: Katalogintegration erstellen

In diesem Schritt konfigurieren Sie zur Aktivierung der privaten Konnektivität eine Katalogintegration für den Katalog-REST-Endpunkt.

  • Um diese Katalogintegration zu konfigurieren, führen Sie den Befehl CREATE CATALOG INTEGRATION aus.

    Beispiel:

    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

    Wichtig

    Um ausgehende private Konnektivität zu verwenden, müssen Sie CATALOG_API_TYPE=PRIVATE angeben, wenn Sie die Integration erstellen.

    Weitere Informationen, einschließlich der unterstützten Authentifizierungsmethoden, finden Sie unter CREATE CATALOG INTEGRATION (Apache Iceberg™ REST).

Schritt 6: Katalogintegration überprüfen

(Optional) Schritt 7: Katalogkonfiguration aktualisieren

Wir empfehlen, dass Sie die Konfiguration für Ihren Remote-Katalog aktualisieren, sodass er nur über eine private Konnektivität zugänglich ist.

  • Um den öffentlichen Zugriff auf Ihren Katalog zu deaktivieren, lesen Sie die Dokumentation für den Remote-Katalog, mit dem Sie sich über eine private Konnektivität verbinden möchten.

Nächste Schritte

Dieser Abschnitt enthält einige Aufgaben, die Sie ausführen können, nachdem Sie Ihre Katalogintegration konfiguriert haben:

Ihre privaten Konnektivitätsendpunkte überwachen

Konfigurieren Sie ein externes Volume mit ausgehender privater Konnektivität:

  • Um private Konnektivität zwischen Snowflake und Ihren Speicher-Buckets zu aktivieren, konfigurieren Sie ein externes Volumen mit ausgehender privater Konnektivität.

    Weitere Informationen zu externen Volumen finden Sie unter Externes Volume konfigurieren.

    Bemerkung

    Anmeldeinformationen über den Katalog werden nicht unterstützt, wenn Sie eine Katalogintegration mit ausgehender privater Konnektivität konfigurieren.

Eine mit dem Katalog verbundene Datenbank erstellen

  • Um eine Snowflake-Datenbank zu erstellen, die mit Ihrem externen Iceberg REST-Katalog verbunden ist, erstellen Sie eine mit einem Katalog verknüpfte Datenbank.

    Weitere Informationen dazu finden Sie unter Eine mit dem Katalog verbundene Datenbank erstellen.

    Bemerkung

    Wenn Sie die mit dem Katalog verknüpfte Datenbank erstellen, geben Sie eine Katalogintegration an, die mit ausgehender privater Konnektivität konfiguriert ist.

In den Remote-Katalog schreiben

Nachdem Sie eine Katalogintegration für Apache Iceberg™ REST konfiguriert und eine mit dem Katalog verknüpfte Datenbank erstellt haben, können Sie in Ihren Remote-Katalog schreiben.