TL

Cloud Service

API Gateway / Apigee

API の玄関。リクエストを認証・流量制限してバックエンドへ繋ぐマネージドサービス。軽量な API Gateway と、本格的な API 管理基盤 Apigee の2系統がある。

中級セキュリティパフォーマンス効率コスト最適化運用上の優秀性
最終更新: 2026-06-03公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.認証・流量制限を担いバックエンドへ繋ぐ API の受付窓口。
  • 2.軽量な API Gateway と高機能な Apigee の2系統を規模で使い分け。
  • 3.バックエンドは IAM で閉じGatewayのSAだけが叩ける構成にする。

解決する課題

  • API 用のサーバーやプロキシを自前で運用したくない
  • 認証(APIキー / JWT)・レート制限を共通の玄関で処理したい
  • Cloud Run / Cloud Functions などのバックエンドを安全に公開したい
  • 社外・パートナー向けに API を製品として提供し、利用状況の可視化や収益化まで行いたい(→ Apigee)

主要概念と用語

  • API Gateway(軽量版): OpenAPI 2.0(Swagger)仕様で API を定義し、Google が管理する Extensible Service Proxy V2(ESPv2 / Envoy ベース) を通してバックエンドへルーティングする
  • API / API Config / Gateway: API Gateway の3階層リソース。論理的な API に、OpenAPI で定義した API Config(イミュータブル)を紐づけ、リージョンに Gateway をデプロイする
  • APIキー: 呼び出し元アプリの識別・流量制御に使う。x-google-api-key などで検証
  • JWT 認証: securityDefinitions で発行者(issuer)と JWKS URI を指定し、Firebase / IAP / 自前 IdP などの JWT を検証
  • Apigee: フルスタックの API 管理。API プロキシポリシー(Spike Arrest / Quota / OAuth など)、プロダクト開発者ポータルマネタイゼーションを備える
  • Apigee の Environment / Environment Group: プロキシのデプロイ先(dev/prod 等)と、ホスト名をまとめる単位

仕様・制限・クォータ

  • API Gateway はフルマネージドで自動スケール。バックエンドは Cloud Run / Cloud Functions / App Engine / 任意の HTTP(S) バックエンド
  • API Config は作成後に変更不可(イミュータブル)。更新時は新しい Config を作って Gateway に紐づけ直す
  • API Gateway は リージョナルリソース(Gateway はリージョンごとにデプロイ)。OpenAPI は 2.0 のみ対応(3.0 非対応)
  • 既定のクォータ(プロジェクトあたりの API 数・Gateway 数など)があり、引き上げ申請が可能
  • Apigee は Pay-as-you-go と Subscription の課金体系があり、規模・SLA に応じてプロビジョニングする本格基盤

内部の仕組み

クライアント → API Gateway → バックエンド、という流れで、玄関で認証(APIキー / JWT)・流量制限・ルーティングを行います。API Gateway の実体は Google がマネージドで動かす **ESPv2(Envoy ベースのプロキシ)**で、開発者は OpenAPI 仕様を書くだけでプロキシの設定が生成されます。

  • API Gateway は軽量・低コストで、サーバーレス API の入口に向く
  • Apigee はプロキシの前後にポリシーを差し込めるパイプライン型。リクエスト/レスポンスの変換、OAuth トークン発行、メディエーション(REST↔SOAP 等)、キャッシュ、Spike Arrest(瞬間流量の平準化)など高度な制御が可能
  • バックエンドへの認証は、API Gateway のサービスアカウントを使って Cloud Run 等を IAM で保護した状態で安全に呼び出せる
API Gateway と Apigee の使い分け

シンプルにサーバーレス API を出すだけなら安価で軽量な API Gateway。収益化・開発者ポータル・高度なポリシー・大規模なライフサイクル管理が要るならApigee。両者は別プロダクトで、価格帯も大きく異なります。

設計パターン / ベストプラクティス

  • API Gateway + Cloud Run / Cloud Functions でサーバーレス API を最短公開
  • バックエンドの Cloud Run は未認証アクセスを禁止し、Gateway のサービスアカウントにのみ roles/run.invoker を付与(玄関以外からは叩けないようにする)
  • 認証は玄関に集約。社内向けは JWT、外部アプリ識別は APIキーを併用
  • グローバル配信や WAF が必要なら、前段に 外部 HTTP(S) ロードバランサ + Cloud Armor を併用
  • 大規模・製品化フェーズに入ったら Apigee へ移行し、プロダクト/開発者ポータルでセルフサービス化

運用・監視・トラブルシュート

  • Cloud Monitoring / Cloud Logging でメトリクス(リクエスト数・レイテンシ・エラー率)とログを監視
  • API Gateway は Cloud Logging にアクセスログを出力。429(Too Many Requests)はクォータ/流量制限を確認
  • 認証エラー(401 / 403)は OpenAPI の securityDefinitions、issuer/JWKS URI、APIキーの有効化状態を点検
  • Apigee は Analytics ダッシュボードでトラフィック・エラー・レイテンシ・デベロッパー別利用を分析できる

コスト

GCP では公開する規模で2つのプロダクトを使い分け、コストを最適化します。

プロダクト課金の考え方向いている用途
API GatewayAPI 呼び出し回数に対する従量課金(安価)サーバーレス API の軽量な公開
Apigee Pay-as-you-go処理した API コール量に応じた従量課金本格的な API 管理を小さく始める
Apigee Subscription年間サブスクリプション(容量・SLA でプラン選択)大規模・収益化・エンタープライズ

セキュリティ

  • APIキーで呼び出し元アプリを識別・制御、JWT(Firebase Auth / IAP / 自前 IdP)で利用者認証
  • バックエンドは IAM で保護し、Gateway のサービスアカウント経由でのみ呼び出す(直叩きを禁止)
  • 通信は TLS。前段の外部 HTTP(S) LB と Cloud Armor で WAF・DDoS 緩和・IP 制限
  • Apigee では OAuth 2.0 / Spike Arrest / Quota などのポリシーで認可・流量を細かく制御
アンチパターン

バックエンドの Cloud Run / Cloud Functions を未認証(allUsers)で公開したまま Gateway を前に置くのは NG。 玄関を迂回して直接叩かれます。バックエンドは IAM で閉じ、Gateway のサービスアカウントにのみ invoker 権限を与えてください。

関連サービス・比較(AWS との対応)

観点GCPAWS
軽量なAPI公開API Gateway(ESPv2 / Envoy)Amazon API Gateway(HTTP API)
高機能なAPI管理ApigeeAmazon API Gateway(REST API)+ 周辺
API定義OpenAPI 2.0(Swagger)OpenAPI 3.0 / コンソール
主なバックエンドCloud Run / Cloud Functions / App EngineLambda / HTTP 統合
利用者認証JWT(Firebase/IAP/IdP)オーソライザー(Cognito/Lambda)
呼び出し元識別APIキーAPIキー / 使用量プラン
前段のWAF/配信外部HTTP(S) LB + Cloud ArmorCloudFront + WAF

ハンズオン / CLI例

# 1) API(論理リソース)を作成
gcloud api-gateway apis create orders-api --project=PROJECT_ID

# 2) OpenAPI 2.0 仕様から API Config を作成(イミュータブル)
gcloud api-gateway api-configs create orders-config-v1 \
  --api=orders-api \
  --openapi-spec=openapi2.yaml \
  --backend-auth-service-account=gw-sa@PROJECT_ID.iam.gserviceaccount.com \
  --project=PROJECT_ID

# 3) Gateway をリージョンにデプロイして公開
gcloud api-gateway gateways create orders-gw \
  --api=orders-api \
  --api-config=orders-config-v1 \
  --location=asia-northeast1 \
  --project=PROJECT_ID

# 公開された Gateway のデフォルトホスト名を確認
gcloud api-gateway gateways describe orders-gw \
  --location=asia-northeast1 --project=PROJECT_ID \
  --format="value(defaultHostname)"

Google Cloud Service

API Gateway / Apigeeを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

アプリ統合

比較で見る軸

クラウド: Google Cloud / カテゴリ: アプリ統合 / 難易度: intermediate

導入後に効く点

軽量な API Gateway と高機能な Apigee の2系統を規模で使い分け。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Google Cloud
カテゴリ
アプリ統合
難易度
intermediate
関連資格
設計柱
security / performance / cost / operational

判断チェックリスト

  • 自社の用途が「アプリ統合 / security」に近いか確認する。
  • 強みである「認証・流量制限を担いバックエンドへ繋ぐ API の受付窓口。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

アプリ統合securityperformancecostoperational

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。