「サーバーレス構成にすれば、使った分だけの支払いになるのでサーバー費用はほぼゼロになります」。開発ベンダーからそう説明され、提案書のランニングコスト欄に「月額数千円〜」と書かれた見積もりを受け取ったとき、その数字をそのまま稟議に載せてよいものか、判断に迷った経験はないでしょうか。
従量課金は「使わなければ課金されない」という点で確かに合理的な仕組みです。しかし裏を返せば、使えば使うほど請求が伸びるということでもあります。しかも請求書に現れるのは実行料金だけではありません。ログの取り込み、外部との通信、データベースへの読み書き、監視の仕組み。これらは提案書の「月額」欄にはほとんど書かれないまま、稼働後に別の費目として静かに積み上がっていきます。
やっかいなのは、社内にインフラの専任者がいない場合、ベンダーの見積もりが妥当かどうかを検証する手段がないことです。提案書に書かれていない費目は、そもそも「書かれていない」ことにすら気づけません。そして稼働後に想定外の請求が届いたとき、説明責任を負うのは発注窓口となった担当者です。
この問題は、サーバーレスという技術そのものの欠陥ではなく、見積もりの範囲が狭いことに起因します。逆に言えば、請求される費目を漏れなく洗い出し、どの条件で膨らむのかを理解しておけば、上限額を含めて稟議に書ける状態まで持っていけます。
本記事では、サーバーレスの従量課金で見落とされやすい 7 つの隠れコストを、課金単位と膨らむ条件つきで整理します。あわせて従来型サーバーとコストが逆転する 3 つの分岐点、発注前に自分で試算する 4 ステップ、想定外請求を防ぐガードレール設計、そしてベンダー提案書をレビューするためのチェックリストまでを解説します。記事内の単価は 2026 年 9 月時点の東京リージョン(アジアパシフィック(東京))における公開情報に基づく参考値であり、実際の請求は構成・利用量・為替により変動します。
システム開発の費用を正しく理解するガイドブック――相場・見積チェックリスト・予算策定テンプレート付き

この資料でわかること
発注検討者がシステム開発の費用体系を正しく理解し、「この見積は適正か」「どのくらい予算を確保すれば良いか」を自分で判断できるようになること。
こんな方におすすめです
- システム開発の発注を初めて担当する方
- 複数社の見積もりを比較・評価したい方
- IT投資の社内稟議を通す根拠を固めたい方
入力いただいたメールアドレスにPDFをお送りします。
サーバーレスのコストは「実行料金」だけでは決まらない

サーバーレスの見積もりが実額とずれる最大の理由は、課金が単一のサービスで完結していないことにあります。関数を 1 回実行するだけでも、内部では複数のサービスが連動して動き、それぞれが別々の単位で課金されています。まずはこの構造を押さえておきましょう。
従量課金で請求される5層の課金レイヤー
サーバーレス構成の請求は、大きく次の 5 つのレイヤーに分けて考えると全体像がつかみやすくなります。
レイヤー | 課金の対象 | 代表的なサービス例(AWS の場合) |
|---|---|---|
1. 実行料金 | 関数の実行回数と、メモリ × 実行時間 | AWS Lambda |
2. 連携サービス料金 | 関数を呼び出す入口や、つながる先のサービス | API Gateway、EventBridge、SQS |
3. データ移動料金 | インターネットや他ネットワークとの通信 | NAT Gateway、データ転送(アウト) |
4. 保管料金 | ログ・ファイル・データベースの保存 | CloudWatch Logs、S3、DynamoDB |
5. 常時確保料金 | 使っていなくても確保している実行環境 | Provisioned Concurrency |
ベンダー提案書の「月額」欄に書かれているのは、多くの場合レイヤー 1 だけです。Lambda の実行料金は 100 万リクエストあたり 0.20 USD、コンピューティング時間は x86 アーキテクチャで 1 GB 秒あたり 0.0000166667 USD が基準単価として公開されており(AWS Lambda の料金、東京リージョン・2026年9月時点)、月 100 万リクエスト・1 回 200 ミリ秒・メモリ 512 MB 程度の小規模な業務システムであれば、確かに実行料金だけなら数百円規模に収まります。無料利用枠として月 100 万リクエストと 40 万 GB 秒が用意されている点も、この数字を小さく見せる要因です。
問題は、レイヤー 2 から 5 が請求書上ではまったく別の費目として現れることです。請求内訳を見ても「サーバーレス構成の費用」という項目は存在せず、複数のサービス名に分散して並びます。合算しない限り、この構成にいくらかかっているのかは見えません。
提案書の「月額数千円」が実額とずれる3つの理由
提示された月額が実額と乖離する典型的なパターンは、次の 3 つに整理できます。
1. 試算の前提となるリクエスト数が明示されていない
従量課金の見積もりは、必ず「月間何回実行されるか」という前提の上に成り立ちます。前提が書かれていない月額は、そもそも検証のしようがありません。前提が控えめに置かれていれば、実運用で 3 倍のアクセスがあれば実行料金も概ね 3 倍になります。
2. 無料利用枠が試算に含まれている
AWS をはじめとする主要クラウドには、アカウント単位の無料利用枠があります。無料枠は原則としてアカウント全体で共有されるため、同じアカウント上で他のシステムも動いていれば早期に消費されます。無料枠を織り込んだ試算は、本番稼働後の実額とずれやすい典型例です。
3. 開発・検証環境の費用が抜けている
本番環境のほかに、開発環境・検証環境が並行して稼働するのが通常です。特に後述する NAT Gateway のように「立てているだけで時間課金される」サービスは、環境の数だけ固定費が増えます。環境が 3 つあれば固定費も 3 倍になる、という単純な話が抜け落ちがちです。
見落としがちなサーバーレスの隠れコスト7項目

ここからが本題です。サーバーレス構成で請求対象になるものの、提案書には書かれにくい費目を 7 つ取り上げます。それぞれ「何に対して課金されるか」「どんな条件で膨らむか」「提案書での確認方法」の順に整理していきます。
ログの取り込み・保管料金
サーバーレスの隠れコストとして最も頻繁に問題になるのが、ログの費用です。関数が出力したログは自動的にログ管理サービスへ送られ、取り込み量(GB) と 保管量(GB × 月) の両方で課金されます。
CloudWatch Logs の取り込み料金は 1 GB あたり 0.76 USD、保管料金は 1 GB あたり月額 0.033 USD が基準単価です(Amazon CloudWatch の料金 でアジアパシフィック(東京)を選択、2026年9月時点)。取り込み単価が保管単価の 20 倍以上あることが重要なポイントで、「出す量」のコントロールが効きます。
膨らむ条件は明確です。デバッグ目的の詳細ログを本番でも出し続けている場合、リクエスト 1 件あたり数 KB のログでも、月 1,000 万リクエストなら数十 GB に達します。この規模になると、ログ費用が Lambda の実行料金を上回るケースが珍しくありません。加えて、ログの保持期間が「無期限」のまま設定されていると、保管量は年々積み上がり続けます。
提案書での確認方法は「ログの出力レベルと保持期間をどう設定する想定か」を聞くことです。本番環境のログレベル、保持期間(30 日・90 日など)、長期保存が必要な場合の安価なストレージへの退避方針が答えられれば、設計として考慮されていると判断できます。
API Gateway など呼び出し口の従量課金
Web システムの場合、関数を外部から呼び出すための入口(API Gateway)が必要になります。この入口も、リクエスト数に応じて課金されます。
同じ API Gateway でも、REST API と HTTP API では単価が大きく異なります。東京リージョンでは、HTTP API が 100 万リクエストあたり 1.29 USD、REST API が 4.25 USD という水準で、およそ 3 倍以上の差があります(Amazon API Gateway の料金 でアジアパシフィック(東京)を選択、2026年9月時点。いずれも最初の利用量帯の単価)。
ここで注目したいのは、Lambda の実行料金(100 万リクエストあたり 0.20 USD)よりも、入口の料金のほうが高いという事実です。API 経由で呼び出される構成では、リクエスト数が増えるほど「実行料金より入口の料金のほうが支配的になる」逆転が起きます。提案書の月額が Lambda 分しか含んでいなければ、実額は数倍に膨らみます。
確認すべきは「API Gateway は REST API と HTTP API のどちらを使う想定か、その理由は何か」です。REST API にしかない機能(API キー管理、リクエスト検証の一部など)を使う必要があるなら妥当ですが、単に慣れているからという理由であれば、コスト面から再検討の余地があります。
NAT Gateway・データ転送料金
サーバーレスなのに固定費が発生する、という点で意外性が大きいのがこの費目です。関数を VPC 内に配置し、そこから外部 API やインターネットへ通信する構成では、NAT Gateway という中継装置が必要になります。
NAT Gateway の課金は 2 軸です。東京リージョンでは、起動している時間に対して 1 時間あたり 0.062 USD、通過したデータ量に対して 1 GB あたり 0.062 USD が基準単価です(Amazon VPC の料金 でアジアパシフィック(東京)を選択、2026年9月時点)。時間課金だけでも 1 台あたり月額 45 USD 前後(0.062 USD × 約 730 時間)の固定費になります。「使った分だけ」を期待していた読者にとって、これは前提が崩れる金額です。しかも冗長化のために複数のアベイラビリティゾーンへ配置すれば台数分、開発・検証環境にも置けば環境数分だけ積み上がります。
さらに厄介なのは、請求書上での見つけにくさです。NAT Gateway のデータ処理料金は Cost Explorer 上で「EC2 - その他」という実態の分かりにくい費目にまとめて表示されるため、サーバーレス構成の費用として認識されないまま放置されやすい性質があります。公開されている分析事例でも、「EC2 - その他」の内訳を確認したところ大半が東京リージョンの NAT Gateway のデータ処理料金だったと報告されています(AWS NAT Gateway の通信分析とコスト最適化、DMM Developers Blog)。
確認すべきは「関数を VPC 内に置く必要があるか」「置く場合、NAT Gateway は何台構成か」「VPC エンドポイントで代替できる通信はないか」の 3 点です。VPC 内に配置する必然性がなければ、そもそも NAT Gateway 自体が不要になる場合もあります。
マネージドデータベース・ストレージのリクエスト課金
サーバーレス構成でよく組み合わされるマネージドデータベースやオブジェクトストレージにも、保存容量とは別に読み書き回数に対する課金が存在します。ここは従来型のサーバー構成に慣れているほど見落としやすい部分です。
たとえば DynamoDB のオンデマンドモードでは、東京リージョンで書き込みリクエスト 100 万件あたり 0.715 USD 程度が目安です(DynamoDB オンデマンド料金の改定、2024年11月改定・2026年9月時点)。1 回の画面表示で複数回の読み書きが発生する設計であれば、リクエスト数はユーザーの操作回数の何倍にもなります。
膨らむ条件は、アプリケーションの実装に強く依存します。一覧画面で全件を都度スキャンする実装、ループ内で 1 件ずつ読み書きする実装などは、同じ機能でもリクエスト数が桁違いになります。同じ要件でも、実装次第で費用が数倍変わるという点が、従来型サーバーとの決定的な違いです。
確認すべきは「主要な画面・処理あたりのデータベースアクセス回数を、試算にどう織り込んでいるか」です。回数の見積もりが提示できるベンダーは、設計段階でコストを意識していると判断できます。
コールドスタート対策の常時確保料金
サーバーレスには、一定時間呼び出しがないと次回の起動に時間がかかる「コールドスタート」という特性があります。応答速度が重要なシステムでは、これを避けるために実行環境をあらかじめ確保しておく機能(Provisioned Concurrency)を使う選択肢があります。
この機能の本質は、使っていなくても課金されるという点にあります。確保している時間に対して課金されるため、従量課金の前提そのものが変わります。東京リージョンの単価は 1 GB 秒あたり 0.0000053835 USD で(AWS Lambda の料金、2026年9月時点)、メモリ 1 GB の関数を 1 か月(約 730 時間 = 約 263 万秒)常時確保すると、同時実行数 1 あたり約 14 USD になります。同時実行数を 10 に設定すればその 10 倍で約 140 USD、本番と検証の 2 環境で確保すればさらに倍、という積み上がり方をします。加えて、この機能を有効にした関数は実行時間側の単価も専用の体系(1 GB 秒あたり 0.0000125615 USD)に切り替わります。
なお、この機能を有効にすると無料利用枠は適用されません。「コールドスタート対策が必要」という要件が提案書に含まれている場合は、この費目が試算に入っているかを必ず確認してください。
確認すべきは「コールドスタート対策は必要か、必要ならどの機能でどの程度確保するか」です。社内システムのように利用時間帯が限られる用途であれば、業務時間帯のみ確保するスケジュール制御でコストを抑えられる場合があります。
監視・可観測性まわりの費用
サーバーレスは、従来型サーバーのように「サーバーにログインして状況を見る」ことができません。そのため、正常に動いているかを把握するための監視の仕組みが実質的に必須になります。
具体的には、カスタムメトリクスの登録数、アラームの設定数、分散トレーシング(処理の流れを追跡する仕組み)のトレース記録数、そして外部の監視 SaaS を使う場合はその利用料が該当します。個々の単価は小さいものの、関数の数だけメトリクスとアラームが増えるため、関数が数十個規模になると無視できない金額になります。
膨らむ条件は、監視項目を関数単位で細かく設定した場合と、外部 SaaS をホスト単位ではなく実行数単位の課金プランで契約した場合です。
確認すべきは「監視・アラートはどのサービスで実現し、その費用は見積もりのどこに入っているか」です。監視費用の欄が存在しない提案書は、運用開始後に別途費用が発生する可能性が高いと考えてください。
暴走・無限ループによる想定外請求
最後は、確率は低いものの影響が最も大きい費目です。設定ミスによって関数が意図せず連鎖的に呼び出され続ける「無限ループ」が発生すると、請求は青天井に近い形で伸びます。
公開されている事例では、ファイル変換処理の出力先が同じトリガー元になっていたために無限ループが発生し、1 分あたり 160 万回以上の実行が続いた結果、5 日間で約 300 万円が課金されています(AWS Lambdaで300万円以上課金されてしまった怖い話、ラック)。原因はテンプレートを十分に理解しないまま流用したことであり、悪意ある攻撃ではなく通常の開発作業の中で起きた事故です。
現在は、クラウド側にも一定の保護機構が用意されています。AWS Lambda には再帰ループ検出機能が標準で備わっており、同一のリクエストチェーン内で関数が 16 回程度呼び出されると、それ以降の呼び出しを自動的に停止して通知します。この機能は追加費用なしで既定で有効です(AWS Lambda 開発者ガイド)。ただし検出対象は SQS・S3・SNS・Lambda 関数間の呼び出しに限られており、すべてのループを検出できるわけではありません。この点は後述するガードレール設計で補う必要があります。
確認すべきは「イベント駆動の連鎖でループが起きない設計になっているか」「起きた場合に何が止めるのか」です。
隠れコスト7項目の一覧表
提案書と突き合わせる際は、以下の表をそのままチェックリストとして使ってください。
# | 費目 | 課金単位 | 膨らむ条件 | ベンダーへの確認質問 |
|---|---|---|---|---|
1 | ログの取り込み・保管 | 取り込み GB + 保管 GB×月 | 詳細ログの本番出力、保持期間が無期限 | ログレベルと保持期間の設定方針は? |
2 | 呼び出し口(API Gateway) | リクエスト件数 | リクエスト増、REST API の採用 | REST API と HTTP API のどちらを使う?その理由は? |
3 | NAT Gateway・データ転送 | 起動時間 + 通過データ量 | VPC 配置、環境数・冗長化台数の増加 | 関数の VPC 配置は必要?NAT は何台構成? |
4 | データベース・ストレージ | 読み書きリクエスト回数 | 全件スキャン、ループ内での逐次アクセス | 画面・処理あたりのアクセス回数の想定は? |
5 | 常時確保(Provisioned Concurrency) | 確保している時間 × メモリ | 常時有効化、確保数の増加 | コールドスタート対策は必要?確保数と時間帯は? |
6 | 監視・可観測性 | メトリクス数・アラーム数・トレース数 | 関数数の増加、外部 SaaS の実行数課金 | 監視はどのサービスで実現し、費用はどこに計上? |
7 | 暴走・無限ループ | 実行回数(青天井) | イベント連鎖の設計ミス、リトライ設定 | ループを止める仕組みは何を入れる? |
サーバーレスのコストが従来型サーバーより高くなる分岐点
ここまでの費目を押さえたうえで、次に検討すべきは「そもそも自社の用途にサーバーレスが向いているのか」という上位の問いです。サーバーレスが安くなるのは特定の条件下だけであり、条件を外れると従来型のサーバーやコンテナのほうが安くなります。
コストの逆転が起きる3条件
サーバーレスと従来型サーバー(仮想サーバー・コンテナ)のコストが逆転する条件は、次の 3 つに集約できます。
条件1: 稼働率が高い(常時稼働に近い)
サーバーレスの経済合理性は「使っていない時間は払わない」ことにあります。逆に言えば、24 時間ほぼ絶え間なくリクエストが来るシステムでは、この利点が消えます。月間を通じて一定の負荷がかかり続ける用途では、固定料金の仮想サーバーのほうが単価で有利になる領域に入ります。目安として、想定される処理が 1 日の大半の時間帯を占めるようであれば、逆転を疑う段階です。
条件2: 1 回の処理時間が長い
サーバーレスの計算料金は「メモリ × 実行時間」で決まります。動画変換や大量データの集計のように 1 回あたり数分かかる処理では、メモリを多く割り当てるほど単価も比例して上がります。加えて、実行時間には上限(AWS Lambda では 15 分)があるため、長時間バッチには構造的に向きません。
条件3: リクエスト数が一定量を超える
先ほど整理したとおり、リクエスト単位の課金は実行料金だけでなく入口やデータベースにも発生します。リクエスト数が増えるほど、これらが線形に積み上がります。一方、仮想サーバーは 1 台の処理能力の範囲内であればリクエストが増えても料金は変わりません。この性質の違いが、ある閾値を境に逆転を生みます。
自社のワークロードがどちらに当てはまるかの見分け方
判断に迷った場合は、次の 3 つの質問に答えてみてください。
質問 | サーバーレスが向く | 従来型サーバーが向く |
|---|---|---|
いつアクセスされるか | 特定の時間帯に偏る、日中のみ、月末だけ | 24 時間ほぼ一定 |
1 回の処理はどのくらいか | 数百ミリ秒〜数秒 | 数分以上、常駐処理が必要 |
アクセス量の変動幅は | 平常時と繁忙時の差が大きい | ほぼ一定で予測できる |
社内向けの業務システム、月次のバッチ処理、問い合わせフォームのような散発的な処理は、サーバーレスの得意領域です。一方、常時アクセスがある BtoC サービスや、長時間の常駐処理を伴うシステムでは、コンテナや仮想サーバーの採用も含めて比較する価値があります。方式そのものの比較検討についてはサーバーレスとコンテナの比較で整理していますので、あわせてご覧ください。
また、既存のオンプレミス環境からの移行を検討している場合は、サーバーレス単体の比較だけでなく、オンプレミスとクラウドのTCO比較の枠組みで 3〜5 年のトータルコストを見たほうが、稟議での説得力が高まります。
発注前にサーバーレスのコストを見積もる4ステップ

ベンダーの見積もりを検証するには、粗くても自分で試算した数字を持っておくことが最も有効です。ここでは、インフラの専門知識がなくても実行できる 4 ステップを示します。
業務量から実行回数・データ量を逆算する
ステップ1: 業務側の数字から利用量を割り出す
最初にやるべきは技術的な計算ではなく、業務量の棚卸しです。「1 日に何人が使うか」「1 人あたり何回操作するか」「1 回の操作で何画面遷移するか」という、業務側で答えられる数字から始めます。
たとえば、利用者 200 名、1 人 1 日 10 回の操作、1 回の操作で 3 回の API 呼び出しが発生する社内システムであれば、月間の API 呼び出しは 200 × 10 × 3 × 20 営業日 = 12 万回となります。この数字が、以降のすべての試算の土台になります。この数字はベンダーではなく発注側が用意すべき情報である点が重要です。
ステップ2: 費目ごとに単価を当てて積み上げる
割り出した利用量に対し、前掲の 7 項目それぞれの単価を掛けて積み上げます。この段階で「単価が分からない費目」が出てきたら、それがベンダーへの質問事項になります。特に NAT Gateway のような時間課金の固定費は、利用量に関係なく計上する必要があります。
通常時・繁忙時・異常時の3シナリオで上限を出す
ステップ3: 3 つのシナリオで幅を持たせる
単一の数字ではなく、次の 3 シナリオで試算すると、稟議で問われる「最大でいくらか」に答えられるようになります。
シナリオ | 前提の置き方 | 稟議での使い道 |
|---|---|---|
通常時 | ステップ1で割り出した想定利用量 | 予算計上する基準額 |
繁忙時 | 通常時の 3 倍程度の利用量 | 月ごとの変動幅の説明 |
異常時 | ガードレール(同時実行数上限など)が作動する上限値 | 「最悪でもこの金額で止まる」という説明 |
異常時シナリオは、単なる悲観的な想定ではなく、後述するガードレール設定によって物理的に上限が決まる金額として算出する点が肝心です。上限が設計で決まっていれば、「青天井ではありません」と説明できます。
ステップ4: 公式の料金計算ツールで裏取りする
積み上げた数字は、クラウド事業者が公式に提供している料金計算ツール(AWS の場合は AWS Pricing Calculator)で検算します。サービスごとに利用量を入力すると月額の概算が出るため、自分の計算との差異を確認できます。ベンダーにも「同じ前提で計算ツールの出力を提出してほしい」と依頼すれば、前提条件の齟齬をその場で発見できます。
各ステップで発注側とベンダーの分担を整理すると、次のようになります。
ステップ | 自社で用意する情報 | ベンダーに出してもらう情報 |
|---|---|---|
1. 利用量の逆算 | 利用者数・操作回数・データ量・利用時間帯 | 1 操作あたりの API 呼び出し回数・DB アクセス回数 |
2. 単価の積み上げ | — | 使用するサービス一覧と各単価 |
3. 3 シナリオ試算 | 繁忙期の業務量(決算期・キャンペーン等) | ガードレール設定値と、それによる上限額 |
4. 計算ツールで検算 | — | 計算ツールの出力(前提条件つき) |
想定外請求を防ぐガードレールの設計
試算ができたら、次は「試算を超えたときに何が止めるのか」を決めます。ここで重要なのは、これらの仕組みが実装後に後から入れるものではなく、要件定義に含めるべき仕様だという点です。発注時に明記しなければ、見積もりにも作業にも含まれません。
予算超過を検知する仕組み
予算アラートの設定
クラウド事業者は、月額の予算しきい値を設定して超過見込み時に通知を受け取る機能を標準で提供しています(AWS の場合は AWS Budgets)。設定自体は難しくありませんが、しきい値の決め方には考え方が必要です。
実務的には、次の 3 段階で設定すると機能します。
しきい値 | 金額の目安 | 通知先 | 想定するアクション |
|---|---|---|---|
第1段階 | 通常時試算の 80% | 開発担当・情シス | 利用状況の確認 |
第2段階 | 通常時試算の 120% | 情シス・上長 | 原因調査とベンダーへの連絡 |
第3段階 | 繁忙時試算の 150% | 情シス・上長・ベンダー | 緊急対応(機能停止判断を含む) |
注意点として、予算アラートは通知するだけで課金を止めません。止めるのは次に述べる設定の役割です。
異常な実行回数を検知するアラーム
金額ベースの通知は、クラウド側の集計タイミングの都合で数時間の遅れが生じることがあります。無限ループのように短時間で膨らむケースに備えるには、実行回数や同時実行数のメトリクスに対して直接アラームを設定するほうが早く気づけます。「1 時間あたりの実行回数が想定の 10 倍を超えたら通知」といった条件が実用的です。
課金の上限を物理的に抑える設定
通知だけでは事故は止まりません。以下の設定は、課金額に物理的な天井を作る役割を持ちます。
設定項目 | 何を抑えるか | 決め方の目安 |
|---|---|---|
予約済み同時実行数(reserved concurrency) | 同時に動く関数の数の上限 | 繁忙時のピーク想定に安全率を掛けた値。緊急時は 0 に設定して即時停止も可能 |
タイムアウト値 | 1 回の実行時間の上限 | 正常時の実行時間の 3〜5 倍程度。既定値の 15 分のまま放置しない |
リトライ回数 | 失敗時の再実行による重複課金 | 既定のまま使わず、業務要件に応じて明示的に設定 |
ログ保持期間 | 保管料金の累積 | 30〜90 日を基本とし、長期保存が必要なら安価なストレージへ退避 |
再帰ループ検出 | 連鎖呼び出しの暴走 | 既定で有効だが検出対象が限られるため、設計側でも連鎖を断つ |
このうち、予約済み同時実行数はコスト管理の観点で特に重要です。同時実行数の上限を設定しておけば、どれだけリクエストが殺到しても単位時間あたりの処理量に天井ができるため、異常時シナリオの上限額を計算可能な数字にできます。緊急時に値を 0 にすれば、その関数を即座に停止させる非常ブレーキとしても機能します。
なお、これらは発注前・稼働開始前の設計に関する話です。稼働後は請求内訳を定期的に確認し、想定と実額の差分を追跡する運用が別途必要になります。継続的な可視化と最適化の進め方についてはクラウドコスト管理で解説しています。
ベンダー提案書で確認すべきコスト項目チェックリスト

最後に、提案書レビューの場でそのまま使えるチェックリストを示します。回答の良し悪しを判断する基準も併記しますので、打ち合わせの手元資料としてご活用ください。
見積もりの前提条件を確認する質問
# | 質問 | 良い回答の例 | 注意が必要な回答の例 |
|---|---|---|---|
1 | 月額試算に含まれている費目をすべて挙げてください | サービス名と費目が一覧で提示される | 「Lambda の実行料金です」のみ |
2 | 試算の前提となる月間リクエスト数は何件ですか | 具体的な件数と、その根拠(想定利用者数等)が示される | 「一般的な規模を想定しています」 |
3 | 無料利用枠を試算に含めていますか | 含めた場合・含めない場合の両方が示される | 前提が明示されない |
4 | 開発・検証環境の費用は含まれていますか | 環境ごとの内訳が分かれている | 本番のみの金額しか出てこない |
5 | ログの出力レベルと保持期間の設定方針は | 本番のログレベルと保持日数が明記される | 「標準設定です」 |
6 | 関数を VPC 内に配置しますか。NAT Gateway は何台ですか | 必要性の判断根拠と台数が示される | 質問の意図が伝わらない |
7 | コールドスタート対策は必要ですか。費用は含まれていますか | 必要性の判断と、必要な場合の月額が示される | 「性能は問題ありません」のみ |
8 | 監視・アラートの費用はどこに計上されていますか | 使用サービスと月額が示される | 見積もりに項目がない |
9 | 想定を超えた場合、月額はどこまで伸びますか | 上限設定にもとづく最大額が示される | 「使った分だけなので分かりません」 |
10 | 同じ前提で料金計算ツールの出力を提出できますか | 出力を添付して提出される | 提出を渋る |
質問 9 と 10 は、その提案の精度を測るうえで特に有効です。上限額を答えられるベンダーは、先ほど整理したガードレール設定を設計に織り込んでいる可能性が高く、料金計算ツールの出力を提出できるベンダーは、前提条件を数字で管理していると判断できます。
超過時の責任分界を契約で決めておく
見積もりの精度と同じくらい重要なのが、想定を超えたときの取り決めです。これが曖昧なまま契約すると、稼働後に「言った・言わない」の議論になり、結果として発注側が費用を負担する展開になりがちです。
契約や仕様書で明文化しておきたい項目は次のとおりです。
- 試算の前提条件を文書に残す: 月間リクエスト数・利用者数・データ量など、見積もりの根拠となる数値を提案書または契約書に記載する
- 前提を超えた場合の扱いを定める: 業務量が前提を超えたことによる増加は発注側の負担、実装上の不備(無限ループ・非効率な処理)による増加はベンダー側の責任、という切り分けを明記する
- ガードレール設定を成果物に含める: 予算アラート、同時実行数上限、ログ保持期間、タイムアウト値の設定を検収項目に入れる
- 稼働後の見直しタイミングを決める: 稼働 1 か月後・3 か月後に実額と試算の差分をレビューする場を、契約時点で設定しておく
特に 4 つ目は見落とされがちですが、従量課金のシステムは動かしてみないと正確な費用が分からないという性質を持ちます。「稼働後に見直す前提」を最初から組み込んでおくことは、発注側にとってもベンダーにとっても合理的です。
まとめ|サーバーレスの隠れコストは「費目の網羅」と「上限設計」で管理できる
サーバーレスのコストが読めなくなる原因は、技術そのものではなく、見積もりの範囲が実行料金に限定されていることにあります。本記事で整理した内容を振り返ります。
- 課金は 5 層構造: 実行料金・連携サービス・データ移動・保管・常時確保。提案書に書かれているのは通常 1 層目のみ
- 見落としやすい 7 費目: ログの取り込み保管、呼び出し口のリクエスト課金、NAT Gateway とデータ転送、データベースの読み書き課金、常時確保料金、監視費用、暴走による想定外請求
- 逆転が起きる 3 条件: 稼働率が高い、1 回の処理時間が長い、リクエスト数が一定量を超える。いずれかに該当するなら従来型サーバーとの比較が必要
- 試算は 4 ステップ: 業務量から利用量を逆算し、費目ごとに積み上げ、通常時・繁忙時・異常時の 3 シナリオで幅を出し、公式の料金計算ツールで裏取りする
- 上限は設計で決まる: 予算アラートは通知するだけ。同時実行数上限・タイムアウト・ログ保持期間といった設定が、実際の天井を作る
この 5 点を押さえれば、「月額数千円〜」という一行だけの見積もりに対して、費目単位で質問を返し、3 シナリオの金額を稟議に書き、上限が設計で担保されていることを説明できる状態になります。
次のアクションとして、手元の提案書を「隠れコスト7項目の一覧表」と突き合わせてみてください。表に載っている費目のうち、提案書に記載がないものがそのまま確認質問のリストになります。そのうえで、前提となるリクエスト数と上限設定値をベンダーに提示してもらえば、稟議に必要な数字は揃います。
システム開発全体の費用構造や見積もりの読み解き方を体系的に整理したい方は、システム開発の費用を正しく理解するガイドブックもあわせてご覧ください。ランニングコストを含めた予算計画の考え方をまとめています。
クラウド構成のコスト設計や、受け取った提案書の妥当性についてご相談されたい場合は、お問い合わせフォームからご連絡ください。要件の整理段階からご相談いただけます。
システム開発の費用を正しく理解するガイドブック――相場・見積チェックリスト・予算策定テンプレート付き

この資料でわかること
発注検討者がシステム開発の費用体系を正しく理解し、「この見積は適正か」「どのくらい予算を確保すれば良いか」を自分で判断できるようになること。
こんな方におすすめです
- システム開発の発注を初めて担当する方
- 複数社の見積もりを比較・評価したい方
- IT投資の社内稟議を通す根拠を固めたい方
入力いただいたメールアドレスにPDFをお送りします。
よくある質問
- サーバーレスと従来型サーバー、結局どちらが安いのですか?
稼働率が高い・1回の処理時間が長い・リクエスト数が一定量を超える、のいずれかに該当するなら従来型サーバーが有利です。利用が散発的でアクセス変動が大きい業務システムであれば、サーバーレスの従量課金が有利になります。
- ベンダーが月額試算の前提(リクエスト数など)を明示してくれない場合、どう対応すればよいですか?
まず月間リクエスト数とその根拠を具体的に示すよう求めてください。それでも曖昧な回答しか得られない場合は、AWS Pricing Calculatorなど公式の料金計算ツールの出力提出を依頼し、前提条件を数字で確認することをおすすめします。
- 無限ループなどによる想定外請求は、事前に防ぐことができますか?
完全には防げませんが、予約済み同時実行数の上限とタイムアウト値を設定すれば、課金額に物理的な天井を作れます。目安は同時実行数が繁忙時のピーク想定に安全率を掛けた値、タイムアウト値が正常時の実行時間の3〜5倍程度です。この設定は稼働後ではなく、発注時の要件定義に盛り込んでおくべき仕様です。
- 小規模な社内システムでも、隠れコストは気にする必要がありますか?
はい、むしろ小規模ほど注意が必要です。ログの取り込み・保管やNAT Gatewayのような固定費は利用規模に関係なく発生するため、リクエスト数が少ないシステムほど固定費が実行料金を上回りやすくなります。
- 想定を超えた請求が発生した場合、費用は発注側とベンダーのどちらが負担すべきですか?
業務量が事前の前提を超えたことによる増加分は発注側の負担、無限ループなど実装上の不備による増加分はベンダー側の責任とするのが一般的です。この切り分けに加え、稼働1か月後・3か月後に実額と試算の差分をレビューする場も契約時点で設定しておくことが重要です。



