Amazon API Gatewayの料金は、APIの種類ごとに単価が違い、受け取ったリクエストの数で決まります。東京リージョンではREST APIとHTTP APIの単価に3倍以上の開きがあります。本記事では、東京の単価表、月額の計算式、キャッシュやログ、WAFの付帯課金、APIの選び分けを、動かせるコードとともに整理しました。APIゲートウェイという仕組みそのものはAPIゲートウェイとは?役割・機能とリバースプロキシ/サービスメッシュとの違い・導入判断を解説で扱っています。単価は2026年10月時点で確認した公式情報です。
まとめ:東京のHTTP APIは100万件1.29ドル、REST APIは4.25ドルで約3.3倍
東京リージョンのHTTP APIは100万リクエストあたり1.29ドル、REST APIは4.25ドルです。月500万リクエストなら、HTTP APIで約6.45ドル、REST APIで約21.25ドルになります。WebSocket APIは100万メッセージあたり1.26ドルに、接続時間の料金が加わります。
請求が想定を超える原因は、リクエスト単価よりも周辺の費用です。REST APIのキャッシュはステージ単位の時間課金で、止めるまでかかり続けます。実行ログ、WAF、インターネット向けの転送も別に請求されます。APIキーやWAF、キャッシュが要らないならHTTP APIを選ぶのが、単価を下げる一番の近道です。
東京のAPI Gateway単価|REST・HTTP・WebSocketの段階制と無料枠
単価はAWSのPrice List APIで取得した2026年10月13日公開版の東京リージョン(ap-northeast-1)の値です。公式の表はAmazon API Gatewayの料金ページにあります。
REST API4.25ドルとHTTP API1.29ドルの段階制単価と米国東部との差
REST APIは月間のリクエスト数に応じた4段階、HTTP APIは2段階です。金額はいずれも100万リクエストあたりです。
| 種類と月間リクエスト数 | 東京 | 米国東部 |
|---|---|---|
| REST:最初の3億3,300万 | 4.25ドル | 3.50ドル |
| REST:次の6億6,700万 | 3.53ドル | 2.80ドル |
| REST:次の190億 | 3.00ドル | 2.38ドル |
| REST:200億超 | 1.91ドル | 1.51ドル |
| HTTP:最初の3億 | 1.29ドル | 1.00ドル |
| HTTP:3億超 | 1.18ドル | 0.90ドル |
東京の単価は米国東部より約2割高く、米国東部の単価で書かれた料金例をそのまま使うと見積もりが低く出ます。3億3,300万リクエストは毎秒約128回が1か月続く量で、一般的な業務システムなら最初の段だけで計算できます。
WebSocketのメッセージ1.26ドルと接続時間0.315ドルを32KB単位で数える
WebSocket APIは、送受信したメッセージ数と接続していた時間の合計で課金されます。東京の単価は、メッセージが最初の10億件まで100万件あたり1.26ドル、それ以降は1.06ドルです。接続時間は100万分あたり0.315ドルです。
料金ページによると、メッセージは32KB単位で数えられ、33KBのメッセージは2件になります。pingやpongなどの制御フレームは数えません。接続時間はクライアントが何もしていなくても積み上がるため、使っていない画面では接続を切ります。
2025年7月15日を境に変わった無料枠の扱いとキャッシュが対象外になる条件
無料枠はアカウントを作った時期で変わります。AWS Free Tierの改定を告知した公式ブログによると、2025年7月15日より前に作ったアカウントは従来の無料利用枠に残ります。この場合、作成から最長12か月、REST APIとHTTP APIはそれぞれ月100万リクエスト、WebSocket APIは月100万メッセージと75万接続分が無料です。
2025年7月15日以降の新規アカウントは、登録時の100ドルと所定の操作で得る最大100ドル、合計最大200ドルのクレジットで利用します。Free planはクレジットを使い切るか6か月が過ぎると終わります。どちらの場合も、REST APIのキャッシュ設定に明記されているとおり、キャッシュは無料枠の対象外です。
Price List APIから東京の単価をPythonで取得して段階の境界を確かめる
料金ページの表はJavaScriptで描画されるため、機械的に確かめるならPrice List APIを使います。Price List Bulk APIの手順どおり、リージョン索引から東京版のファイルを引き、オファーコードAmazonApiGatewayを読みます。認証は不要で、実行に必要なのはPython標準ライブラリだけです。
import json
import urllib.request
BASE = "https://pricing.us-east-1.amazonaws.com"
def get(path):
with urllib.request.urlopen(BASE + path, timeout=120) as r:
return json.load(r)
# 1) リージョン索引から東京(ap-northeast-1)版のURLを得る
idx = get("/offers/v1.0/aws/AmazonApiGateway/current/region_index.json")
offer = get(idx["regions"]["ap-northeast-1"]["currentVersionUrl"])
print("公開日:", offer["publicationDate"])
# 2) 使用タイプごとの単価を段階の境界つきで表示する
for sku, prod in offer["products"].items():
usage = prod["attributes"].get("usagetype", "")
for term in offer["terms"]["OnDemand"].get(sku, {}).values():
for dim in term["priceDimensions"].values():
usd = float(dim["pricePerUnit"]["USD"])
print(f'{usage:36} {dim["beginRange"]:>12}〜{dim["endRange"]:<12} {usd:.10f} {dim["unit"]}')
出力には、REST APIのAPN1-ApiGatewayRequest、HTTP APIのAPN1-ApiGatewayHttpRequest、WebSocketのAPN1-ApiGatewayMessageとAPN1-ApiGatewayMinuteが並びます。単価は1リクエストあたりのドルで出るため、100万を掛けると表の値になります。
月額をリクエスト数から試算する|月500万件の比較と大容量アップロードの換算
月500万件と月5億件でREST APIとHTTP APIの月額を並べる計算
段階制は境界ごとに単価を掛けて足し合わせます。次の関数は東京の単価で月額を出します。
import math
# 東京リージョンの段階制単価(100万件あたりのドル・2026年10月13日公開版)
REST = [(333_000_000, 4.25), (1_000_000_000, 3.53), (20_000_000_000, 3.00), (math.inf, 1.91)]
HTTP = [(300_000_000, 1.29), (math.inf, 1.18)]
def monthly(requests, tiers):
total, lower = 0.0, 0
for upper, price in tiers:
n = min(requests, upper) - lower
if n <= 0:
break
total += n / 1_000_000 * price
lower = upper
return round(total, 2)
def http_billed(calls, payload_kb):
# HTTP APIはペイロード512KBごとに1件と数える(端数は安全側に切り上げ)
return calls * max(1, math.ceil(payload_kb / 512))
for n in (5_000_000, 500_000_000):
print(n, "REST", monthly(n, REST), "HTTP", monthly(n, HTTP))
print("4.5MBを月108万回", monthly(http_billed(1_080_000, 4.5 * 1024), HTTP))
実行結果を表にすると次のとおりです。
| 月間リクエスト数 | REST API | HTTP API |
|---|---|---|
| 500万 | 21.25ドル | 6.45ドル |
| 5億 | 2,004.76ドル | 623.00ドル |
5億件では、REST APIの最初の3億3,300万件が4.25ドル、残りの1億6,700万件が3.53ドルで計算されます。差額は月約1,380ドルで、年間では約1万6,600ドルです。従来の無料利用枠がある12か月の間は、どちらも100万件を引いてから計算します。
HTTP APIで4.5MBのアップロードが512KB単位で9件に数えられる仕組み
HTTP APIはペイロードの大きさでリクエスト数が増えます。料金ページの計算例では、1分間に25回、1回4.5MBのアップロードを受けるAPIを、4.5MBを512KBで割った9件として数え、月972万リクエストで9.72ドル(米国東部)としています。東京の単価に置き換えると約12.54ドルです。
呼び出しは月108万回でも、請求上は9倍です。端数の扱いは料金例から読み取れないため、上のコードでは切り上げています。大きなファイルはS3の署名付きURLへ直接アップロードさせれば、この9倍が消えます。
WebSocketチャット1,000人の接続時間とメッセージ数から月額を出す手順
社内チャットを想定し、1,000人が1日8時間、月22日接続するとします。接続時間は1,000×480分×22日で1,056万分、0.315ドルを掛けて約3.33ドルです。
メッセージは、1人が1分あたり平均2件を送受信するなら1,000×480×22×2で2,112万件、1.26ドルを掛けて約26.61ドルです。合計は月約29.94ドルで、ここにLambdaと接続IDを保存するDynamoDBの料金が加わります。Lambda側の内訳はAWS Lambdaの料金を東京リージョンの実額で計算する:付帯課金の内訳と単価を下げる手順で計算できます。
請求書でAPI Gatewayの外に積み上がる付帯課金|キャッシュ・転送・ログ・WAF
リクエスト料金の外で上乗せされやすい順に4つを確認します。
REST APIキャッシュ時間課金|0.5GB月約20ドル・237GB月3,000ドル超
REST APIのキャッシュは、ステージごとに専用のキャッシュインスタンスを作り、選んだ容量の時間単価で課金されます。リクエストが1件も無い時間帯も料金はかかります。月730時間で換算した東京の月額は次のとおりです。
| 容量 | 時間単価 | 月額の目安 |
|---|---|---|
| 0.5GB | 0.028ドル | 約20.44ドル |
| 1.6GB | 0.054ドル | 約39.42ドル |
| 6.1GB | 0.245ドル | 約178.85ドル |
| 13.5GB | 0.29ドル | 約211.70ドル |
| 237GB | 4.40ドル | 約3,212ドル |
6.1GBと13.5GBの差は時間0.045ドルしかなく、13.5GBへ上げても月額は2割増に収まります。見落としやすいのは、開発と本番の両方のステージでキャッシュを有効にしたままの放置で、0.5GBでも月約41ドルです。容量を変えるとキャッシュは消え、作り直しに最大4分かかるため、本番の変更は利用の少ない時間に行います。
インターネット向け転送0.114ドル/GBと全サービス合算の月100GB無料枠
料金ページによると、外部へのデータ転送はEC2のデータ転送料金で請求されます。東京からインターネットへの転送は、月10TBまで1GBあたり0.114ドルです。EC2のオンデマンド料金ページには、インターネットへの転送は全サービス・全リージョン合算で毎月100GBまで無料と書かれています。
月500万リクエスト・応答3KBなら転送量は約14.3GBで、無料枠を超えていれば約1.63ドルです。CloudFrontを前段に置く構成では転送の請求先がCloudFront側に移るため、CloudFrontの料金を実額で計算すると合わせて見積もります。プライベートAPIには転送料金がかからない代わりに、VPCエンドポイント(PrivateLink)の料金がかかります。
実行ログのINFOと詳細メトリクスでCloudWatchの請求が膨らむ条件
REST APIの実行ログをINFOにすると、すべてのリクエストの処理過程がAPI-Gateway-Execution-Logs_{rest-api-id}/{stage_name}というロググループへ書き込まれます。CloudWatchの料金は東京で取り込み1GBあたり0.76ドル、保存は1GB月あたり0.033ドルです。
仮に1リクエストあたり2KBのログが出ると、月500万リクエストで約9.5GB、取り込みだけで約7.25ドルです。REST APIのリクエスト料金の3分の1に当たります。全文を残すデータトレースは公式も本番での使用を勧めていません。本番はERRORにしてアクセスログで足りる項目だけを残し、保持期間を設定します。メソッド単位の詳細メトリクスも追加料金の対象です。ログレベルをERRORとINFOで切り替える手順はAPI Gatewayのログ設定:実行ログとアクセスログをCloudWatchに出す手順とX-Rayでの障害調査で扱っています。
AWS WAFのWeb ACL月5ドルとルール月1ドル、100万リクエスト0.60ドル
REST APIのステージにはAWS WAFのWeb ACLを関連付けられます。AWS WAFの料金は東京でWeb ACLが月5ドル、ルールが1本月1ドル、検査したリクエストが100万件あたり0.60ドルです。
Web ACL1つにルール5本、月500万リクエストなら、5ドル+5ドル+3.00ドルで月13ドルです。Bot Controlのような有料マネージドルールは1つにつき月10ドルの追加課金です。Price List APIには、WCUが2,000で100万件0.80ドル、2,500で1.00ドルという行もあり、ルールを積むほど検査単価が上がります。WAFのルール設計の考え方はWAFとは?仕組み・ファイアウォール/IPS・IDSとの違いと企業の選び方を解説で整理しています。REST APIのステージやCognitoユーザープールへWeb ACLを関連付ける手順とWCUの計算は、API GatewayにAWS WAFを関連付ける手順:Web ACLのルール設計・WCU計算とCognito保護で扱っています。
REST APIとHTTP APIの選び分けで料金を下げる判断|採用条件と見送る場面
単価の差を埋めるのは機能の差です。REST APIとHTTP APIの比較ページは、APIキー、クライアントごとのスロットリング、リクエスト検証、WAF、プライベートエンドポイントが要るならREST APIを選ぶよう案内しています。
APIキー・WAF・キャッシュが要らないならHTTP APIに寄せる判断基準
自社のSPAやモバイルアプリから呼ぶAPIで、認証をCognitoやAuth0のJWTで済ませるなら、HTTP APIで足ります。HTTP APIにはJWTオーソライザーがあり、REST APIのようにLambdaオーソライザーを書かなくても、トークンの検証をAPI Gatewayに任せられます。Cognitoでのトークン発行はCognitoで認証基盤を実装する手順:ユーザープール構築からJWT検証までにまとめました。
この条件の新規APIでREST APIを選ぶのは過剰です。月5億件なら年約1万6,600ドルを、使わない機能に払うことになります。
REST APIを選ぶべき条件とHTTP APIへの移行で失う機能の一覧
逆に、次のどれか1つでも要件にあるなら、単価が高くてもREST APIを選びます。
- 外部の取引先にAPIを公開し、APIキーと使用量プランで呼び出し回数を契約ごとに制限する
- AWS WAFでAPIの入口を守る、またはVPC内からだけ呼べるプライベートAPIにする
- キャッシュ、リクエスト検証、X-Rayのトレース、実行ログ、カナリアリリースを使う
- 開発者ポータルで外部向けのドキュメントを配る(ポータルは東京で月147ドル)
既存のREST APIを移すときは、この一覧の機能を使っていないことを先に確かめます。WAFだけが理由なら、前段のCloudFrontにWAFを付ける方法も選択肢です。APIの構成選定から既存システムとの連携まで含めた開発はAPI開発・システム連携でご相談いただけます。
CloudWatchでステージ別の月間リクエスト数を測り請求と突き合わせる
既存のAPIを移すかどうかは、実際のリクエスト数で判断します。REST APIのメトリクスは名前空間AWS/ApiGatewayのCountで、次元はApiNameとStageです。
# REST APIの1か月分のリクエスト数を日別に出し、合計する
aws cloudwatch get-metric-statistics --region ap-northeast-1 \
--namespace AWS/ApiGateway --metric-name Count \
--dimensions Name=ApiName,Value=orders-api Name=Stage,Value=prod \
--start-time 2026-09-01T00:00:00Z --end-time 2026-10-01T00:00:00Z \
--period 86400 --statistics SampleCount \
--query "sum(Datapoints[].SampleCount)"
得られた件数を前述のmonthly関数に渡せば、HTTP APIへ移した場合の月額との比較が可能です。HTTP APIのメトリクスでは、次元がApiIdとStageになります。AWS全体の費用の見積もり方はAWSの見積もりとは?料金計算ツールの使い方と費用が変わる要因を発注視点で解説で扱っています。
よくある質問
API Gatewayの料金について、見積もりの段階でよく出る疑問に公式ドキュメントの記載をもとに答えます。
認証に失敗したリクエストにもAPI Gatewayの料金はかかりますか?
WebSocket APIについては、API GatewayのFAQに、認証や認可に失敗したメッセージは課金の対象に数えないと明記されています。REST APIとHTTP APIについては、料金ページが「受け取ったAPI呼び出し」に課金すると書くだけで、認証失敗やスロットリングを除外する記載は見当たりません。見積もりでは、不正なアクセスも件数に含めて安全側に置きます。
API Gatewayを作っただけで料金はかかりますか?
料金ページの課金対象は呼び出し・メッセージ・接続時間とオプション機能で、APIを置いておくこと自体は含まれません。固定費が出るのは、キャッシュを有効にしたステージ、WAFのWeb ACL、開発者ポータルのように時間や月で課金される機能を付けたときです。
エッジ型とリージョン型のREST APIで料金は変わりますか?
リクエスト単価は同じです。料金ページの計算例でも、エッジ型(Edge-optimized)とリージョン型は1つの例として同じ式で計算され、合計18.79ドル(米国東部)と示されています。自前のCloudFrontを前段に置くならリージョン型を選び、そのCloudFrontの料金を別に見積もります。
HTTP APIとREST APIの料金差はどれくらいですか?
東京リージョンでは最初の段の単価がHTTP API1.29ドル、REST API4.25ドルで、REST APIはHTTP APIの約3.3倍です。月1,000万リクエストなら月約29.60ドルの差になります。ただしHTTP APIは512KBごとに1件と数えるため、大きなペイロードを受けるAPIでは差が縮みます。
API Gatewayの料金を予算内に抑える設定はありますか?
AWS Budgetsでサービス別の予算を作り、しきい値を超えたら通知させるのが基本です。REST APIなら使用量プランで1日あたりの上限を、ステージのスロットリングで毎秒の上限を設けられます。大量アクセスにはWAFのレートベースルールで入口を絞ります。
関連記事
- APIゲートウェイとは?役割・機能とリバースプロキシ/サービスメッシュとの違い・導入判断を解説:料金の前提になるAPIゲートウェイの役割と導入判断。
- AWS Lambdaの料金を東京リージョンの実額で計算する:付帯課金の内訳と単価を下げる手順:API Gatewayの裏で動くLambdaの料金。
- CloudFront×API Gateway×Lambdaの連携構成|設定手順と403の原因・直アクセスの遮断方法:CloudFrontを前段に置く構成の組み方。
- BFFとは?API Gatewayとの違い・採用判断とアンチパターンを実装視点で解説:API GatewayとBFFの役割分担。
- AWS サーバーレス ハンズオン|Lambda・DynamoDB・API GatewayでREST APIを作る手順【2026年版】:API Gatewayを実際に組み立てる手順。
- API Gatewayのタイムアウト:29秒の上限を引き上げる手順と504の切り分け・非同期化:統合タイムアウトの上限と、待ち時間が長い処理の逃がし方。