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

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

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

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

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

  • Zerobus Ingestサービスへのプロデューサー。 パブリックインターネット経由でリージョンEndpointにアクセスします。サポートされているインターフェイスでは、フロントエンドのPrivate サービス Connectを使用して、トラフィックをプライベートパス上に維持できます。MQTTおよびKafka互換のAPIsはフロントエンドのPrivate Service Connectをサポートしていないため、パブリックEndpointを使用する必要があります。
  • テーブルのストレージへの 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​

フロントエンドの Private Service Connect は、MQTT または Kafka 互換の API 接続ではサポートされていません。これらのプロデューサーはパブリックEndpointに接続する必要があります。

サポートされているインターフェイスの場合、プロデューサーは default でネットワーク経由でワークスペースのリージョナル Endpoint に Zerobus Ingest に接続します。そのトラフィックがパブリックインターネットを経由しないようにする場合や、より高い帯域幅またはより予測可能なネットワークパスが必要な場合は、 フロントエンド 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 を選択することでも、ネットワーク上のバイト数を削減できます。

関連​