해리슨 블로그

[GCP] Cloud RunとCloud Run Functionの課金体系

作成: 2024-11-11

作成: 2024-11-11 10:19

[GCP] Cloud RunとCloud Run Function(旧Cloud Function)の課金構造

最近GCPでは、Cloud RunとCloud Functionに関するUI統合を発表しました。


機能的に両者を区別すると、基本的にCloud Runは1つのDockerイメージを実行するサーバーレスプラットフォームであり、Cloud Functionは一部の言語(Node.js、Go、.Net、Java、PHP、Python、Ruby)に関するコードスニペット(関数)を実行するプラットフォームです。

そのため、基本的な実行方式が少し異なります。Cloud Runの場合、イメージを起動した後、そのイメージに呼び出しを行う方式で行われます。そのため、必要に応じて1つのコンテナが複数の呼び出しを同時に実行できます。(言い換えると、1つの呼び出しが実行されている間にも、複数の新しい呼び出しが流入可能という意味です。)

逆にCloud Functionの場合、1つの関数を呼び出す方式なので、例えば10個の命令を実行するには10個のコンテナが必要な構造です。

したがって、Cloud Functionは本当に軽く使いたい場合や、単一呼び出しの高速なコールドスタートが必要な場合は有利で、逆に大規模なプロセスを処理する必要がある場合や、比較的少し遅れても構わない場合はCloud Runが有利です。

では、重要な価格はどのようになるのでしょうか?

(元からそう設計したのでしょうが…)

基本的に、両者とも呼び出し価格は100万件あたり0.4ドルです。

また、同じメモリを1日フルで使用すると仮定した場合、0.216ドルです。

では、vCPUは?

Cloud Functionは1GHz/1日あたり0.864ドルです。(Cloud Functionは使用クロックによって課金が異なります。)

Cloud Runは1Core/1日あたり2.07ドルです。つまり、Cloud Runは2.4GHzを使用すると見なせます。(実際の公式ドキュメントにも1vCPUは2.4GHzと記載されています。)

結果として、2つのサービス(Cloud Run、Cloud Function)は課金方式は完全に同一であり、単にサービスの方向が異なるだけであることが分かります。

したがって、今回の統合後も、自分が使用する方式に応じて2つのサービスを選択すれば、より安価で効率的なサービス構成が可能になりそうです。

コメント0