firebaseBlazeプランから無料枠戻す/上限設定/料金(Cloud Functionsの使い方)

firebaseBlazeプランの覚書です。

firebaseBlazeプランの料金/上限設定/無料枠

firebase hostingの無料枠はあるが、Cloud Functionsは使えない(従量制 Blaze)

firebase hostingの無料枠はありますが、Cloud Functionsは無料枠では使えません。Blazeプラン必須となります。そのため従量制に移行する人が多いのではないでしょうか。

左サイドバーの [ Functions ] > プロジェクトをアップグレード > (GCPに登録していない場合、ここでクレジットカードを登録する) > 購入 > 予算アラートの設定

FirebaseはGoogleが買収しているのは有名な話です。そのため、支払フォームはGCPと共通化されているようです。GCPはキャンペーンをやっているため、下記の順番がよろしいようです。

先にGCPに登録(無料枠300ドルゲット) → FIrebaseのBlazeプラン切り替え

GCPの中にBlazeプランも含まれています。ただし、Firebase側からはキャンペーンの告知はされないということです。

$300の無料クレジットはアカウントごとに1回限りの提供であり、新しいプロジェクトを作成しても、再度この無料クレジットを受け取ることはできません。

詳細はqiitaをみてください。個人的にもこれにのりました。昔は有効期限が1年でしたが、90日に短縮されたようです…。90日って開発している間にあまり使わず終わってしまう気もするのですけど…。

Googleさんの引き締めでしょうか…。

ただ、損することはないので、一応のっておくぐらいの軽いノリですかね。

上限設定はあるの?

結論からいえば上限設定はありません。怖いですね…。ただ予算アラート設定があります。

いいえ、現状では Blaze プランで使用量の上限を設定することはできません。Blaze プランで使用量の上限をサポートするオプションを評価中です。

Blaze ユーザーはプロジェクトまたはアカウントの予算を定義し、支出がこうした上限に近づいた場合にアラートを受け取ることができます。予算アラートの設定方法をご確認ください。

https://firebase.google.com/support/faq?hl=ja#:~:text=Flame%20%E3%83%97%E3%83%A9%E3%83%B3%E3%81%8A%E3%82%88%E3%81%B3%20Blaze%20%E3%83%97%E3%83%A9%E3%83%B3,%E3%81%AB%E3%81%AF%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82

予算アラートの設定は25ドルにした場合、次のようです。若干、日本語訳が紛らわししいですが、、。

メールを受け取る費用は $12.50(50%)、$22.50(90%)、$25.00(100%)です。この設定は後から Google Cloud Console でカスタマイズ可能です。

金額を変更すると、上記のメッセージも変更されて、メールの通知タイミングが変わるようです。

アップグレード済の登録のメールアドレスにがきています。

firebaseをBlazeプランにしたら課金された

毎月、以下のメールが届くようになりました。

Google Cloud Platform & APIs: 01D0D2-FCD0A8-1CADF3 の請求書の用意ができました

メール

請求書をみても0円でした。Googleさんは0円の請求書を送るみたいです。

しかし、ある月から突然課金されていたのです😓。

まだリリースもしていないんだけど、、

明細はfirebaseではなくGoogle Cloud Platform管理です。どこで課金されたの?何か悪いことした?と詳細を追います。

Google Cloud Platformにログイン > 料金詳細 > プロジェクト名 > 詳細

期間の設定も画面右上でできます。

こちらの方と同じ状態でリージョン系でしたね。

スポンサーリンク

firebaseBlazeプランから無料枠に戻す(追記)

よほどの改善がない限り、firebaseを卒業する方向で考えているため、その手順です。とあるプロジェクトは卒業しました。

完全に使わない場合はプロジェクトの削除でいいでしょう。

ただ、プロジェクトをの削除はせず、プロジェクトを非公開にする方法を選びました。非公開にする方法はこちらの記事の「firebaseでホスティングの公開を停止する」が便利です。

BlazeプランからSparkプランにダウングレード

久々にみたら、少し管理画面が変わっていましたね。

画面左下のBlazeの[変更] > Sparkの[プランを選択] >

注意事項が表示されます。

プロジェクトをダウングレードする前に、次のことを確認してください。
Spark プランの使用制限を超過した場合、プロジェクト内の Firebase サービスが無効になることがあります
BigQuery との既存の統合はすべて BigQuery サンドボックスが適用されます。 アナリティクス データは、ストリーミングされるのではなく毎日エクスポートされます。 詳細
Google Cloud サービスの課金対象のアクティビティがすべて停止し、課金対象のリソースが削除される場合があります

ダウングレードと入力して[ダウングレード]

Google Cloud Platform (GCP) を解約する

firebaseをダウングレードすると、GCPの課金設定もちゃんと無効になるのか疑問でしたが、無効になっていました。ただ、初期プロジェクトが有効になっていたため、念のため無効にしておきました。

最後の請求がくるかもしれませんので、そのあたりも含めて念のため確認してもいいかもしれません。

コンソール > 左上のメニューアイコン > 課金 > 請求先のアカウントを管理

自分の請求先アカウントのタブの[請求先のアカウント]で請求状況が確認できるようです。

マイプロジェクトのアクションの3点縦アイコンから[課金を無効にする]ことができるようですが、すでに無効になっていました。

スポンサーリンク

firebase Cloud Functionsの使い方

インストール

firebase Cloud Functionsのインストール方法もまとめておきます。

firebase init

 ◯ Database: Deploy Firebase Realtime Database Rules
 ◯ Firestore: Deploy rules and create indexes for Firestore
>◯ Functions: Configure and deploy Cloud Functions
 ◯ Hosting: Configure and deploy Firebase Hosting sites
 ◯ Storage: Deploy Cloud Storage security rules
 ◯ Emulators: Set up local emulators for Firebase features

スペースで選択してenter。

? What language would you like to use to write Cloud Functions? (Use arrow keys)
❯ JavaScript 
  TypeScript 

言語を選択。

その後はお好みですが、最後はyesがいいでしょう。

? What language would you like to use to write Cloud Functions? JavaScript
? Do you want to use ESLint to catch probable bugs and enforce style? Yes
✔  Wrote functions/package.json
✔  Wrote functions/.eslintrc.json
✔  Wrote functions/index.js
✔  Wrote functions/.gitignore
? Do you want to install dependencies with npm now? (Y/n) y

依存関係をインストールしないとビルド前にやるため、先にやるか後でやるかだけです。functtionのフォルダとその中身のファイルが生成されます。

firebase Cloud Functionsのdeploy

cd functions
firebase deploy --only functions ←このfunctionsのみデプロイします。


functionフォルダに移動し、デプロイします。

functions “最初のデプロイを待機しています”

ローカル環境で確認

リージョンの設定

東京リージョンにします。region(‘asia-northeast1’)を追加するだけです。

こう書き換えます。

exports.api = functions.region('asia-northeast1').https.onRequest(app)
// const api = functions.https.onRequest(app);
// module.exports = { api };

(追記)failed as the billing account is not available

3ヶ月後、デプロイできなくなりました。

failed as the billing account is not available
Error: Functions did not deploy properly.

一度、無料プランに戻されるようです。アップグレードが必要です。Gmailを確認すると、以下のメールがきていました。

重要なお知らせ: トライアル期間が終了しました

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする