Openflowについて¶
Snowflake Openflowは、構造化および非構造化テキスト、画像、音声、ビデオ、センサーデータに対応する数百のプロセッサであらゆるデータソースとあらゆる接続先をつなぐ統合サービスです。 Apache NiFi に基づいて構築されたOpenflowでは、フルマネージドのサービスを独自のクラウドで実行することがで完全な制御を実施できます。
注釈
Openflowプラットフォームは現在、AWS内のお客様独自のVPCのデプロイで利用できます。
このトピックでは、Openflowの主な機能、利点、アーキテクチャ、ワークフロー、ユースケースについて説明します。
主な機能と利点¶
オープンで拡張可能: Apache NiFiを利用した拡張可能な管理サービスで、あらゆるデータソースからあらゆる接続先にプロセッサを構築して拡張することができます。
統合データ統合プラットフォーム: Openflow は、クラウドまたはオンプレミスでお客様のVPC内に導入可能なフルマネージドサービスを通じて、データエンジニアによる複雑な双方向ETLプロセスの処理が可能になります。
エンタープライズ対応: Openflow は、すぐに利用できるデータ統合向けのセキュリティ、コンプライアンス、可観測性、保全性フックを用意しています。
あらゆるタイプのデータを高速に取り込み: 構造化データと非構造化データを、バッチとストリーミングの両方のモードで、データソースからSnowflakeまで、実質的にあらゆる規模で処理できる統合プラットフォームになります。
AI処理に適したマルチモーダルデータの継続的な取り込み: ほぼリアルタイムの非構造化データ取り込みにより、SharepointやGoogle Driveなどのソースから取り込んだデータで即座にチャットできます。
アーキテクチャ¶
次の図は、Openflowのアーキテクチャを表しています。

デプロイエージェントは、Snowflakeシステムイメージレジストリからコンテナーイメージを定期的に同期するだけでなく、VPCにOpenflowデプロイメントインフラストラクチャをインストールして起動します。
Openflowのコンポーネントをいくつか示します。
デプロイメント: デプロイメントとは、個々のランタイム内でデータフローを実行する場所のことです。異なるプロジェクトやチームを分離するため、またはSDLCの理由から、単一のデプロイメントに関連する複数のランタイムを持つことがよくあります。
ランタイム: ランタイムはデータパイプラインをホストし、フレームワークはセキュリティ、シンプルさ、スケーラビリティを提供します。Openflowを使って、VPCにOpenflowランタイムをデプロイすることができます。Openflowコネクタをランタイムにデプロイしたり、Openflowプロセッサやコントローラサービスを使用してゼロから新しいパイプラインを構築することができます。
制御プレーン: 制御プレーンは、OpenflowサービスやAPIを含む、管理および監視に使用されるすべてのコンポーネントを含むアーキテクチャの層です。ユーザーは Openflow UIを使用して操作を行うか、Openflow APIsで直接操作します。
ワークフロー¶
ユーザーペルソナ |
タスク |
---|---|
AWSクラウドエンジニア/管理者 |
AWSクラウドアカウントにデプロイメントのセットを作成します。 Openflow UIは、デプロイメントの管理やランタイムの作成、保守に使用されます。Openflow UIでは、ユーザーはすべてのデプロイメントのランタイムの作成、サイズ変更、アップグレード、削除を行うことができます。 Snowflakeログインは Openflowに対する認証に使用します。ロールと権限はOpenflowデプロイメントとランタイムへのアクセスを制御する際に使用します。 |
データエンジニア(パイプライン作成者、データ取り込みを担当) |
ランタイムキャンバスを使用して、フローをゼロから構築したり、デプロイされたコネクタを設定したりします。 ゼロから新しいフローを作成するか、既存のコネクタをそのまま、またはカスタマイズの出発点として使用します。Snowflakeアカウント(またはその他のターゲットシステム)内のブロンズレイヤーにデータを投入します。 コネクタは、特定の統合ユースケースを解決するシンプルな方法であり、技術力の低いユーザーでも、必ずしもデータエンジニアを必要とせずに導入できます。 |
データエンジニア(パイプライン演算子) |
フローのパラメーターの設定とフローの実行 |
データエンジニア(シルバーおよびゴールドレイヤーへの変換を担当) |
データパイプラインで投入されたブロンズレイヤーから、シルバーレイヤーそしてゴールドレイヤーへのデータ変換(分析用)を担当。 |
ビジネスユーザー |
分析にゴールドレイヤーオブジェクトを使用します。 |
ユースケース¶
Openflowを使用すると、最小限の管理で、あらゆるソースからデータを取得してあらゆる転送先にデータを格納できます。また、合わせてSnowflakeに組み込まれたデータセキュリティとガバナンスを利用することができます。
Openflowのユースケースをいくつか紹介します。
Google DriveやBoxなどの非構造化データソースからデータを取り込み、Snowflake Cortexを使用してAIアシスタントでチャットにできるようにしたり、独自のカスタム処理にデータを使用したりできます。
データベーステーブルの変更データキャプチャ(CDC)をSnowflakeに複製し、包括的で一元化されたレポートを作成します。
Apache KafkaなどのストリーミングサービスからリアルタイムイベントをSnowflakeに取り込み、ほぼリアルタイムの分析ができます。
LinkedIn AdsなどのSaaSプラットフォームからSnowflakeにデータを取り込み、レポート作成、分析、インサイトの取得をすることができます。
Openflowを使用したデータフローの作成、Snowflake、NiFi プロセッサ、 コントローラ を使用します。
セキュリティ¶
Openflakeは、業界をリードするセキュリティ機能を使用しており、アカウントやユーザー、Snowflakeに保存しているすべてのデータに対して最高レベルのセキュリティを確保することができます。いくつかキーポイントを紹介します。
認証
ランタイムはSnowflakeへの認証にOAuth2を使用します
認証
Openflowでは、RBACの詳細なロール設定に対応しています
ACCOUNTADMINでは、デプロイメントとランタイムを作成できる権限を付与します。
輸送中の暗号化
OpenflakeコネクタはTLSプロトコルをサポートし、データの取り込みに標準のSnowflakeクライアントを使用します。
OpenflowデプロイメントとOpenflowコントロールプレーン間の通信はすべて、TLSプロトコルを使用して暗号化されます。
秘密管理(BYOC)
AWS Secrets ManagerまたはHashicorp Vaultと統合しています。詳細については、 構成ファイルの暗号化パスワード をご覧ください。
PrivateLinkに対応
Openflake Connectorは、データの読み込みとSnowflakeへの書き込みにインバウンドのAWS PrivateLinkを使用して対応します。
Tri-Secret Secureのセキュアサポート
Openflakeコネクタは、Snowflakeへのデータ書き込みに Tri-Secret Secure で対応します。
リージョンの可用性¶
Openflow は AWS 商用リージョン のすべてのアカウントで利用可能です。OpenflowはGovernmentリージョンでは使用できません。
制限事項¶
Snowflake Openflow BYOCの用語 で説明されているように、Openflow BYOCのセキュリティは責任共有モデルになります。
Openflowの承認では、ユーザーに直接付与されるロールとそれに関連する権限を使用します。現在、Openflowでは、ロールがユーザーのロール階層内の別のロールに関連付けられている場合、承認には対応していません。