Openflow Snowflake 展開コストとスケーリングに関する考慮事項

Openflow - Snowflake Deployment の実行時、次のコストカテゴリを含むがこれらに限定されない、複数のSnowflakeコンポーネントに関連するコストを考慮する必要があります。

  • コンピューティングプールコスト

  • Snowpark Container Servicesインフラストラクチャ

  • データの取り込み

  • テレメトリーデータの取り込み

  • このトピックに明示されていないその他のコスト

Openflowを使用しスケーリングするには、これらのコストを理解しておく必要があります。以下のセクションでは、一般的なOpenflowコストについて説明し、Openflowランタイムのスケーリングと関連コストの例をいくつか示しています。

Openflow - Snowflake Deployment コスト

Openflow - Snowflake Deployment を使用する場合は、Openflowが使用する複数のSnowflakeコンポーネントからコストが発生する可能性があります。これらのコストカテゴリについては、次のセクションで説明します。

ただし、実際のコストは特定の環境によって異なる場合があります。さまざまなコスト消費シナリオの例については Openflow - Snowflake Deployment 消費計算の例 をご参照ください。

Openflowコンピューティングプールコスト

注釈

このコストカテゴリは、Snowflakeの請求書に Openflow Compute Snowflake として表示されます。

Openflowの実行にかかる総コストは、Snowflakeアカウントで Snowpark Container Servicesのコンピューティングプール が使用するインスタンスの数と型に基づいています。

Openflowは2つの異なる目的でコンピューティングプールを使用します。

  • Openflow Management Services

    Openflow Management Servicesは、Openflowのデプロイの一部として実行されます。コンピューティングプールを使用してOpenflowのデプロイを管理します。このコンピューティングプールは、デプロイを作成するとすぐに実行が開始されます。デプロイがアクティブである限り、実行され続けます。

    注意:

    Openflow Management Servicesに関連付けられたコンピューティングプールは、ランタイムが実行されていなくても実行を続け、コストが発生します。

  • Openflowランタイム

    Openflowは、Openflowランタイムを実行するためにコンピューティングプールを使用します。必要なコンピューティングプールの数と、各コンピューティングプール内のノードの数は、現在実行中のランタイムの数に基づいてスケールされます。

    ランタイムに関連付けられたすべてのランタイムが停止すると、ランタイムに関連付けられたコンピューティングプールは0ノードにスケールダウンします。ランタイムのコンピューティングプールが使用されていない場合、コストは発生しません。

クレジットは最短5分で、秒ごとに請求されます。Snowpark Container Servicesコンピューティングインスタンスファミリーの1時間あたりのレートについて詳しくは、`Snowflakeサービス利用表<https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf>`_の表1(d)を参照してください。

Account Usage スキーマの次のビューは、Openflowのコンピューティングコストに関する追加情報を提供します。

Openflowに関連するコンピューティングプールコストは SERVICE_TYPEOPENFLOW_COMPUTE_SNOWFLAKE として表示されます。

注釈

OPENFLOW_USAGE_HISTORY ビューには現在、 OPENFLOW_COMPUTE_SNOWFLAKE サービスタイプの記録が含まれていません。

Snowflakeでのコンピューティングコストの詳細については、 コンピューティングコストの調査 をご参照ください。

Snowpark Container Servicesインフラストラクチャコスト

コンピューティングプールのコストに加えて、ストレージとデータ転送などの追加のSnowpark Container Servicesインフラストラクチャに関連するコストがあります。

詳細については、 Snowpark Container Servicesコスト をご参照ください。

データの取り込みコスト

SnowpipeやSnowpipe Streamingなどのサービスを使用してSnowflakeにデータを読み込むと、コストが発生します。これらのコストは、取り込まれたデータの量に基づいています。

注釈

これらのコストは、Snowflakeの請求書にそれぞれの取り込みサービスの項目で表示されます。

さらに、一部のコネクタにはウェアハウスが必要になる場合があり、ウェアハウスコストが発生します。たとえば、データベースCDCコネクタは、初期スナップショットと増分変更データキャプチャ(CDC)にSnowflakeウェアハウスを必要とします。

テレメトリーデータ取り込みコスト

イベントテーブルを使用してOpenflowのテレメトリーデータを保存する場合、SnowflakeはOpenflowのデプロイにログとメトリックを送信するために料金を適用します。ランタイムのテレメトリーデータをSnowflake内のイベントテーブルに送信するための料金も発生します。

テレメトリーデータのGBあたりのクレジットレートは、 Snowflakeサービス利用表 のテーブル5で示されています。この項目はテレメトリーデータインジェストと呼ばれます。

Openflowクレジット消費の削減

アクティブに使用されていないランタイムがある場合は、コストを削減するためにそれらを一時停止できます。ランタイムを一時停止すると、関連するランタイムコンピューティングプールのクレジット消費が停止します。ランタイムが一時停止されると、そのコンピューティングプールは0ノードまでスケールダウンし、料金は発生しなくなります。

Openflow - Snowflake Deployment ランタイムとスケーリング動作に関連するコスト

コストを効果的に管理するには、ランタイムをどのように構成し、スケールするかが重要です。Openflowは、それぞれ独自のスケーリング特性を持つさまざまなランタイムタイプと関連コストをサポートしています。

ランタイムのSnowflakeコンピューティングプールへのマッピング

選択したランタイムタイプによって、関連するコンピューティングプールでスケジュールされているランタイムポッドが決まります。より大きなランタイム型を使用すると、より大きなコンピューティングプールが使用され、より高いコストが発生します。

ランタイムのサイズとそのスケーリング動作は、次の表に説明されています。

ランタイム型

vCPUs

利用可能なメモリ(GB)

Snowflakeコンピューティングプールインスタンスファミリー

Snowflakeコンピューティングプール

インスタンスファミリー - vCPUs

インスタンスファミリー - メモリ(GB)

S

1

2

CPU_X64_S

INTERNAL_OPENFLOW_0_SMALL

4

16

M

4

10

CPU_X64_SL

INTERNAL_OPENFLOW_0_MEDIUM

16

64

L

8

20

CPU_X64_L

INTERNAL_OPENFLOW_0_LARGE

32

128

CPU 消費に基づき、ランタイム作成中に設定される最大ノード設定まで、追加のコンピューティングプールノードをスケジュールする必要がある場合、Openflowは基礎となるSnowflakeコンピューティングプールをスケーリングします。

コンピューティングプールは、最小サイズ0ノード、最大サイズ50ノードで構成されています。必要なサイズは、ランタイムのCPUとメモリ要件に応じて動的に調整されます。

リソースの需要がない場合、たとえばランタイムが実行されていない場合、コンピューティングプールは600秒(10分)後に0ノードまでスケールダウンします。

ランタイム

アクティビティ

Snowflakeコスト

クラウドコスト

ランタイムなし

なし

Openflow制御プール x 1ノード = 1 CPU_X64_Sインスタンス時間

なし

小規模のランタイム1( 1vCPU )(最小=1 最大=2)

1時間アクティブです。

ランタイムは2にスケールしません。

Openflow制御プール x 1ノード + 小規模のOpenflowコンピューティングプール( CPU_X64_S)x 1ノード = 2 CPU_X64_Sインスタンス時間

なし

小規模のランタイム2(1 vCPU)(最小/最大=2)大規模のランタイム1(8 vCPU)(最小/最大=10)

小規模:4つのノードが1時間アクティブな大規模:10のノードが1時間アクティブ

Openflow制御プール x 1ノード + 小規模のOpenflowコンピューティングプール( CPU_X64_S) x 2ノード + 大規模のOpenflowコンピューティングプール( CPU_X64_L) x 4ノード = 3 CPU_X64_Sインスタンス時間 + 4 CPU_X64_Lインスタンス時間

なし

中規模のランタイム1( 4vCPU )(最小=1 最大=2)

最初の20分間、1つのノードを実行して20分後、2つのノードにスケールして40分後、ノード1つにスケールバックして合計1時間

Openflow制御プール x 1ノード + 中規模のOpenflowコンピューティングプール( CPU_X64_SL ) x 1ノード = 1 CPU_X64_Sインスタンス時間 + 1 CPU_X64_SL インスタンス時間

なし

中規模のランタイム1(4vCPU)(最小/最大=2)

最初の30分間、2つのノードを実行して最初の30分後に一時停止。

Openflow制御プール x 1ノード + 中規模のOpenflowコンピューティングプール( CPU_X64_SL ) x 1ノード x 1/2時間 = 1 CPU_X64_Sインスタンス時間 + 1/2 CPU_X64_SL インスタンス時間

なし

Openflow - Snowflake Deployment 消費計算の例

Openflow Snowflakeデプロイメントを作成し、ランタイムを作成していません。
  • Openflow_control_Pool_0コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

  • Openflow消費の合計 = 1 CPU_X64_Sインスタンス時間

最小ノード = 1、最大ノード = 2の小規模のランタイムを1つ作成しました。ランタイムは1時間に1ノードのままです。
  • Openflow_Control_Pool_0コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

  • INTERNAL_OPENFLOW_0_SMALL コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

  • Openflow消費の合計 = 2 CPU_X64_Sインスタンス時間

それぞれ最小/最大2ノードの小規模ランタイムを2つと、最小/最大10ノードの大規模ランタイムを1つ作成しました。これらのランタイムは1時間アクティブです。
  • Openflow_Control_Pool_0コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

    • 2ノードでの2つの小規模ランタイム = INTERNAL_OPENFLOW_0_SMALLコンピューティングプールは2つのCPU_X64_Sインスタンス = 2 CPU_X64_Sインスタンス時間で実行されています

    • 10ノードで1つの大規模なランタイム = INTERNAL_OPENFLOW_0_LARGEコンピューティングプールは4つのCPU_X64_Lインスタンス = 4 CPU_X64_Lインスタンス時間で実行されています

  • Openflow消費の合計 = 3 CPU_X64_Sインスタンス時間 + 4 CPU_X64_Lインスタンス時間

1つのノードで1つの中規模ランタイムを作成しました。20分後、2ノードにスケーリングします。20分後、1ノードにスケールダウンし、さらに20分間実行されます。
  • Openflow_Control_Pool_0コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

  • 1つの中規模ランタイムが最大2つの中規模ランタイムにスケールアップ = INTERNAL_OPENFLOW_0_MEDIUMコンピューティングプールは1つのCPU_X64_SLインスタンス = 1 CPU_X64_SLインスタンス時間で実行されています

  • Openflow消費の合計 = 1 CPU_X64_Sインスタンス時間 + 1 CPU_X64_SL インスタンス時間

2つのノードで中規模ランタイムを作成し、30分後に中断しました。
  • Openflow_Control_Pool_0コンピューティングプールは1つの CPU_X64_Sインスタンスで実行されています

  • 1ノードで1つの中規模ランタイム = INTERNAL_OPENFLOW_0_MEDIUMコンピューティングプールは1つのCPU_X64_SLインスタンスで実行されています

  • 30分 = 1/2時間

  • Openflow消費の合計 = 1 CPU_X64_Sインスタンス時間+1/2 CPU_X64_SL インスタンス時間