MENU

安心を形に:Firebase環境変数の整理とGCP予算アラート設定術(Project1-13)

記事サムネイル「【安心を形に】Firebase環境変数の整理とGCP予算アラート設定術(Project1-13)」。

前回の続きでPart3:環境変数の整理 (.env)。プロジェクト内APIの整理。

Part4:予算アラートの設定。GCPで行う、もしもの備え。

今回は「セキュリティを守る編」の完結として、環境変数の徹底管理と、万が一の事態を食い止める「予算アラート」の設定を一気に行います。


FirebaseのAPIキーをソースコードに直書きしたまま、GitHubにプッシュしていませんか?

「個人開発の規模なら大丈夫」という油断が、ある日突然、身に覚えのない高額請求や情報漏洩を招くかもしれません。

せっかく作り上げたアプリも、セキュリティが疎かでは安心して公開できませんよね。

これを済ませれば、枕を高くして眠れる安全な開発環境が手に入りますよ!

前回のおさらい:セクション5(セキュリティロードマップ)

今回の実装内容

アプリのセキュリティの向上

  • Part1:Firestore DB セキュリティルールの内容変更。
  • Part2:API Key Restrictions。GCPでのHTTPリファラーとAPI制限を設ける。
  • Part3:環境変数の整理 (.env)。プロジェクト内APIの整理。
  • Part4:予算アラートの設定。GCPで行う、もしもの備え。

目次

Part 3:環境変数の整理(.env)とプロジェクト内APIの整理

AIエージェントへの依頼:複雑なファイル整理をスマートに

Firebaseの初期化設定などは、コードに直接書く(ハードコードする)と管理が面倒なだけでなく、漏洩のリスクも高まります。

今回はAIエージェントを活用して、一気にファイルを整理します。

Security実装(Phase 3|環境変数管理)

Firebase設定をソースコード直書きから切り離し、安全に管理できる構成へ改善するフェーズ。

目的

  • APIキーなどの設定値をコードから分離し、漏洩リスクを下げる。

やること

  • .env.local を作成し、Firebase設定値を環境変数として定義。
  • firebase.ts を修正し、process.env.NEXT_PUBLIC_... から値を読み込む形に変更。
  • Git管理対象外の確認.env / .env.local.gitignore に含まれているかチェック。

結果

  • 設定情報がリポジトリに残らない安全な構成に。
  • 本番・開発で設定を切り替えやすくなり、運用性も向上。
AIエージェントにコードの依頼した結果を示すスクリーンショット。左側はハードコードされたFirebase設定を環境変数に移行するようAIに指示するプロンプト、右側はAIによってFirebaseConfig内の値がprocess.envを使った環境変数に置き換えられ、変更部分が緑色の枠でハイライトされたコードスニペット。上部には「AIエージェントへの依頼と変化の確認」という日本語の説明がある。
AIエージェントにFirebase設定をハードコードから環境変数へ移行するよう依頼し、その結果としてコードがリファクタリングされたことを確認している。

実装:.env.local への移行とGitの確認

AIの力を借りつつ、以下の2点を確実に実行します。

1. 設定値を環境変数へ切り出す

APIキーなどの重要な情報を .env.local にまとめます。これにより、リポジトリを公開しても重要な鍵は手元のPCにしか残らない状態になります。

.env.localファイルがコードエディタに表示されており、NEXT_PUBLIC_FIREBASE_API_KEYなどの複数の環境変数が定義されている画面。上部には「.envファイルの作成と環境変数の定義」という日本語の説明がある。
アプリケーションに必要なFirebase関連のAPIキーやプロジェクトIDなどの環境変数を.env.localファイルに設定している。
2. .gitignore の鉄壁チェック: ここが一番重要です!

どんなに環境変数に分けても、そのファイルをGitHubなどにアップしてしまったら意味がありません。

.gitignore ファイルに .env.env.local が含まれているか、必ず自分の目で確認しましょう。

.gitignoreファイルの内容がコードエディタに表示されたスクリーンショット。緑色の枠で.env*.localと.envが囲まれており、環境変数ファイルをGitのバージョン管理から除外する設定がハイライトされている。上部には「.envファイルを.gitignoreに設定 (隠すため)」という日本語の説明がある。
機密性の高い環境変数ファイル(.env)を誤ってGitリポジトリにコミットしないよう、.gitignoreに設定を追加している。

完了後のメリット

この整理を行うことで、設定情報がリポジトリに残らない安全な構成になります。

また、将来的に本番環境と開発環境を切り替える際も、環境変数ファイルを入れ替えるだけで済むため、運用性が格段に向上します。


Part4:予算アラートの設定。GCPで行う、もしもの備え。

最後に「もしも」への保険をかける

セキュリティ対策の総仕上げとして、予算アラートを設定します。

これは、万が一Part 1〜3の防御が突破され、APIが大量に消費されたとしても、設定額に達した時点で「スッと」通知が来るようにする最後の保険です。

個人開発において、開発段階で設定額を超える利用がある場合、それは「APIキーの漏洩」か「料金設定の甘いシステムの構築」のどちらかです。いずれにしても、被害を最小限に抑えるためにこの設定は必須と言えます。

5分で完了!予算アラート設定の手順

GCPのコンソールから以下の手順で設定を行います。

  1. GCPのコンソール画面左の項目欄から「課金」をクリック
  2. 「課金」コンソール画面の左の項目欄から「予算とアラート」をクリック
  3. 「予算とアラート」画面の上面のメニューの「+ 予算を作成」をクリック

続いて、予算アラートを作成していきます!

Google Cloud Platformで予算アラートを設定する最初のステップを示すスクリーンショット。左から順に、サイドバーで「課金」をクリック、次に「予算とアラート」を選択、最後に「+ 予算を作成」ボタンを緑色の枠で囲んでクリックする様子が示されている。上部には「予算アラート設定の手順①」という日本語の説明がある。
Google Cloud Platformのコンソールで「課金」から「予算とアラート」へ進み、「+ 予算を作成」を選択して新しい予算アラートの設定を開始する。

Google Cloud Platformの予算アラート設定画面の複数のステップを示すスクリーンショット。左側はアラートの名前、期間、プロジェクト選択、中央は予算額「¥500」の設定、右側は50%、90%、100%などのアラート通知タイミングと通知方法が設定されている。上部には「予算アラート設定の手順②」という日本語の説明がある。
Google Cloud Platformで予算アラートの名前、期間、対象プロジェクト、予算金額、そしてアラート通知のタイミングを設定する手順。

※今回の作成手順は私の行った設定なので、自身の目的に応じた設定を行ってください。

STEP
予算の名前を作成: Safety Net

管理しやすい任意の名前を付けます。

STEP
測定期間を決める: 月次

「月次」を選択し、自身のプロジェクトを指定します。

他にも「四半期」や「年次」があります。

STEP
金額の設定: 指定額

予算タイプ:指定額

目標金額: 「500円」 に設定します。

これが自分が出せる最大値になります。

STEP
アラートの閾値(いきち)を設定

デフォルトでは、3段階で設定でき必要に応じて増減して各ポイントを作る事ができます。

Step3での目標金額の50%や90%に達した際、段階的に通知メールが届くようにします。

STEP
通知の管理: オプション

デフォルトでは請求管理者にしかメールが飛びませんが「プロジェクトのオーナーにもメールを送る」にチェックを入れます。

私の場合は、「請求アカウント」と「プロジェクトアカウント」が違う場合は、オーナー通知をオンにするのがミソです。


Google Cloud Platformの「予算とアラート」設定画面。設定された予算アラート「Safety Net」が表示され、利用額「¥0.00」と予算額「¥500.00」が記載された行が緑色の枠で囲まれている。上部には「予算アラート設定の手順③:確認」という日本語の説明がある。
Google Cloud Platformで設定した予算アラートがリストに表示され、現在の利用額と設定予算が確認できる画面。

設定が完了すると、「予算とアラート」ページに作成した予算が表示されます。

これでセキュリティ編のすべての準備が整いました!


まとめ:安心を手に入れた次のステップへ

今回の成果物

環境変数の整理によってソースコードがクリーンになり、予算アラートによって金銭的な安心感が確保されました。

上部に「今日の成果物:.envファイルと予算アラート設定」と表示された画像。左下には「Step3: .envファイルの作成」として.env.localファイルで環境変数が定義されているコードエディタの画面があり、右上には「Step4: 予算アラートの設定」としてGoogle Cloud Platformの予算アラート設定画面が表示され、「¥0.00/¥500.00」の部分が緑の枠で囲まれている。
アプリケーションの環境変数を.envファイルで設定するステップと、Google Cloud Platformで予算アラートを設定し費用管理を行うステップを並列で示す。

やったことリスト

SWELLのキャプションボックスなどを使って、振り返りやすくまとめます。

セキュリティ強化:Phase 3 & 4
  • 環境変数の分離: Firebaseの設定値を .env.local に移行し、コードから秘匿情報を排除しました。
  • APIの整理: process.env を経由して値を読み込む、安全かつ柔軟な構成に変更しました。
  • 予算アラートの設置: GCPで500円の上限設定を行い、段階的な通知設定を完了しました。
  • 通知ルートの確保: 請求アカウントとプロジェクトオーナーの両方にメールが飛ぶよう設定しました。

「あとでいいや」になりがちな環境変数や予算設定ですが、ここを自動化(AI活用)と仕組み化(アラート)で固めることで、開発に100%集中できる環境が整いました!


次回予告:いよいよ世界へ!デプロイ編

セキュリティの守りは完璧です。次回はいよいよセクション6:デプロイに移ります。

次回予告
  • Next Step Firebase App Hosting × GitHub 連携による自動デプロイ

書いたコードが、実際にURLを持つ「生きたアプリ」として公開される瞬間を一緒に体験しましょう!


締めの一言

最後まで読んでいただき、ありがとうございました!

この記事が、あなたの個人開発をより安全で楽しいものにする手助けになれば幸いです。

今回の設定で分からないことがあれば、ぜひコメント欄で教えてくださいね。

また、この記事が役に立った!という方は、SNSでのシェアブックマークをしていただけると、執筆の励みになります!

Tomoya

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

この記事を書いた人

始めまして。このブログを運営するTomoyaです。
未経験個人開発者。AI×個人開発(Vibe Cording)で学習して参入してくれる人が増えて広がっていくと良いなと思って始めました。

実際に作成→デプロイ(公開)→運営を行ってそれについての問題や疑問を記録していきます。
また行っていく上で内容(セキュリティ・制限など)にもこだわっていきたいなと思っています。

コメント

コメントする

目次