メインコンテンツまでスキップ

ネットワークに関する考慮事項

この詳細解説では、Lakeflow Connect でプロデューサーを Zerobus Ingest に安全かつ効率的に接続する方法(フロントエンドの Private Service Connect、ファイアウォールで保護されたストレージへの接続、および圧縮)について説明します。

Zerobus Ingestは常にワークスペースのリージョンで実行されます。プロデューサーはネットワーク経由でそのリージョナルEndpointにデータを送信し、Zerobus IngestがそれをターゲットのDeltaテーブルに書き込みます。Zerobus Ingestは特定のリージョンで利用可能です。取り込みの可用性を参照してください。

Zerobus Ingest の書き込みには 2 つのネットワーク経路があり、それぞれ異なる方法で保護します:

  • Zerobus Ingest サービスへのプロデューサー。 パブリックインターネット経由でリージョナル Endpoint に到達するか、フロントエンド Private Service Connect を使用してプライベートパス上でトラフィックを維持します。
  • テーブルのストレージへの Zerobus Ingest サービス。 Zerobus Ingest は、Databricks Serverless コンピュートからストレージに接続します。ストレージがファイアウォールの背後にある場合は、Zerobus Ingest がアクセスできるように Databricks Serverless の送信 IP を許可リストに追加してください。ファイアウォールで保護されたストレージへの接続を参照してください。

Zerobus Ingest書き込みの2つのネットワークレグ:プロデューサーはパブリックネットワークまたはフロントエンドのPrivate Link経由でDatabricks管理のEndpointに到達し、Zerobus IngestはIP許可リスト経由で到達可能なServerlessコンピュートからお客様のストレージに書き込みます。

フロントエンド Private Service Connect

By default, producers reach Zerobus Ingest over the network to your workspace's regional Endpoint.そのトラフィックがパブリックインターネットを経由しないようにする場合、あるいはより多くの帯域幅や予測可能なネットワークパスが必要な場合は、 front-end Private Service Connect を使用して、プロデューサーとZerobus Ingestサービス間の接続をプライベートパス上に維持してください。

次のような場合は、フロントエンドの Private Service Connect を検討してください:

  • 取り込みトラフィックがパブリックインターネットを経由しないように要求します。
  • パブリックパスよりも高い帯域幅、またはより予測可能な帯域幅が必要な場合。
  • インジェストをプライベートパスに維持することでパブリックインターネット経由のデータ転送を削減できるため、ネットワークトラフィックコストの削減を検討したい場合。

Zerobus Ingest へのフロントエンド Private Service Connect は、ワークスペースの他の部分と同じワークスペースのフロントエンドプライベート接続設定を使用します。クラウドでセットアップするには、以下を参照してください:

Private Service Connect のフロントエンド接続を有効にする。基礎となる概念については、ワークスペースの Private サービス Connect を有効にするを参照してください。

ファイアウォールで保護されたストレージへの接続

Zerobus Ingestはデータを永続化し、Databricks Serverlessコンピュートからターゲットテーブルのストレージに書き込みます。ストレージアカウントまたはバケットがファイアウォールでインバウンドトラフィックを制限している場合は、Zerobus Ingestがアクセスできるように、Databricks Serverlessの送信IP範囲を許可リストに登録してください。

Databricks は、Serverlessアウトバウンド IP を ip-ranges.json に JSON ファイルとして公開しており、ネットワークリファレンスでもリージョンごとに一覧表示しています。ワークスペースのクラウドとリージョンの範囲のみを許可リストに登録する必要があります:

See Serverless コンピュートの送信 IP を参照してください。

リージョン間に関する考慮事項

Zerobus Ingest はワークスペースのリージョンで実行されます(「テーブルの要件」を参照)。可能な限りプロデューサーをそのリージョン内に配置してください。プロデューサーが Endpoint に近いほど、ネットワークレイテンシが低くなり、維持できるthroughputが高くなります。

プロデューサーがZerobus IngestのEndpointと異なるリージョンで実行される場合、トラフィックがリージョンをまたぐため、レイテンシが増加し、クラウドのエグレスチャージが発生する可能性があります。正確なコストはクラウド、リージョン、データ量によって異なり、単一の数値では誤解を招く可能性があるほど変動します。Databricksでは、クロスリージョントポロジをcommitする前に、独自のワークロードとリージョンで概念実証(PoC)を実行し、実際のコストを測定することをお勧めしています。

ネットワーク経由の圧縮

ネットワーク経由で送信する前にレコードを圧縮すると送信バイト数が削減され、クライアント側の CPU 使用量は増加しますが、帯域幅のボトルネックを回避できる可能性があります。使用可能なオプションはインターフェースによって異なります。

  • Arrow Flight は IPC 圧縮をサポートしています(最適な比率には ZSTD、クライアントの CPU が制限されている場合は LZ4_FRAME)。IPC 圧縮を参照してください。
  • OpenTelemetry (OTLP) は、すべてのサービスで gzip をサポートしています。圧縮を参照してください。

JSON ではなく、コンパクトな レコード形式 である Protocol Buffers (protobuf) や Arrow を選択することでも、ネットワーク上のバイト数を削減できます。

関連