GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/API / SDK
API / SDK/2026-04-26上級

マルチテナント SaaS で Gemini API を安全に提供する設計 — テナント分離・課金計測・暴走防止の本番アーキテクチャ

Gemini API を複数テナントに販売する SaaS で、APIキー漏洩・無限ループによる暴走・他テナントの巻き添え障害を防ぐための実装パターンを、Python のコード付きでまとめました。

Gemini API191マルチテナント2SaaS11本番運用47課金4アーキテクチャ13

プレミアム記事

個人開発で Gemini API をバックエンドに使った SaaS を運用していて、最初に冷や汗をかいたのは「ある1社が無限ループで自分のテナントを叩き続けた結果、その日のうちに私の Cloud Billing が4桁ドルに到達した」夜のことでした。

幸い検知できたのは、Cloud Billing アラートではなく、Slack に流していた1リクエストごとのコストログでした。アラートは翌朝届きました。本記事は、個人開発でこの規模の運用に一人で向き合ってきた私自身が、あの夜の自分に渡したかったマルチテナント設計の地図です。

シングルテナント(1社1インスタンス、1社1APIキー)の運用とは、考えるべきことが大きく変わります。「テナントを跨いだ巻き添え障害を起こさない」「テナントごとの利用量を、月末の請求と紐づくレベルで正確に取る」「想定外のトラフィックでコストが指数関数的に膨らんだ瞬間に止める」——この3点をどう設計するかが、SaaS としての耐久力を決めます。

なお、本記事は Gemini API の REST 呼び出しを Python の google-genai SDK 経由で行う前提で書きますが、設計思想はどの言語でも変わりません。

なぜ Gemini API のマルチテナント化は難しいのか

「自前のキャッシュサーバーを複数テナントで共有する」程度のマルチテナント化と、AI API のマルチテナント化には決定的な違いがあります。

第一に、1リクエストの単価がテナントごとに大きくぶれることです。同じ「メッセージ送信API」でも、テナントAは300トークンの問い合わせ、テナントBは80万トークンの長文要約を投げてくる、ということが普通に起こります。テナントごとの「トラフィック量(リクエスト数/秒)」だけでは利用量を測れません。「投入トークン数」「出力トークン数」「使用モデル」の3軸で記録する必要があります。

第二に、APIキー(プロジェクト)が単一であるため、ある1テナントの暴走が全テナントに波及することです。Google AI Studio キー(generativelanguage.googleapis.com)の場合は1分あたりのRPM制限が、Vertex AI の場合は1分あたりのトークン上限が、プロジェクト全体に対して効いてきます。テナントBが秒間100リクエストを撃ち続けると、テナントAは静かに 429(または DEADLINE_EXCEEDED)を返され続けることになります。

第三に、コストの暴走が即座に金銭的損失になることです。たとえばユーザー入力をそのまま LLM に渡す素朴な実装で、ユーザーが「無限ループするスクリプト」を書いた瞬間、Gemini 2.5 Pro なら数時間で4桁ドル、Gemini 2.5 Flash でも油断はできません。「フェイルセーフはコード側でやるしかない」のが現実です。

設計判断その1: テナント分離モデルの選択

最初に決めるのは「どこでテナントを分けるか」です。私が経験した3パターンを比較します。

  • Aプラン: 完全共有(1プロジェクト・1APIキー) — もっとも安価でデプロイも簡単。ただし、ある1テナントが Gemini API のクオータを食い尽くすと、全テナントが影響を受ける。レート制限・課金計測は完全にアプリ側の責任。
  • Bプラン: テナントごとに Google Cloud プロジェクトを分ける — クオータが物理的に分離される最も堅牢な構成。ただし、プロジェクトの自動プロビジョニングや課金アカウントの紐付けが運用上重い。テナント数が10を超え始めると現実的でありません。
  • Cプラン: BYOK(Bring Your Own Key) — テナント自身に Google AI Studio キーを発行してもらい、預かる構成。テナントの請求書は Google から直接届くため、サービス提供側のコスト責任が消える。ただし、APIキーの暗号化保管・ローテーション機構が別途必要。

私の推奨は、立ち上げ期は A プラン+アプリ側で厳密なテナント別レート制限・課金計測、月間利用額が一定を超えるテナントには C プラン(BYOK)を提案、です。 多くの SaaS で B プランは過剰な投資になります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
テナント別トークンバケットと月予算ガードを組み合わせ、1社の暴走が全テナントに波及しない分離設計を実装できます
request_id を背骨に、usage_records テーブルとマテリアライズドビューでリクエスト粒度の課金計測と監査を構築できます
FastAPI への組み込み例・偽 Gemini クライアントによるテスト・サブテナント/PII 対応まで、本番運用の落とし穴を回避できます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-04-26
Gemini API × Stripe で組む AI SaaS 課金 — 使用量ベースの本番実装ガイド
Gemini API を使った個人開発 SaaS で「使った分だけ請求する」課金システムを Stripe Metered Billing と Webhook で本番実装する完全ガイド。トークン計測・サブスク同期・ティア別ゲーティング・落とし穴まで網羅します。
API / SDK2026-06-26
Gemini API の月額上限に当てた瞬間、有料ユーザーまで止まる — Project Spend Caps の影響範囲をプロジェクト分割で閉じ込める
Project Spend Caps はプロジェクト全体を一度に止めます。無料ユーザーの暴走が有料ユーザーを巻き込まないよう、上限の影響範囲をティア別プロジェクトで分離し、約10分の遅延を埋めるソフト予算ゲートを実装する設計メモです。
API / SDK2026-05-31
429を出さずにバルク処理を速くする:Gemini APIの適応的並行度制御
数万件をGemini APIに流すバルク処理で、固定並行度はほぼ必ず429と取りこぼしを生みます。429のフィードバックで並行度を自動調整するAIMD方式を、有界ワーカープールとデッドレター、再開可能なチェックポイントのコード付きで本番設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →