Google Cloud Private Service Connect & Snowflake

Unter diesem Thema werden Konzepte und die Konfiguration von Google Cloud Private Service Connect beschrieben, um Ihr Google Cloud Virtual Private Cloud (VPC)-Netzwerksubnetz unter Umgehung des öffentlichen Internets mit Ihrem auf Google Cloud Platform gehosteten Snowflake-Konto zu verbinden.

Beachten Sie, dass Google Cloud Private Service Connect kein von Snowflake angebotener Dienst ist. Es handelt sich um einen Google-Service, den Snowflake für die Verwendung mit Ihrem Snowflake-Konto aktiviert.

Wenn Sie Business Critical Edition (oder höher) verwenden und Google Cloud Private Service Connect für Ihr Konto nutzen möchten, wenden Sie sich an den Snowflake-Support, und fordern Sie eine Aktivierung an.

Unter diesem Thema:

Übersicht

Google Cloud Private Service Connect bietet private Konnektivität zu Snowflake, indem sichergestellt wird, dass der Zugriff auf Snowflake über eine private IP-Adresse erfolgt. Snowflake wird in Ihrem Netzwerk (d. h. dem Kundennetzwerk) zwar als Ressource angezeigt, aber der Datenverkehr erfolgt in nur eine Richtung von Ihrer VPC zur Snowflake-VPC über den Google-Netzwerk-Backbone. Dieses Setup ermöglicht eine deutlich vereinfachte Netzwerkkonfiguration und sorgt gleichzeitig für eine sichere und private Kommunikation.

Die folgende Abbildung fasst die Google Cloud Private Service Connect-Architektur in Bezug auf die Google Cloud-VPC des Kunden und den Snowflake-Dienst zusammen.

Architecture overview

Die Google Compute Engine (d. h. eine virtuelle Maschine) verbindet sich mit einer privaten, virtuellen IP-Adresse, die zu einer Weiterleitungsregel (1) führt. Die Weiterleitungsregel verbindet sich mit dem Dienstanhang über eine private Verbindung (2). Die Verbindung wird über einen Load Balancer (3) geleitet, der sie zu Snowflake (4) umleitet.

Hinweise

Google Private Service Connect bietet keine native Unterstützung für die folgenden beiden Anwendungsfälle:

  • Regionsübergreifende private Konnektivität

  • Lokale (on-premise) Verbindungen zu Snowflake

Eine mögliche Problemumgehung ist die Erstellung einer Proxyfarm und das Routing zur Weiterleitungsregel.

Beachten Sie, dass sich das Google Cloud-Subnetz, das mit der Weiterleitungsregel verbunden ist, in derselben Cloudregion befinden muss wie Ihr Snowflake-Konto.

Wenn Sie Hilfe bei der Einrichtung benötigen, wenden Sie sich an Ihren internen Google Cloud-Administrator.

Einschränkungen

Konfigurationsverfahren

In diesem Abschnitt wird beschrieben, wie Sie Google Cloud Private Service Connect für die Verbindung mit Snowflake konfigurieren.

Achtung

In diesem Abschnitt werden nur die Snowflake-spezifischen Details zum Konfigurieren Ihrer Google Cloud-VPC-Umgebung behandelt. Beachten Sie außerdem, dass Snowflake nicht für die Konfiguration der notwendigen Firewall-Anpassungen und die DNS-Einträge verantwortlich ist.

Falls Sie Probleme bezüglich dieser Konfigurationsanforderungen haben, wenden Sie sich direkt an den Google-Support.

Hilfe zur Installation finden Sie in der Google-Dokumentation zur Cloud-SDK: Befehlszeilenschnittstelle.

  1. Kontaktieren Sie den Snowflake-Support, und übergeben Sie eine Liste Ihrer Google Cloud-<project_id>-Werte und der zugehörigen URLs, die Sie für den Zugriff auf Snowflake verwenden, mit dem Hinweis, Google Cloud Private Service Connect zu aktivieren. Wenn Sie eine Antwort vom Snowflake-Support erhalten haben, fahren Sie mit dem nächsten Schritt fort.

    Wichtig

    Wenn Sie in Ihrer VPC VPC Service Controls verwenden, müssen Sie sicherstellen, dass die Richtlinie den Zugriff auf den Snowflake-Dienst zulässt, bevor Sie sich an den Snowflake-Support wenden.

    Wenn Sie diese Einstellung nicht vornehmen, kann Snowflake Ihre Projekt-ID nicht in die Liste der zulässigen Anhänge des Snowflake-Dienstes aufnehmen. Das hat zur Folge, dass Sie bei Verwendung dieser Funktion keine Verbindung zu Snowflake herstellen können.

  2. Führen Sie in einem Snowflake-Arbeitsblatt auf der Registerkarte Worksheets Worksheet tab die Funktion SYSTEM$GET_PRIVATELINK_CONFIG mit der Systemrolle ACCOUNTADMIN aus, und speichern Sie die Befehlsausgabe zur Verwendung in den nachfolgenden Schritten:

    use role accountadmin;
    select key, value from table(flatten(input=>parse_json(system$get_privatelink_config())));
    
  3. Aktualisieren Sie über eine Befehlszeilenschnittstelle (z. B. der Terminal-Anwendung) die gcloud-Bibliothek auf die neueste Version:

    gcloud components update
    
  4. Authentifizieren Sie sich bei Google Cloud Platform mit dem folgenden Befehl:

    gcloud auth login
    
  5. Legen Sie in Ihrer Google Cloud-VPC die ID für das Projekt fest, in dem sich die Weiterleitungsregel befinden soll.

    gcloud config set project <project_id>
    

    Um eine Liste der Projekt-IDs zu erhalten, führen Sie den folgenden Befehl aus:

    gcloud projects list --sort-by=projectId
    
  6. Erstellen Sie in Ihrer Google Cloud-VPC eine virtuelle IP-Adresse:

    gcloud compute addresses create <customer_vip_name> \
    --subnet=<subnet_name> \
    --addresses=<customer_vip_address>
    --region=<region>
    

    Beispiel:

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

    Wobei:

    • <customer_vip_name> gibt den Namen der virtuellen IP-Regel an (d. h. psc-vip-1).

    • <subnet_name> gibt den Namen des Subnetzes an.

    • <customer_vip_address>: alle URLs für private Konnektivität werden zu dieser Adresse aufgelöst. Geben Sie eine IP-Adresse aus Ihrem Netzwerk an, oder verwenden Sie die CIDR-Notation, um einen Bereich von IP-Adressen anzugeben.

    • <region> gibt die Cloudregion an, in der sich Ihr Snowflake-Konto befindet.

    .

  7. Erstellen Sie eine Weiterleitungsregel, damit Ihr Subnetz zum Private Service Connect-Endpunkt und dann zum Snowflake-Dienstendpunkt geleitet wird:

    gcloud compute forwarding-rules create <name> \
    --region=<region> \
    --network=<network_name> \
    --address=<customer_vip_name> \
    --target-service-attachment=<privatelink-gcp-service-attachment>
    

    Beispiel:

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

    Wobei:

    • <name> gibt den Namen der Weiterleitungsregel an.

    • <region> gibt die Cloudregion an, in der sich Ihr Snowflake-Konto befindet.

    • <network_name> gibt den Namen des Netzwerks für diese Weiterleitungsregel an.

    • <customer_vip_name> gibt den Wert <name> (d. h. psc-vip-1) für die im vorherigen Schritt erstellte virtuelle IP-Adresse an.

    • <privatelink-gcp-service-attachment> gibt den Endpunkt für den Snowflake-Dienst an (siehe Schritt 2).

    .

  8. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Weiterleitungsregel erfolgreich erstellt wurde:

    gcloud compute forwarding-rules list --regions=<region>
    

    Die Cloudregion in diesem Befehl muss mit der Cloudregion übereinstimmen, in der sich Ihr Snowflake-Konto befindet.

    Wenn sich Ihr Snowflake-Konto zum Beispiel in der Region europe-west-2 befindet, ersetzen Sie <region> durch europe-west2.

    Eine vollständige Liste der Google Cloud-Regionen und ihrer Formatierung finden Sie unter Anzeigen einer Liste der verfügbaren Regionen.

  9. Aktualisieren Sie Ihre DNS-Einstellungen. Alle Anforderungen an Snowflake müssen über den Private Service Connect-Endpunkt geleitet werden. Aktualisieren Sie Ihre DNS-Einstellungen so, dass die URLs aus Schritt 1 (privatelink-account-url und privatelink-ocsp-url) auf die von Ihnen erstellte VIP-Adresse (<customer_vip_address>) aufgelöst werden.

    Verwenden Sie in Snowflake die folgenden Werte aus der SYSTEM$GET_PRIVATELINK_CONFIG-Ausgabe:

    privatelink-account-url und privatelink-ocsp-url

    . Wenn Sie einige der folgenden Funktionen verwenden oder möglicherweise in Zukunft verwenden möchten, müssen Sie einen zusätzlichen DNS-Eintrag mit dem folgenden Wert erstellen oder die folgenden Werte mit den Werten von Snowflake-Konto und OCSP-Cacheserver kombinieren. Dieser Schritt stellt den Zugriff auf diese Funktionen über den Google Cloud Private Service Connect-Endpunkt sicher.

    Snowflake Data Marketplace oder Snowsight

    app.<region_id>.privatelink.snowflakecomputing.com

    Beachten Sie, dass region_id nur den Wert der Region und nicht das Segment der Cloudplattform enthält. Wenn Ihre Region zum Beispiel „US Central1 (Iowa)“ ist, verwenden Sie us-central1.

    Organisationen

    <Name_der_Organisation>-<Name_des_Kontos>.privatelink.snowflakecomputing.com

    Weitere Informationen dazu finden Sie unter Kontobezeichner.

    Bemerkung

    Eine vollständige Erläuterung der DNS-Konfiguration würde den Rahmen dieses Verfahrens sprengen. Sie können beispielsweise eine private DNS-Zone in Ihre Umgebung integrieren, indem Sie Cloud DNS verwenden. Wenden Sie sich an Ihre internen Google Cloud- und Cloudinfrastrukturadministratoren, um die URLs ordnungsgemäß für den DNS zu konfigurieren und aufzulösen.

  10. Stellen Sie mit SnowCD (Connectivity Diagnostic Tool) eine Verbindung zu Snowflake her.

  11. Stellen Sie eine Verbindung zu Snowflake mit der Konto-URL für private Konnektivität her.

Nun können Sie eine Verbindung zu Snowflake über Google Cloud Private Service Connect herstellen.

Verwenden von SSO mit Google Private Service Connect

Snowflake unterstützt die Verwendung von SSO mit Google Cloud Private Service Connect. Weitere Informationen dazu finden Sie unter:

Verwenden der Clientumleitung mit Google Cloud Private Service Connect

Snowflake unterstützt die Verwendung der Clientumleitung mit Google Cloud Private Service Connect.

Weitere Informationen dazu finden Sie unter Umleiten von Clientverbindungen.

Blockieren des öffentlichen Zugriffs – Optional

Nach dem Testen der Konnektivität von Google Cloud Private Service Connect mit Snowflake können Sie optional mit Netzwerkrichtlinien den öffentlichen Zugriff auf Snowflake blockieren.

Konfigurieren Sie den CIDR-Blockierbereich so, dass der öffentliche Zugriff auf Snowflake anhand des IP-Adressbereichs Ihrer Organisation blockiert wird. Dieser Bereich kann innerhalb Ihres virtuellen Netzwerks liegen.

Sobald die CIDR-Blockierbereiche festgelegt sind, können nur IP-Adressen aus dem CIDR-Blockierbereich auf Snowflake zugreifen.

So blockieren Sie den öffentlichen Zugriff mithilfe einer Netzwerkrichtlinie:

  1. Erstellen Sie eine neue Netzwerkrichtlinie, oder bearbeiten Sie eine vorhandene Netzwerkrichtlinie. Fügen Sie den CIDR-Blockierbereich für Ihre Organisation hinzu.

  2. Aktivieren Sie die Netzwerkrichtlinie für Ihr Konto.

Zurück zum Anfang