先日行われたGoogle Next2017において、Google Cloud Functions(以下、GCF)のβ版及び、FireBaseのサポートが発表されました。以前のα版では無料だった利用料やクオータの制限についても詳細が新たに発表されています。本記事では今回のβ版で新たに発表された、利用料の詳細やクオータ制限、Firebaseサポートについてご紹介します!
GCFがβ版に!!
これまではα版として運用されてきたGCFですが、今回2017年のGoogle Nextにおいてβ版になることが発表されました。
以下、正式発表のブログ
https://cloudplatform.googleblog.com/2017/03/Google-Cloud-Platform-your-Next-home-in-the-cloud.html
これによりこれまでは無料だった利用料やAPIの呼び出し回数等のクオータの制限についても発表されました。
GCFの料金体系
GCFの料金は以下の3つのリソースに対して課せられます。
- 関数の呼び出し回数
- コンピューティング時間
- ネットワーキング
関数の呼び出し回数
月間呼び出し回数 | 料金 |
最初の200万回 | 無料 |
200万回を超えた分 | 100万回あたり$0.4(1回あたり$0.0000004) |
コンピューティング時間
コンピューティング時間は関数がリクエストを受け取ってから、関数が完了(エラーも含む)するまでの時間を指します。コンピューティング時間に対応する料金は、関数に対して当てられたメモリやCPUの量に基づきます。
単位 | 料金 |
GB 秒 | $0.0000025 |
GHz 秒 | $0.0000100 |
※1GB 秒は1GBのメモリがプロビジョニングされている場合の1秒間の実測時間
※1GHz 秒は1GHzのCPUがプロビジョニングされている場合の1秒間の実測時間
ちなみにGCFでは1関数あたり、以下の5種類のメモリを割り当てることが可能です。
- 128MB
- 256MB
- 512MB
- 1GB
- 2GB
ネットワーキング
おなじみですが、GCFから外部の他の場所に転送されるデータ量に対して料金が課せられます。これはGCP全般で発生するアウトバウンドの課金と同じです。
タイプ | 料金/GB |
送信データ(下り) | $0.12 |
1ヶ月あたりの送信データ | 5 GB 無料 |
受信データや同じリージョン内の他のGoogle APIに送信される送信データは無料。
無料枠
GCFでは上記3つのリソースに対してある一定までの無料枠が用意されています。
タイプ | 料金 |
関数呼び出し | 200万回まで無料 |
コンピューティング時間 | 400,000GB秒、200,000GHz 秒まで |
ネットワーク | 5GB / 1ヶ月 |
GCFのクオータによる制限
GCFのクオータには以下の大きく分けて3種類の制限が存在します。
リソース制限
クオータの種類 | 詳細 | 制限 | クオータ追加の可否 |
関数の数 | プロジェクトごとにデプロイできる関数の数 | 1,000 | × |
デプロイの最大サイズ | 1つの関数のデプロイ最大サイズ | ソース用に100MBソースとモジュール用に500MB | × |
関数の最大同時呼び出し数 | 1つの関数の最大同時呼び出し数 | 1,600 | × |
HTTPリクエストの最大サイズ | HTTPリクエストで関数に送信されるデータ | 10MB | × |
HTTPレスポンスの最大サイズ | HTTPレスポンスで関数から送信されるデータ | 10MB | × |
バックグラウンド関数の最大サイズ | イベントでバックグラウンド関数に送信されるデータ | 10MB | × |
時間制限
クオータの種類 | 詳細 | 制限 | クオータ追加の可否 |
関数の最大期間 | タイムアウトまでの最大時間 | 540秒 | × |
ビルドの最大時間 | ビルドで許可されている最大時間 | 200分/日 | ○ |
レート制限
クオータの種類 | 詳細 | 制限 | クオータ追加の可否 |
1秒あたりの関数呼び出し数 | 1秒あたりに呼び出せる関数の数 | 100秒あたり100,000回 | ○ |
1秒あたりのGB 秒 | 1秒で消費されるGHz数。 | 100秒あたり100,000 | ○ |
API呼び出し(読み取り) | 関数を記述またはリスト表示する呼び出し数 | 100秒あたり1,000 | ○ |
API呼び出し(書き込み) | 関数をデプロイまたは削除する呼び出しの数 | 100秒あたり40 | ○ |
API呼び出し(入力) | 「呼び出し」APIへの呼び出しの数 | 100秒あたり16 | ○ |
受信ソケットデータ | 実行中の関数へのデータ転送量 | 100秒あたり1GB | ○ |
送信ソケットデータ | 実行中の関数からのデータ転送量。HTTPレスポンスは除く | 100秒あたり1GB | ○ |
ソケット接続数 | 新たな送信ソケット接続を確立するための試行数 | 100秒あたり4,000 | ○ |
DNS解決数 | DNSでドメイン名を解決するための試行数 | 100秒あたり4,000 | ○ |
制限の割り当てを増やす場合はこちらから
※割り当ての上限に達した場合は500のエラーコードが返ってきます。
Firebaseをサポート!
これまでGCFではGoogle Cloud Storage、Google Cloud Pub/Sub、Http(s)リクエストの3つのイベントをトリガーにすることが出来ましたが、今回のGoogle Nextでは新たにFirebaseもサポートされることが発表されました。
Firebase
https://firebase.google.com/docs/
GCF for Firebase
https://firebase.google.com/docs/functions/
FirebaseとGCFを連携させることで、Firebase Analytics、リアルタイムデータベース等のサービスからのイベントを受け取ってGCFの関数を起動することが出来ます。
開発者達はサーバーを保守することなくより複雑なアプリケーションを作成・運用することが出来るようになるでしょう。
まとめ
GCFは例えばG SuiteのAPIと連携させたちょっとしたプログラムを作りたい、けどサーバーの保守はしたくない。といったケースに向いたサービスです。Google App Engineも含めて今後はどんどん開発者がサーバーの保守について考えなくてもアプリケーションの開発が出来るようになっていきます。β版ということで本番環境で今直ぐに利用するのは少しリスクがあるかもしれませんが、個人的な用途であったり社内ツールの一部で利用したりするのには非常に便利ですのでぜひ試してみて下さい。
最後に、クラウドエースではGCFやGAEによる開発のご相談を受け付けておりますので、お気軽にお問い合わせ下さい。