AWS VPC – Schnittstellenendpunkte für von Snowflake verwaltete Speichervolumen¶
Unter diesem Thema werden Konzepte und detaillierte Anweisungen für das Verbinden mit von Snowflake verwalteten Speichervolumen über AWS VPC-Schnittstellenendpunkte bereitgestellt.
Übersicht¶
Wenn Sie eine externe Abfrage-Engine wie Apache Spark verwenden, um aus einer Iceberg-Tabelle zu lesen oder in sie zu schreiben, die von Snowflake verwalteten Speicher nutzt, kommuniziert die Engine direkt mit dem nativen Iceberg-Volumen, das auf Amazon S3 gehostet wird. Standardmäßig kann dieser Datenverkehr das öffentliche Internet durchlaufen.
`AWS PrivateLink für Amazon S3<https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html>`_ kann mit VPC-Schnittstellenendpunkten kombiniert werden, um eine sichere Konnektivität zum verwalteten Speichervolumen bereitzustellen. Diese Konfiguration stellt sicher, dass Lese- und Schreibvorgänge Ihrer externen Abfrage-Engine auf das native Iceberg-Volumen über das AWS-interne Netzwerk und nicht über das öffentliche Internet erfolgen.
Vorteile¶
Die Implementierung von VPC-Schnittstellenendpunkten für den Zugriff auf von Snowflake verwaltete Speichervolumen bietet die folgenden Vorteile:
Daten werden nicht über das öffentliche Internet übertragen, wenn externe Abfrage-Engines vom Snowflake-verwalteten Iceberg-Volumen lesen oder darauf schreiben.
Client- und SaaS-Anwendungen, wie Microsoft PowerBI, die außerhalb der AWS VPC ausgeführt werden, können sich sicher mit Snowflake verbinden.
Administratoren müssen keine Änderung an den Firewall-Einstellungen vornehmen, um auf Volumendaten zuzugreifen.
Administratoren können konsistente Sicherheit und Überwachung für die Art und Weise implementieren, wie sich Abfrage-Engines mit dem Speicher verbinden.
Einschränkungen¶
AWS unterstützt keine regionsübergreifenden VPC-Schnittstellenendpunkte für den Amazon S3-Dienst. Daher muss sich Ihr VPC-Schnittstellenendpunkt in derselben Region wie Ihr Snowflake-Konto befinden, um eingehende Konnektivität zu Ihrem von Snowflake verwalteten Speichervolumen bereitzustellen.
Die regionsübergreifende Unterstützung von AWS PrivateLink ist in Regionen für Regierungsbehörden oder in der Volksrepublik China nicht verfügbar.
Kunden, die eine SnowGov-Region für Federal Information Processing Standard (FIPS) verwenden, sollten sich darüber im Klaren sein, dass AWS Privatelink für Amazon S3 FIPS-Endpunkte nicht unterstützt.
Weitere Informationen über die AWS-Regionen, in denen FIPS erzwungen wird, siehe Unterstützte Cloudregionen.
Weitere Informationen zum Auffinden der Regionsnamen für Ihr Konto finden Sie unter Namen des Cloudanbieters der Region für Ihr Konto suchen.
Weitere Informationen zu den Einschränkungen von AWS PrivateLink finden Sie in der AWS-Dokumentation.
Erste Schritte¶
Bevor Sie AWS und Snowflake so konfigurieren, dass Anfragen über AWS PrivateLink auf ein von Snowflake verwaltetes Speichervolumen zugreifen können, müssen Sie die Voraussetzungen erfüllen.
Voraussetzungen¶
-
Wichtig
AWS PrivateLink für S3 ist ein AWS-Dienst, der in Ihrer Cloudumgebung aktiviert werden muss.
Weitere Unterstützung bei der Konfiguration und Implementierung dieses Dienstes erhalten Sie von Ihrem internen AWS-Administrator.
Aktualisieren Sie die Zulassungsliste der Firewall wie folgt:
Wenn Sie eine ausgehende Firewall verwenden, stellen Sie sicher, dass diese alle von Snowflake benötigten URLs zulässt. Weitere Details dazu finden Sie unter SnowCD (Connectivity Diagnostic Tool).
Nur für
us-east-1-Kunden: Wenn Sie einen der folgenden Snowflake-Clients für die Verbindung zu Snowflake verwenden, müssen Sie ein Upgrade auf die folgende Clientversionen vornehmen:JDBC-Treiber: 3.13.3 (oder höher)
ODBC-Treiber: 2.23.2 (oder höher)
Python-Konnektor für Snowflake: 2.5.1 (oder höher)
SnowSQL: 1.2.17 (oder höher)
Aktualisieren Sie SnowSQL, bevor Sie dieses Feature verwenden. Weitere Informationen dazu finden Sie unter Installieren von SnowSQL.
Ab Version 1.3.0 deaktiviert SnowSQL standardmäßig automatische Upgrades, um potenzielle Probleme zu vermeiden, die sich auf Produktionsumgebungen auswirken können, wenn ein automatisches Upgrade erfolgt. Um ein Upgrade durchzuführen, sollten Sie neue Versionen manuell herunterladen und installieren, vorzugsweise in einer nicht produktiven Umgebung. Snowflake empfiehlt, diese Einstellung deaktiviert zu lassen, aber Sie können das Auto-Upgrade-Verhalten manuell aktivieren, indem Sie die Option SnowSQL
noup<label-snowsql_enable_auto_upgrade> konfigurieren.
Zugriff auf ein von Snowflake verwaltetes Speichervolumen mit einem Schnittstellenendpunkt¶
Um einen VPC-Schnittstellenendpunkt für den Zugriff auf ein von Snowflake verwaltetes Speichervolumen zu konfigurieren, müssen die folgenden Rollen in Ihrer Organisation zusammenarbeiten:
Snowflake-Kontoadministrator (d. h. ein Benutzer mit der Snowflake-Systemrolle ACCOUNTADMIN).
AWS-Administrator
Netzwerkadministrator
Abhängig von der Organisation kann es notwendig sein, den Konfigurationsaufwand mit mehr als einer Person oder einem Team zu koordinieren, um die folgenden Konfigurationsschritte zu implementieren.
Prozedur¶
Führen Sie die folgenden Schritte aus, um einen sicheren Zugriff auf ein von Snowflake verwaltetes Speichervolumen über einen VPC-Endpunkt zu konfigurieren und umzusetzen:
Erstellen Sie als AWS-Administrator mit der VPC Console einen AWS-Endpunkt für S3. Notieren Sie sich den VPCE-DNS-Namen zur Verwendung im nächsten Schritt. Notieren Sie sich keine VPCE DNS-Zonennamen.
Sobald der Endpunkt erstellt ist, kann der VPCE-DNS-Name mithilfe von Beschreibung eines Schnittstellenendpunkts gefunden werden.
Beispiel-VPCE DNS-Name:
*.vpce-000000000000a12-abc00ef0.s3.us-west-2.vpce.amazonaws.comKonfigurieren Sie Ihre externe Abfrage-Engine für die direkte Verwendung des VPCE DNS-Namen. Ersetzen Sie ` *` im VPCEDNS-Namen mit
Bucket. Beispiel für Apache Spark:Tipp
Verwenden Sie zum Testen des Features ein separates Snowflake-Konto, und konfigurieren Sie eine private DNS-Zone in einer Test-VPC, damit die Tests isoliert sind und sich nicht auf Ihre anderen Workloads auswirken.
Sperren des öffentlichen Zugriffs¶
Nachdem Sie VPC-Schnittstellenendpunkte konfiguriert haben, um über AWS PrivateLink auf das verwaltete Speichervolumen zuzugreifen, können Sie den Zugriff auf das Volumen optional mithilfe von Netzwerkregeln und Netzwerkrichtlinien einschränken.
Voraussetzungen¶
Um Netzwerkregeln zur Beschränkung des Zugriffs auf ein von Snowflake verwaltetes Speichervolumen zu verwenden, muss der Kontoadministrator den Parameter ENFORCE_NETWORK_RULES_FOR_SNOWFLAKE_MANAGED_STORAGE_VOLUME aktivieren:
Erstellen einer Netzwerkregel¶
Erstellen Sie eine Netzwerkregel mit MODE = SNOWFLAKE_MANAGED_STORAGE_VOLUME und TYPE = AWSVPCEID, um den Zugriff auf das verwaltete Speichervolumen basierend auf VPC-Endpunktbezeichnern einzuschränken:
Anwenden einer Netzwerkrichtlinie¶
Erstellen Sie eine Netzwerkrichtlinie, die die Netzwerkregel verwendet, und wenden Sie sie auf das Konto an: