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-22上級

Gemini API 本番の耐障害性設計 — Circuit Breaker・Bulkhead・フォールバックモデルで AI サービスを落とさない実装パターン

Gemini API の本番運用で発生する 429・503・タイムアウト障害を乗り切るための耐障害性設計を実装レベルで解説します。Circuit Breaker、Bulkhead、フォールバックモデル切替、Graceful Degradation までコード付きで網羅します。

gemini-api279resilience2circuit-breaker2bulkheadproduction105fallbackpython103

プレミアム記事

先日、個人開発で運用している Gemini API 連携サービスが、たった 1 つの API エラーでほぼ全機能が止まる事態に陥りました。直接の原因は Gemini 側の一時的な 503 でしたが、本当の原因はそこではなく、こちらの設計が「Gemini が落ちたら全部落ちる」前提になっていたことでした。障害を何度か踏んでようやく腹落ちしたのですが、外部 AI API を本番で使う以上、落ちる前提で設計していないと、いつか必ず自社サービスまで道連れにされます。

ここで扱うのは実際に私が詰まった失敗と、そこから作り直した設計パターンを全部まとめました。対象は Gemini 2.5 Pro / Flash を本番に組み込んで運用している開発者で、Python の実コードを読みながら進める構成です。Circuit Breaker、Bulkhead、フォールバックモデル、Graceful Degradation の 4 つを、個別ではなく「組み合わせて動く状態」で紹介します。単発のパターン紹介ではなく、本番投入した翌週に何を見れば効いているか分かるのか、というメトリクスの話まで含めているので、明日から動く設計図として使ってもらえるはずです。

なぜ Gemini API は落ちる前提で設計する必要があるのか

外部 API の障害は、自分たちのコードの外で起きます。ここが厄介なところです。Gemini API は SLA を公表していますが、それでも一時的な 429(Rate Limit)、503(Service Unavailable)、応答の遅延は珍しくありません。特に日本時間の深夜帯(米国西海岸のピーク時)は 503 の頻度が体感で上がる印象があります。

問題は「1 リクエストが失敗すること」ではありません。本当に怖いのは、1 つの失敗が連鎖して全体に波及することです。典型的にはこういう流れで起きます。Gemini が遅延する → アプリの FastAPI ワーカーが応答待ちで詰まる → 空いているワーカーが枯渇する → Gemini と無関係な検索 API や画像配信までレスポンスが返らなくなる → ユーザーから見るとサイト全体が落ちたように見える。いわゆる「カスケード障害」です。

私がやっていた最初の実装は、まさにこの状態でした。try / except でエラーは拾っていましたが、失敗しても即座に諦めず、5 回までリトライするようになっていたのです。Gemini が重い時に全ユーザーが同時に 5 回ずつリトライを投げるため、雪だるま式に負荷が膨らんで、結果として本来なら 3 分で回復したはずの一時的な揺らぎが 20 分級の全面障害に化けました。Cloudflare のダッシュボードで見ると、CPU は 10% 程度なのに上流への接続数が上限に達して、後続のリクエストがすべてタイムアウトに倒れていく、という絵が克明に残っています。

耐障害性設計が目指すべきゴールは「失敗しないこと」ではありません。「失敗したときに被害を小さく閉じ込めること」「一部の機能が落ちても残りのサービスを継続させること」です。順に実装していきましょう。

設計の全体像 — 4 つのレイヤーを重ねる

本番環境では、以下の 4 層を組み合わせて使うのが私の推奨です。層の順番が重要で、外側から内側の Gemini API に向けてリクエストが流れていきます。

  • レイヤー 1(入り口): Bulkhead — 機能ごとにコネクションプールを分離し、一部の過負荷を隔離する
  • レイヤー 2: Circuit Breaker — 連続失敗を検知したら一定時間 API 呼び出しを止め、自動で半開状態に戻して回復を確認する
  • レイヤー 3: Retry with Exponential Backoff + Jitter — 429・一過性のネットワークエラーのみ、短時間の再試行で回復を狙う
  • レイヤー 4(Gemini 直前): Fallback Chain — Pro → Flash → ローカルモデル → キャッシュ、の順に段階的に品質を落として応答を返す

この 4 層は、それぞれ単独でも機能しますが、重ねることで初めて「部分的に機能が劣化するが全体は生きている」という理想的な状態を作れます。先に結論を書いてしまうと、最終的に私の環境では、Gemini 側で 30 分規模の部分障害が起きても、ユーザーから見える成功率は 98% を下回らなくなりました。Fallback が効いている分、応答品質は若干落ちますが、ユーザーの離脱は大きく減りました。

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

この記事の続きを読む

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

この記事で得られること
Gemini API で 429 / 503 が連鎖して全ユーザーに障害が波及する状況を、Circuit Breaker で局所化できるようになります
Pro・Flash・ローカルモデルを優先度付きでつなぎ、品質を落としつつサービスを止めない段階的フォールバックを実装できます
本番で実際に詰まりやすい『リトライ爆発』『ワーカー枯渇』『片肺運転』の各失敗パターンを、コードと設計レベルで回避できるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API / SDK2026-07-04
Gemini API の英語出力に日本語が『たまに』混ざるとき — 混入率を計測して段階的に締める運用メモ
英語出力を指示したGemini APIが、100回に数回だけ日本語を混ぜてくる——この『たまに』を止められない本当の理由と、混入率をSLOとして計測し、段階的リカバリで本番品質まで締める運用パターンを実装コード付きで整理します。
API / SDK2026-07-02
Gemma 4 ローカル推論と Gemini API の使い分けで月額¥32,000を¥9,000台にした — ハイブリッドルーターの本番設計
月額¥32,000のGemini APIコストを¥9,000台まで下げたハイブリッド推論構成の記録です。ルーティング設計・Python実装・本番の落とし穴に加え、2026年7月のGemma 4 API提供開始を踏まえた構成見直しの指針もまとめました。
API / SDK2026-06-25
プレビュー画像モデル停止の朝に学んだこと — Gemini 画像モデル GA 移行と廃止に強いパイプライン設計
gemini-3.1-flash-image-preview と gemini-3-pro-image-preview の停止を機に、GA 版への移行手順と、廃止日に振り回されない画像生成パイプラインの設計をコード付きで整理します。動画から画像を生成するサムネイル自動化も扱います。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →