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_TYPE に OPENFLOW_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 インスタンス時間