API Gatewayとは?APIの受付窓口|ELBとの違いと選び方

配属先で「そこはエーピーアイゲートウェイを噛ませて」「ゲートウェイのURLを教えて」といった会話が飛び交い、置いていかれた気分になっていませんか?ここで出てくるのは、AWSのAmazon API Gatewayというサービスです。

この記事では、Amazon API Gatewayを「ビルの受付窓口」というたとえ話を軸に、仕組みから現場での使いどころ、似たサービスとの違い、料金の考え方まで通しで解説します。

結論から言うと、Amazon API Gatewayとはアプリの外から来る呼び出しをまとめて受け止め、本人確認と交通整理をしてから、中の処理へ取り次ぐサービスです。

この記事でわかること

  • Amazon API Gatewayがどんなサービスか(たとえ話と図つき)
  • 3つのAPIタイプの違いと、現場で出会う場面・つまずきやすい点
  • ELBやCloudFrontとの使い分け、Amazon API Gatewayの料金と無料枠
目次

Amazon API Gatewayとは?一言でいうと「ビルの受付窓口」

Amazon API Gatewayとは、APIの入口を丸ごと引き受けてくれるAWSのサービスです。AWS公式は、開発者がこれを利用することで「どのようなスケールであっても、簡単に API の作成、配布、保守、監視、保護が行える」と説明しています。

ここでいうAPIとは、プログラムどうしが決まった形でやりとりするための窓口のことです。スマホアプリが「注文一覧をください」と頼み、サーバーが答えを返す。あのやりとりの決まりごとがAPIです。

イメージしてほしいのが、オフィスビルの受付です。訪問者はまず受付に立ち寄ります。受付の人は、名前を確かめ、来客が集中したら整理し、行き先の部署へ内線をつなぎます。訪問者は、目的の部署が何階にあるかを知らなくてもたどり着けます。

Amazon API Gatewayがやっているのは、これとまったく同じことです。呼び出す側は、ゲートウェイのURLだけを覚えておけばよい。裏側で誰が処理しているかは知らなくてよい、というわけです。

ここが大事な点です。Amazon API Gatewayは、業務の中身を処理する道具ではありません。受け付けて、確かめて、取り次ぐためだけの道具です。

図で見るAmazon API Gatewayの仕組みと使いどころ

Amazon API Gatewayが呼び出す側とLambda・EC2の間に立ち、認証・スロットリング・キャッシュ・記録・取り次ぎを行う構成図
呼び出す側とバックエンドの間に立ち、入口の仕事をまとめて引き受ける

受付窓口が引き受けている5つの仕事

図のとおり、Amazon API Gatewayは呼び出す側とバックエンドのあいだに立ちます。公式が挙げている役割は「トラフィック管理、CORS サポート、認可とアクセスコントロール、スロットリング、モニタリング、API バージョン管理」です。かみ砕くと、次のようになります。

  • 本人確認 — 誰からの呼び出しかを確かめる。公式はIAMによる認可のほか、Lambdaの関数で「JWT トークンや SAML アサーションなどのベアラートークンを検証および認可」する方法も挙げています
  • 流量の制限 — 公式の表現では「1 秒あたりのリクエスト数に基づいてスロットリングルールを設定」できます。押し寄せた呼び出しから裏側を守る仕組みです
  • キャッシュ — 同じ問い合わせには控えを返します。公式には「カスタマイズ可能なキーと有効期限(秒単位)」を設定できるとあります
  • 記録と監視 — CloudWatchと連携し、「API コール、レイテンシー、エラー率などのバックエンドのパフォーマンスメトリクス」が見られます
  • 取り次ぎ — Lambdaの実行、Step Functionsの起動のほか、EC2やAWSの外にある公開HTTPエンドポイントへの呼び出しもできます

この5つを自分たちで作ろうとすると、それだけで一つのプロジェクトになります。そこを引き受けてくれるのが、このサービスの値打ちです。

Amazon API GatewayのAPIタイプは3つ

作成画面で最初に迷うのが、APIタイプの選択です。3つあります。

REST APIは、いちばん機能が多いタイプです。細かい認可やリクエストの変換、後述するキャッシュまで面倒を見ます。

HTTP APIは、あとから登場した軽量なタイプです。公式は「API プロキシ機能のみを必要とする API を構築するには、HTTP API が最適」とし、REST APIより最大71%費用が安くなるとしています。

WebSocket APIは毛色が違います。「チャットアプリやストリーミングダッシュボードなどのリアルタイムの双方向通信アプリケーション」向けで、つなぎっぱなしの接続を保ちます。

迷ったらHTTP APIから検討します。凝った認可や変換が要ると分かった時点で、REST APIに寄せる。これが遠回りの少ない順番です。

新社会人がAmazon API Gatewayに出会う場面

入社1〜3年目でありがちなのは、「この関数、外から叩けるようにしておいて」と頼まれる場面です。Lambdaの関数は、そのままではインターネットから呼べません。そこで前に立てるのがAmazon API Gatewayです。

作業で確かめる順番を覚えておくと、ぐっと動きやすくなります。

  1. どのAPIの、どのパスとメソッド(GETやPOST)の話かをはっきりさせる
  2. そのパスの取り次ぎ先が、どのLambda関数やサーバーになっているかを見る
  3. ステージ(devやprodなど公開先の区分)と、そこへのデプロイが済んでいるかを見る

最初のつまずきは、たいてい3番目です。REST APIは設定を変えただけでは反映されません。ステージへデプロイして、はじめて外から見える形になります。「直したのに変わらない」の多くは、これが原因です。

Amazon API Gatewayと関連サービスの違い・つながり

いちばん混同されやすいのがELBとの違いです。どちらも入口に立ちますが、見ている高さが違います。

ELBは、同じ役割のサーバーが何台か並んでいるときに、その振り分けを担当します。いっぽうAmazon API Gatewayは、パスごとに行き先を変え、認証や流量制限まで面倒を見ます。受付にたとえるなら、ELBが「空いている窓口へどうぞ」と案内する係、API Gatewayが「ご用件は?お名前は?」まで聞く受付です。

CloudFrontとも役割が重なって見えます。CloudFrontは世界中に置いた拠点から中身を速く届けるのが本分で、画像やファイルの配信に強い。API Gatewayは呼び出しの受付と制御が本分です。実際には、CloudFrontの後ろにAPI Gatewayを置く形もよく使われます。

取り次ぎ先として定番なのがLambdaです。サーバーを1台も持たずにAPIを公開できるので、社内ツールや小さなサービスはこの組み合わせで足ります。もちろんEC2で動いている既存のシステムへ取り次ぐこともできます。

誰がAPIを呼べるかの制御はIAMが担当します。呼び出しの回数やエラー率を見張るのはCloudWatchです。そして時間のかかる処理は、その場で答えを返さずSQSへ積んで、あとから処理する形にします。

現場ではAmazon API Gatewayをこう選んでいる

ここからは、運用監視から設計構築まで10年ほどインフラを見てきた筆者(AWS認定8冠)が、実際の案件で使っている判断の物差しを書きます。公式ページには載っていない部分です。

まず「入口で断りたいことがあるか」で決めます。相手ごとに呼び出せる範囲を変えたい、呼びすぎを止めたい、社外にAPIを配りたい。こうした要件が1つでもあれば、Amazon API Gatewayが向きます。逆に、社内からしか呼ばれない単純な振り分けなら、ELBのほうが安く単純に収まります。

次に「呼び出しの回数」で見ます。Amazon API Gatewayの料金は、後述するとおり呼び出し1回ずつの積み上げです。1日数万回までなら気になりませんが、常時ふりそそぐような大量の通信になると、時間課金のELBのほうが安くなる分かれ目が来ます。設計の初期に、月あたりの想定回数をざっくり出しておくと後悔しません。

最後に「返すまでの時間」を確かめます。Amazon API Gatewayには、バックエンドの応答を待つ時間に上限があります(既定で29秒)。重い集計やファイル生成をその場で待たせる作りは、いずれ必ず詰まります。受け付けたらすぐ「承りました」と返し、実処理はキューへ逃がす。この形に最初からしておくのが、あとで泣かないコツです。

新社会人のうちは、この3つ(入口で断るか・回数・時間)を先輩に確認できるだけで、設計の会話にちゃんと参加できます。

Amazon API Gatewayの料金と無料枠

Amazon API Gatewayの課金は「受け取った呼び出しの回数」と「外に出ていくデータ量」で決まります。公式も、REST APIについて「受信した API コールと、データ転送 (アウト) 量に対してのみ料金が発生します」としています。以下は執筆時点(2026年9月)に公式料金ページへ載っている代表的な単価です。

  • HTTP API — 100万リクエストあたり1.00 USD(使う量が増えると段階的に下がり、上の段では0.90 USD)
  • REST API — 100万リクエストあたり3.50 USDから(こちらも段階制)
  • WebSocket API — 100万メッセージあたり1.00 USD、加えて接続していた時間に100万分あたり0.25 USD
  • キャッシュ — 使う場合のみ、容量に応じた時間課金が別にかかる

無料枠もあります。公式によると「REST API が受信する月間 API コール数 100 万件、HTTP API が受信する月間 API コール数 100 万件、および WebSocket API が受信する月間メッセージ数 100 万件と月間接続時間 750,000 分」が対象です。

ここで一つだけ注意があります。この無料枠は最大12か月間です。毎月ずっと使えるSQSの無料枠とは性格が違うので、練習用のAPIを立てたまま1年を過ぎると、静かに課金が始まります。使い終わったAPIは消しておきましょう。

なお料金はリージョンによって違い、見直されることもあります。実際に使う前には、かならず公式の料金ページで最新の内容を確認してください。

Amazon API Gatewayのまとめ

ここまでの要点を整理します。

  • Amazon API Gatewayは、呼び出しを受け付けて確認し、裏側へ取り次ぐビルの受付窓口
  • APIタイプは3つ。迷ったら軽量なHTTP APIから検討し、凝った制御が要ればREST APIへ
  • 課金は呼び出しの回数ぶん。無料枠は毎月100万件だが、最大12か月までという点に注意

まずは自分の現場で、外から叩かれているURLがどのサービスで受けられているかを追ってみてください。入口の作りが読めるようになると、障害の切り分けがぐんと速くなります。

参考リンク

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

この記事を書いた人

コメント

コメントする

目次