Google Cloud Private Service Connect und 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.
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.
Einschränkungen¶
Die Snowflake-Systemfunktionen für das Self-Service-Management werden nicht unterstützt. Weitere Details dazu finden Sie unter Aktuelle Einschränkungen für Konten auf GCP.
Weitere Details dazu finden Sie unter:
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.
Wenn Sie weitere Hilfe benötigen, wenden Sie sich an Ihren internen Google Cloud-Administrator.
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 dieses Features keine Verbindung zu Snowflake herstellen können.
Führen Sie in einem Snowflake-Arbeitsblatt 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())));
Aktualisieren Sie über eine Befehlszeilenschnittstelle (z. B. der Terminal-Anwendung) die gcloud-Bibliothek auf die neueste Version:
gcloud components update
Authentifizieren Sie sich bei Google Cloud Platform mit dem folgenden Befehl:
gcloud auth login
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
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.
.
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).
.
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>
durcheurope-west2
.Eine vollständige Liste der Google Cloud-Regionen und ihrer Formatierung finden Sie unter Anzeigen einer Liste der verfügbaren Regionen.
Aktualisieren Sie Ihre DNS-Einstellungen.
Alle Anforderungen an Snowflake müssen über den Private Service Connect-Endpunkt geleitet werden, damit die URLs in Schritt 2 (von der Funktion SYSTEM$GET_PRIVATELINK_CONFIG) in die von Ihnen erstellte VIP-Adresse (
<customer_vip_address>
) aufgelöst werden.Mit diesen Endpunktwerten können Sie auf Snowflake, Snowsight und Snowflake Marketplace zugreifen und gleichzeitig OCSP verwenden, um festzustellen, ob ein Zertifikat gesperrt wurde, wenn Snowflake-Clients versuchen, über HTTPS und Verbindungs-URLs eine Verbindung zu einem Endpunkt herzustellen.
Die zu erhaltenden Funktionswerte sind:
privatelink-account-url
privatelink-connection-ocsp-urls
privatelink-connection-urls
privatelink-ocsp-url
regionless-privatelink-account-url
regionless-snowsight-privatelink-url
snowsight-privatelink-url
Beachten Sie, dass die Werte für
regionless-snowsight-privatelink-url
undsnowsight-privatelink-url
den Zugang zu Snowsight und Snowflake Marketplace über private Konnektivität ermöglichen. Wenn Sie URL-Umleitungen aktivieren möchten, müssen Sie jedoch weitere Konfigurationen vornehmen.Weitere Informationen dazu finden Sie unter Snowsight und Private Konnektivität.
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.
Testen Sie Ihre Verbindung zu Snowflake mit SnowCD (Connectivity Diagnostic Tool).
Stellen Sie eine Verbindung zu Snowflake mit der Konto-URL für private Konnektivität her.
Wenn Sie eine Verbindung zu Snowsight über Google Cloud Private Service Connect herstellen möchten, verwenden Sie die Anleitung in der Snowsight-Dokumentation.
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.
Verwenden von Replikation und Tri-Secret Secure mit privater Konnektivität¶
Snowflake unterstützt das Replizieren Ihrer Daten vom Quellkonto in ein Zielkonto, unabhängig davon, ob Sie Tri-Secret Secure oder dieses Feature im Zielkonto aktivieren.
Weitere Informationen dazu finden Sie unter Datenbankreplikation und -verschlüsselung.
Blockieren des öffentlichen Zugriffs – Optional¶
Nach dem Testen der Konnektivität von Google Cloud Private Service Connect mit Snowflake können Sie optional mit Steuern des Netzwerkdatenverkehrs 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:
Erstellen Sie eine neue Netzwerkrichtlinie, oder bearbeiten Sie eine vorhandene Netzwerkrichtlinie. Fügen Sie den CIDR-Blockierbereich für Ihre Organisation hinzu.
Aktivieren Sie die Netzwerkrichtlinie für Ihr Konto.