Cloud Functions の料金
Cloud Functions の料金は、関数の実行時間、関数の呼び出し回数、関数にプロビジョニングしたリソースの数によって決まります。使用している関数によって送信ネットワーク リクエストが作成された場合は、データ転送料金も加算されます。Cloud Functions には永久的な呼び出しの無料枠があり、プラットフォームを無料で試すことができます。無料枠を使用する場合でも、有効な請求先アカウントが必要です。
Cloud Functions は、Cloud Build を使用して関数のソースコードを実行可能なイメージに変換します。Cloud Functions のイメージは、Container Registry または Artifact Registry のいずれかに保存されます。Cloud Functions(第 2 世代)は、Artifact Registry のみを使用します。関数で Container Registry が使用されている場合は、Cloud Functions の使用が無料枠の範囲内であっても、関数のイメージの保存に対して料金が発生します。Artifact Registry には独自のストレージの無料枠があります。関数を Artifact Registry にデプロイし、Artifact Registry の無料枠の使用量を超えると、Cloud Functions の使用が無料枠の範囲内であっても、関数のデプロイに対して料金が発生します。関数のイメージが保存される場所の詳細については、Cloud Functions イメージのビルドをご覧ください。Cloud Build、Container Registry、Artifact Registry の料金は、以下の Cloud Functions の料金には含まれていません。これらのサービスの料金を確認するには、Cloud Build の料金、Container Registry の料金、Artifact Registry の料金のページをご覧ください。
Cloud Functions(第 2 世代)では、イベント配信に Eventarc が使用されます。Eventarc の料金は、以下の Cloud Functions の料金には含まれていません。Eventarc の料金ページで料金を確認してください。
Cloud Functions(第 2 世代)の料金は、Cloud Run の料金に基づいています。Cloud Run の料金については、Cloud Run の料金ページをご覧ください。
Firebase Functions の料金については、Firebase の料金ページをご覧ください。
記載された料金はすべて米ドル表記です。米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
呼び出し
関数の呼び出しは、呼び出し元に関係なく一定料金で課金されます。これには、HTTP リクエストからの HTTP 関数の呼び出し、バックグラウンド関数または CloudEvent 関数に転送されるイベント、call API から行われる呼び出しが含まれます。以下の料金階層は、特定の Google Cloud Platform の請求先アカウントに関連付けられたすべての関数についての関数呼び出しの合計数に基づいています。
呼び出し回数(1 か月あたり) | 料金(100 万回あたり) |
---|---|
最初の 200 万回 | 無料 |
200 万回を超えた分 | $0.40 |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
呼び出し料金は 1 回あたり $0.0000004(100 万件あたり $0.40)の単価制です。ただし、毎月最初の 200 万回までは無料です。関数の結果や実行時間に関係なく請求されます。呼び出し回数が無料枠の範囲内であっても、関数のデプロイには料金が発生します。デプロイ料金の計算方法の詳細については、デプロイの費用をご覧ください。
コンピューティング時間
コンピューティング時間は、関数がリクエストを受け取ってから、完了シグナルの送信、タイムアウトなどのエラー、またはその他の終了処理によって関数が完了するまでの時間です。コンピューティング時間は 100 ミリ秒単位で測定され、この単位で切り上げられます。たとえば、実行時間が 260 ミリ秒の関数には 300 ミリ秒の料金が請求されます。
コンピューティング時間に対応する料金は、関数に対してプロビジョニングされたメモリや CPU の量に基づいて変動します。この計算に使用される単位は次のとおりです。
GB 秒
- 1 GB 秒は、1 GB のメモリがプロビジョニングされている場合の 1 秒間の実測時間です。
GHz 秒
- 1 GHz 秒は、1 GHz の CPU がプロビジョニングされている場合の 1 秒間の実測時間です。
ディスクサイズ、メモリ、ネットワーク使用量はギガバイト(GB)で計算されます。1 GB は 2^30 バイトです。この測定単位はギビバイト(GiB)とも呼ばれます。1 GHz は 10^9 Hz に相当します。
Cloud Functions は、次の 7 つのタイプのうちのいずれかとしてプロビジョニングできます。
メモリ | vCPU1 | 料金/100 ms(Tier 1 料金) | 料金/100 ms(Tier 2 料金) |
---|---|---|---|
128 MB | .083 vCPU | $0.000000231 | $0.000000324 |
256 MB | .167 vCPU | $0.000000463 | $0.000000648 |
512 MB | .333 vCPU | $0.000000925 | $0.000001295 |
1,024 MB | .583 vCPU | $0.000001650 | $0.000002310 |
2,048 MB | 1 vCPU | $0.000002900 | $0.000004060 |
4,096 MB | vCPU 2 個 | $0.000005800 | $0.000008120 |
8,192 MB | vCPU 2 個 | $0.000006800 | $0.000009520 |
16,384 MB2 | 4 vCPU | $0.000136000 | $0.000190400 |
32,768 MB2 | 8 vCPU | $.000272000 | $0.000380800 |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
1 vCPU は 2.4 GHz に相当します。CPU 割り当ては概算値であり、変更される可能性があります。CPU クロック サイクルの実際の割り当ては、関数呼び出しによって少し変わることがあります。
2 第 2 世代の Cloud Functions でのみサポートされ、一部のリージョンではサポートされていない場合があります。
一般的には、1 秒間のコンピューティング時間のコストは、次のようになります。
単位 | Tier 1 料金設定 | Tier 2 料金設定 |
---|---|---|
GB 秒 | $0.0000025 (アイドル状態の場合は $0.0000025*) |
$0.0000035 (アイドル状態の場合は $0.0000035*) |
GHz 秒 | $0.0000100 (アイドル状態の場合は $0.000001042*) |
$0.0000140 (アイドル状態の場合は $0.00000146*) |
Tier 1 料金設定が適用されるリージョン | Tier 2 料金設定が適用されるリージョン |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
* アイドル状態とは、最小インスタンス数でウォーム状態を維持しているインスタンスのアイドル状態の時間のことです。
アイドル時間
関数インスタンスの最小数を設定すると、これらのインスタンスがアクティブでない時間に対しても課金されます。これはアイドル時間と呼ばれ、別のレートで課金されます。
同時実行
Cloud Functions(第 2 世代)では、基盤となる Cloud Run サービスを通じて同時実行を活用し、料金をより細かく制御できます。同時実行の詳細については、Cloud Functions(第 2 世代)の概要と Cloud Run ドキュメントの同時実行のページをご覧ください。
無料枠
Cloud Functions にはコンピューティング時間リソースを永久的に無料で使える階層があり、GB 秒と GHz 秒の両方の割り当てが含まれています。無料枠には 200 万回の呼び出しのほかに、400,000 GB 秒、200,000 GHz 秒のコンピューティング時間と、1 か月あたり 5 GB のインターネット下りトラフィックも含まれています。無料枠は、上記の Tier 1 料金設定の米ドル相当額として計算され、関数を実行するリージョンの料金設定(Tier 1、Tier 2 または両方)に関係なく提供されます。ただし、無料枠の使用量の差し引きは、関数を実行するリージョンが Tier 1 か Tier 2 かに基づいて行われます。
無料枠を使用する場合でも、有効な請求先アカウントが必要です。
ネットワーキング
送信データ転送(関数から外部の他の場所に転送されるデータ)は GB で測定され、定額料金が課せられます。同じリージョン内の他の Google API に送信されるデータは、受信データと同様に無料です。Google API がグローバルの場合(つまりリージョン固有ではない場合)は、同じリージョンに存在するとみなされます。
Type | 料金/GB |
---|---|
送信データ(下り、外向き) | $0.12 |
1 か月あたりの送信データ | 5 GB 無料 |
受信データ(上り、内向き) | 無料 |
同じリージョン内の Google API への送信データ | 無料 |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
ローカル ディスク
Cloud Functions では、「tmpfs」ボリュームと呼ばれるローカルのディスク マウント ポイント(/tmp
)にアクセスできます。このボリュームに書き込まれたデータはメモリに保持されます。/tmp
マウント ポイントの使用に伴う料金はありませんが、ここにデータを書き込むと、その関数に対してプロビジョニングされたメモリリソースが消費されます。
料金の例
このセクションでは料金の例をいくつか示します。また、デプロイ プロセスの一部として発生する費用についての情報も提供します。Cloud Build、Artifact Registry、Container Registry に関連付けられた費用についての詳細は、Cloud Functions イメージのビルドをご覧ください。これらの例には、関数内で使用する他の Google Cloud プロダクトまたは API で発生した費用は含まれません。
シンプルなイベント ドリブン関数
128 MB のメモリと 200 MHz の CPU を使用し、1 か月間に 1,000 万回呼び出され、Google API のみを使用して毎回 300 ミリ秒間実行されるシンプルなイベント ドリブン関数(請求対象の下り(外向き)データなし)。
計算
呼び出し
10,000,000
コンピューティング時間
(128 MB ÷ 1,024 MB/GB) × 0.3 秒 = 0.0375 GB 秒/呼び出し
(200 MHz ÷ 1,000 MHz/GHz) × 0.3 秒 = 0.0600 GHz 秒/呼び出し
10,000,000 回の呼び出し × 0.0375 GB 秒 = 375,000 GB 秒/月
10,000,000 回の呼び出し × 0.0600 GHz 秒 = 600,000 GHz 秒/月
ネットワーキング
なし
指標 | 合計値 | 無料枠 | 正味の値 | 単価 | 合計金額 |
---|---|---|---|---|---|
呼び出し | 10,000,000 | 2,000,000 | 8,000,000 | $0.0000004 | $3.20 |
GB 秒 | 375,000 | 400,000 | 0 未満 | $0.0000025 | $0.00 |
GHz 秒 | 600,000 | 200,000 | 400,000 | $0.0000100 | $4.00 |
ネットワーキング | 0 | 5 | 0 | $0.12 | $0.00 |
合計/月 | $7.20 |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
大容量の HTTP 関数
256 MB のメモリと 400 MHz の CPU を使用し、HTTP を介して 1 か月あたり 5,000 万回呼び出され、毎回 500 ミリ秒間実行されて、呼び出し元に 5 KB のデータを送信する、複雑さが中程度の HTTP 関数(1 回の呼び出しあたり 5 KB の下り(外向き)データ)。
計算
呼び出し
50,000,000
コンピューティング時間
(256 MB ÷ 1,024 MB/GB) × 0.5 秒 = 0.125 GB 秒/呼び出し
(400 MHz ÷ 1,000 MHz/GHz) × 0.5 秒 = 0.200 GHz 秒/呼び出し
50,000,000 回の呼び出し × 0.125 GB 秒 = 6,250,000 GB 秒/月
50,000,000 回の呼び出し × 0.200 GHz 秒 = 10,000,000 GHz 秒/月
ネットワーキング
50,000,000 回の呼び出し × (5 KB ÷ 1,024 KB/MB ÷ 1,024 MB/GB) = 238.42 GB の下り(外向き)トラフィック/月
指標 | 合計値 | 無料枠 | 正味の値 | 単価 | 合計金額 |
---|---|---|---|---|---|
呼び出し | 50,000,000 | 2,000,000 | 48,000,000 | $0.0000004 | $19.20 |
GB 秒 | 6,250,000 | 400,000 | 5,850,000 | $0.0000025 | $14.63 |
GHz 秒 | 10,000,000 | 200,000 | 9,800,000 | $0.0000100 | $98.00 |
ネットワーキング | 238.42 | 5 | 233.42 | $0.12 | $28.01 |
合計/月 | $159.84 |
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
デプロイの費用
関数は、Container Registry または Artifact Registry のいずれかに保存されます。Cloud Functions(第 2 世代)では、Artifact Registry のみが使用されます。
関数が Container Registry に保存される場合、Container Registry には無料枠がないため、デプロイ後にわずかな料金が発生します。Container Registry のリージョンのストレージ費用は、1 GB あたり月額約 $0.026 です。
たとえば、多くの一般的な npm パッケージを取り込む 15 個の第 1 世代 Node.js 10 関数をデプロイするプロジェクトがあるとします。これらの関数をデプロイすると、一部の無料ストレージ、一部のマルチリージョン ストレージの使用、Cloud Build のコンピューティング時間の短縮が発生します。
REGION.artifacts.*
バケットの 1.05 GB のマルチリージョン Standard Storage(無料枠なし)。このマルチリージョンのストレージ容量は Container Registry で使用されます。gcf-sources-*
バケットの 2 MB の無料枠 Cloud Storage。この無料ストレージは関数のビルドプロセスで使用されます。- 関数のデプロイごとに約 1 分の Cloud Build ビルド処理時間。15 個の関数すべてを 1 日 8 回を超えてデプロイしない限り Cloud Build の無料枠に収まります。
金額は月額 $0.03 になります。このような料金は、請求書に「Standard Storage US Multi-region」として表示されます。
関数が Artifact Registry に保存される場合、ストレージの無料枠を超過しない限り課金されません。関数がこの制限を超えると、デプロイ後にわずかなストレージ料金が発生します。
各関数のコンテナは、その関数を削除するまでイメージ レジストリ(Container Registry または Artifact Registry)に保存されるため、毎月わずかな料金が発生します。ただし、Artifact Registry をその無料枠の範囲内で使用している限りは課金されません。
Cloud Build または Artifact Registry に関連付けられた費用についての詳細は、Cloud Functions イメージのビルドをご覧ください。
次のステップ
- Cloud Functions のドキュメントを読む。
- Cloud Functions を使ってみる。
- 料金計算ツールを試す。
- Cloud Functions のソリューションとユースケースについて学習する。