Über Openflow¶
Snowflake Openflow ist ein Integrationsdienst, der beliebige Datenquellen mit beliebigen Zielsystemen verbindet – mit Hunderten von Prozessoren, die strukturierte und unstrukturierte Daten wie Text, Bilder, Audio, Video und Sensordaten verarbeiten. Openflow basiert auf Apache NiFi und ermöglicht Ihnen, einen vollständig verwalteten Dienst in Ihrer eigenen Cloud zu betreiben und so die volle Kontrolle zu behalten.
Bemerkung
Die Openflow-Plattform ist derzeit für die Bereitstellung in den eigenen VPCs der Kunden in beiden AWS und Snowpark Container Services verfügbar.
Dieses Thema beschreibt die wichtigsten Features von Openflow, seine Vorteile, die Architektur und den Workflow sowie die Anwendungsfälle.
Wichtigste Features und Vorteile¶
- Offen und erweiterbar
Ein erweiterbarer verwalteter Service, der von Apache NiFi unterstützt wird, mit dem Sie Prozessoren von jeder Datenquelle zu jedem Ziel erstellen und erweitern können.
- Plattform für einheitliche Datenintegration
Openflow ermöglicht es Data Engineers, komplexe, bidirektionale Datenextraktion und -ladeoperationen über einen vollständig verwalteten Service durchzuführen, der in Ihrer eigenen VPC oder in Ihrer Snowflake-Bereitstellung bereitgestellt werden kann.
- Enterprise-fähig
Openflow bietet sofort einsatzbereite Hooks für Sicherheit, Compliance sowie Beobachtbarkeit und Wartbarkeit für die Datenintegration.
- Hochgeschwindigkeits-Datenaufnahme aller Arten von Daten
Mit einer vereinheitlichten Plattform können Sie strukturierte und unstrukturierte Daten sowohl im Batch- als auch im Streaming-Modus von Ihrer Datenquelle in Snowflake in praktisch jeder Größenordnung verarbeiten.
- Kontinuierliche Aufnahme von multidimensionalen Daten für die AI-Verarbeitung
Aufnahme von unstrukturierten Daten in nahezu Echtzeit, sodass Sie sofort mit Ihren Daten aus Quellen wie Sharepoint, Google Drive usw. kommunizieren können.
Openflow-Bereitstellungstypen¶
Openflow wird sowohl in der Bring Your Own Cloud (BYOC)- als auch der Snowpark Container Services (SPCS)-Version unterstützt.
- Openflow - Snowflake Deployment
-
|OFSFSPCS|mit :doc:`/developer-guide/snowpark-container-services/overview` (SPCS) bietet eine optimierte und integrierte Lösung für Konnektivität. Weil SPCS ein in sich geschlossener Service innerhalb von Snowflake ist, der einfach bereitzustellen und zu verwalten ist und SPCS eine praktische und kostengünstige Umgebung für die Ausführung Ihrer Datenströme bietet. Ein entscheidender Vorteil von |OFSFSPCS| ist die native Integration mit dem Sicherheitsmodell von Snowflake, was eine nahtlose Authentifizierung, Autorisierung und Netzwerksicherheit sowie vereinfachte Operationen ermöglicht.
Befolgen Sie bei der Konfiguration von Openflow - Snowflake Deployments die unter Openflow einrichten – Snowflake-Bereitstellung beschriebenen Schritte.
- Openflow – Bring Your Own Cloud
-
Openflow – Bring Your Own Cloud (BYOC) bietet eine Konnektivitätslösung, mit der Sie öffentliche und private Systeme sicher verbinden und die Vorverarbeitung sensibler Daten lokal innerhalb der sicheren Grenzen der Cloudumgebung Ihrer Organisation verwalten können. BYOC bezieht sich auf eine Bereitstellungsoption, bei der die Openflow-Datenverarbeitungs-Engine oder -Datenebene innerhalb Ihrer eigenen Cloudumgebung ausgeführt wird, während Snowflake den gesamten Openflow-Service und die Steuerungsebene verwaltet.
Befolgen Sie bei der Konfiguration von BYOC-Bereitstellungen die unter Openflow einrichten – BYOC beschriebenen Schritte.
Anwendungsfälle¶
Verwenden Sie Openflow, wenn Sie Daten aus einer beliebigen Quelle abrufen und mit minimalem Verwaltungsaufwand an einem beliebigen Ziel bereitstellen möchten, gekoppelt mit der integrierten Datensicherheit und Governance von Snowflake.
Openflow-Anwendungsfälle umfassen:
Nehmen Sie Daten aus unstrukturierten Datenquellen wie Google Drive und Box auf und bereiten Sie sie mit Snowflake Cortex für den Chat in Ihren AI-Assistenten vor oder verwenden Sie die Daten für Ihre eigene benutzerdefinierte Verarbeitung.
Replizieren der Änderungsdatenerfassung (CDC) von Datenbanktabellen in Snowflake für umfassende, zentralisierte Berichte
Aufnahme von Echtzeitereignissen von Streaming-Diensten wie Apache Kafka in Snowflake, um Analysen nahezu in Echtzeit durchzuführen
Daten von SaaS-Plattformen wie LinkedIn Ads, in Snowflake für Berichterstattung, Analysen und Einblicke einlesen.
Einen Openflow-Datenfluss mit Snowflake and NiFi-Prozessoren und Controller-Services erstellen.
Sicherheit¶
Openflow verwendet branchenführende Sicherheits-Features, mit denen Sie ein Höchstmaß an Sicherheit für Ihr Konto und Ihre Benutzer sowie für alle in Snowflake gespeicherten Daten sicherstellen können. Zu den wichtigsten Aspekten zählen:
- Authentifizierung
Laufzeiten verwenden Snowflake Managed Token als standardmäßige und empfohlene Authentifizierungsmethode.
Snowflake Managed Token funktioniert einheitlich mit mehreren SPCS- und BYOC-Bereitstellungstypen.
BYOC-Bereitstellungen können alternativ die Authentifizierung mit einem Schlüsselpaar für die explizite Verwaltung von Anmeldeinformationen verwenden.
- Autorisierung
Openflow unterstützt fein abgestufte Rollen für RBAC.
ACCOUNTADMIN zur Erteilung von Berechtigungen, damit Bereitstellungen und Laufzeitumgebungen erstellt werden können.
- Verschlüsselung während der Übertragung
Openflow-Konnektoren unterstützen das TLS-Protokoll, das Standard-Snowflake-Clients für die Datenerfassung verwendet.
Die gesamte Kommunikation zwischen den Openflow-Bereitstellungen und der Openflow-Steuerungsebene wird mit dem TLS-Protokoll verschlüsselt.
- Verwalten von Geheimnissen (BYOC)
Integration mit AWS Secrets Manager oder Hashicorp Vault. Weitere Informationen finden Sie unter Verschlüsselte Kennwörter in Konfigurationsdateien.
- Unterstützung für private Links
Openflow-Konnektoren sind mit dem Lesen und Schreiben von Daten in Snowflake über den eingehenden AWS PrivateLink kompatibel.
- Tri-Secret Secure-Unterstützung
Openflow-Konnektoren sind kompatibel mit Tri-Secret Secure zum Schreiben von Daten in Snowflake.
Authentifizierung mit Snowflake Managed Token¶
Snowflake Managed Token ist die empfohlene und standardmäßige Authentifizierungsmethode für Openflow-Laufzeitumgebungen, um eine Verbindung zu Snowflake herzustellen. Diese Authentifizierungsmethode funktioniert einheitlich für Openflow – Snowflake-Bereitstellungen und BYOC-Bereitstellungen. Snowflake Managed Token bietet eine einheitliche und vereinfachte Konfiguration der Snowflake-Konnektivität.
Wichtige Vorteile¶
- Vereinfachte Konfiguration
Mit Snowflake Managed Token entfällt die Notwendigkeit, dauerhafte Anmeldeinformationen wie Schlüsselpaare zu generieren, zu speichern und zu rotieren. Das Token wird automatisch von Snowflake verwaltet, wodurch der Betriebsaufwand reduziert wird.
- Einheitliche für alle Bereitstellungstypen
Unabhängig davon, ob Sie Openflow in Snowpark Container Services (SPCS) bereitstellen oder sich selbst um Ihre Cloud kümmern (BYOC), konfigurieren Sie die Authentifizierung auf die gleiche Weise mit der
SNOWFLAKE_MANAGED-Strategie für die Authentifizierung.- Erhöhte Sicherheit
Token sind nur kurzzeitig und werden automatisch aktualisiert, wodurch das Risiko einer Offenlegung von Anmeldeinformationen minimiert wird.
Wie es funktioniert¶
Wenn Sie einen Konnektor oder Prozessor für die Verbindung mit Snowflake konfigurieren, wählen Sie SNOWFLAKE_MANAGED als Snowflake-Authentifizierungsstrategie aus. Die Laufzeitumgebung ruft automatisch das Token ab, das zur Authentifizierung bei Snowflake in Ihrem Namen verwendet wird, und verwaltet es.
Das Verhalten eines von Snowflake verwalteten Token variiert je nach Bereitstellungstyp:
- Openflow - Snowflake Deployments
Bei der Ausführung in einer von Snowflake verwalteten Bereitstellung verwendet die Laufzeitumgebung SPCS Sitzungstoken, die nativ von der SPCS-Umgebung bereitgestellt wird. Diese Token sind zur Laufzeit verfügbar und erfordern keine zusätzliche Konfiguration.
- BYOC-Bereitstellungen
Beim Ausführen in einer BYOC-Bereitstellung verwendet die Laufzeitumgebung den Workload-Identitäts-Verbund zum Authentifizieren bei Snowflake. Die Laufzeitumgebung tauscht automatisch ihre Identität des Cloudanbieters aus (z. B. eine AWS IAM-Rolle) für ein Snowflake-Token.
Bemerkung
Um ein von Snowflake verwaltetes Token in BYOC-Bereitstellungen verwenden zu können, müssen Sie zuerst Laufzeitrollen für Ihre Bereitstellung konfigurieren.
Wann Sie Snowflake Managed Token verwenden sollten¶
Verwenden Sie Snowflake Managed Token für:
Alle neuen Konnektorkonfigurationen in SPCS und BYOC-Bereitstellungen.
Migration von der Schlüsselpaar-Authentifizierung zum vereinfachten, verwalteten Authentifizierungsmodell.
Szenarios, in denen Sie die Verwaltung von Schlüsselpaaren oder anderen veralteten Anmeldeinformationen vermeiden möchten.
Alternative Authentifizierungsmethoden¶
Snowflake Managed Token wird zwar empfohlen, aber BYOC-Bereitstellungen unterstützen auch Schlüsselpaar-Authentifizierung (KEY_PAIR) für Fälle, in denen Sie eine explizite Verwaltung von Anmeldeinformationen benötigen. Weitere Informationen zur Schlüsselpaar-Authentifizierung finden Sie unter Schlüsselpaar-Authentifizierung und Schlüsselpaar-Rotation.
Weitere Informationen zu den zugrunde liegenden Authentifizierungsmechanismen finden Sie im Folgenden:
Workload Identity Federation: Informationen zu dem in BYOC-Bereitstellungen verwendeten Authentifizierungsmechanismus.
Snowpark Container Services: Verwenden von Diensten: Informationen darüber, wie SPCS-Services sich bei Snowflake authentifizieren.
Architektur¶
Das folgende Diagramm veranschaulicht die Architektur von Openflow:
Der Bereitstellungsagent installiert und bootstrappt die Openflow-Bereitstellungsinfrastruktur in Ihrer VPC und synchronisiert regelmäßig Container-Images aus der System-Image-Registry von Snowflake.
Zu den Openflow-Komponenten gehören:
- Bereitstellungen
In einer Bereitstellung werden Ihre Datenläufe innerhalb einzelner Laufzeiten ausgeführt. Sie haben oft mehrere Laufzeitumgebungen, um verschiedene Projekte, Teams oder zu isolieren oder aus SDLC-Gründen, die alle mit einer einzigen Bereitstellung verbunden sind. Es gibt zwei Arten von Bereitstellungen: Bring Your Own Cloud (BYOC) und Openflow - Snowflake.
- Steuerungsebene
Die Control Plane ist eine Schicht, die alle Komponenten enthält, die zur Verwaltung und Überwachung der Openflow-Laufzeitumgebungen verwendet werden. Dazu gehören der Openflow-Service und die API, mit denen Benutzende über die Openflow-Oberfläche oder durch Interaktion mit Openflow APIs interagieren können. In Openflow - Snowflake Deployments besteht die Steuerebene aus Snowflake-eigener öffentlicher Cloud-Infrastruktur und Services sowie aus der Anwendung der Steuerebene selbst.
- BYOC-Bereitstellungen
BYOC-Bereitstellungen sind Bereitstellungen, die als Laufzeit-Container fungieren, die in Ihrer Cloudumgebung bereitgestellt werden. Für sie fallen Gebühren auf Basis der Nutzung von Compute, Infrastruktur und Speichernutzung an. Weitere Informationen dazu finden Sie unter Openflow: BYOC-Kosten und Überlegungen zur Skalierung.
- Openflow - Snowflake Deployments
Openflow – Snowflake-Bereitstellungen sind Container für Laufzeiten und werden mithilfe eines Computepools bereitgestellt. Für sie fallen Nutzungskosten an, die sich nach ihrer Betriebszeit und Nutzung der Computeressourcen richten. Weitere Informationen dazu finden Sie unter Hinweise zu Kosten für Openflow Snowflake-Bereitstellungen und zur Skalierung.
- Laufzeit
Laufzeitumgebungen hosten Ihre Datenpipelines, wobei das Framework Sicherheit, Einfachheit und Skalierbarkeit bietet. Sie können Openflow-Laufzeitumgebungen mit Openflow in Ihrer VPC bereitstellen. Sie können Openflow-Konnektoren für Ihre Laufzeitumgebungen bereitstellen und auch völlig neue Pipelines mit Openflow-Prozessoren und -Controller-Services erstellen.
- Openflow - Snowflake Deployment-Laufzeit
Openflow – Snowflake-Bereitstellungslaufzeiten werden als Snowpark Container Services für eine Openflow - Snowflake Deployment-Bereitstellung bereitgestellt, die durch einen zugrunde liegenden Computepool repräsentiert wird. Kunden fordern eine Laufzeit über die Bereitstellung an, die im Namen des Benutzers eine Anforderung an den Service ausführt. Einmal erstellt, können Kunden über einen Webbrowser unter der URL darauf zugreifen, die für diesen zugrunde liegenden Service generiert wurde.
