LASSIC Media らしくメディア
Amazon API Gatewayのコストを最適化する外注の進め方
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- API Gatewayの料金はAPIコール数・データ転送・キャッシュの3要素で構成され、REST APIとHTTP APIで単価が異なります
- HTTP API移行・キャッシュ設定・スロットリングの組み合わせでコスト削減が期待できますが、機能要件と使用パターンの事前確認が欠かせません
- 内製対応にはAWS料金設計・コスト分析・セキュリティの複合知識が必要で、外注を活用することでリスクを抑えながら最適化を進められます
目次
Amazon API Gatewayのコストが膨らむ原因
Amazon API Gateway(アマゾン API ゲートウェイ)とは、AWSが提供するフルマネージド型のAPIマネジメントサービスです。バックエンドとクライアントをつなぐ「玄関口」を担い、認証・スロットリング・ログ収集をまとめて引き受けます。
コストが想定より大きくなるケースでは、料金の構成要素が十分に把握されていないことが出発点になります。API GatewayのREST APIはAPIコール数に応じて課金される従量課金モデルです*1。コールが増えれば増えるほど費用は積み上がります。
APIコール数・データ転送・キャッシュ — 3つの課金要素
API Gatewayの費用はAWS公式料金ページに示された3つの要素から構成されます*1。第1はAPIコール数です。REST APIではリージョナル・エッジ最適化エンドポイントとも100万コールあたり3.50ドルが基本単価となります。
第2はデータ転送量です。インターネットへの送信(アウトバウンド)に1GBあたり0.09ドルがかかります。バックエンドからのレスポンスが大きいAPIでは転送料が積み上がりやすくなります。第3はキャッシュです。REST APIのみ対応しており、使用時間(時間単位)で課金されます。1.6GBサイズで1時間あたり0.038ドルが一例として示されています*1。
無料利用枠として、REST APIとHTTP APIはそれぞれ月間100万コールが12ヶ月間無料で提供されます*1。ただし、キャッシュは無料利用枠の対象外です。
REST APIとHTTP APIで料金が変わる理由
AWS公式ドキュメントでは、HTTP APIは「最小限の機能を持つ低価格設計」と位置づけられています*2。REST APIの100万コールあたり3.50ドルに対し、HTTP APIは最初の300万コールまで1.00ドル、それ以降は0.90ドルと大幅に低い単価です*1。
この単価差は機能の違いによるものです。HTTP APIではAPIキー管理・クライアント別スロットリング・AWS WAF統合・レスポンスキャッシュ・リクエストボディ変換が利用できません*2。機能要件によってはHTTP APIへの移行が費用削減の有力な選択肢になります。
REST API → HTTP API移行でコストを削減できるケース
HTTP APIへの移行は、機能要件が合致すれば費用削減の直接的な手段になります。移行前には「使っていない機能があるかどうか」と「HTTP APIで代替できる機能かどうか」を丁寧に確認することが大切です。
HTTP APIが低コストで使える条件と適用できるケース
AWS公式ドキュメントでは「APIキーによるクライアント別レート制限・AWS WAF統合・リクエスト検証・プライベートAPIエンドポイントが不要な場合はHTTP APIを選ぶ」とされています*2。社内システム向けの軽量なAPIや、認証にJWTオーソライザーを使うAPIではHTTP APIが機能的に十分なケースがあります。
HTTP APIはLambda統合・IAM認証・Amazon Cognito・カスタムドメイン・CloudWatchメトリクスに対応しています*2。既存のREST APIと同等の機能を利用しているか、機能一覧を照合してから移行可否を判断します。
WAF統合・APIキー管理が必要な場合はREST APIを維持
外部公開APIでWAF(Webアプリケーションファイアウォール)によるリクエストフィルタリングが必要な場合、または複数のパートナー企業にAPIキーを発行してクライアントごとにレート制限を設ける場合は、REST APIを維持する必要があります*2。
キャッシュ機能もREST APIにしかありません。レスポンスのキャッシュ効果が見込めるAPIをHTTP APIへ移行すると、キャッシュが使えなくなる分だけバックエンドへのリクエストが増え、Lambda(AWS Lambdaのサーバーレスコンピューティングサービス)など連携先のコストが増加する可能性もあります。
不要・重複コールとキャッシュ設定でコール数を減らす
コスト削減で効果が出やすいのは、コール数そのものを減らすアプローチです。同じパラメータで繰り返されるリクエストにキャッシュで対応すれば、バックエンドへの転送コストとAPI Gatewayのコール数を同時に抑えられます。
CloudWatch CacheHitCount / CacheMissCountでキャッシュ効果を検証
AWS公式ドキュメントでは、CloudWatchの「CacheHitCount」と「CacheMissCount」メトリクスを用いてキャッシュの効果を監視することが推奨されています*3。CacheHitCountが多ければキャッシュが有効に機能しており、CacheMissCountが大部分を占める場合はキャッシュキーの設計やTTL(Time to Live)の見直しが必要です。
REST APIのキャッシュはステージ単位で有効化し、GETメソッドのみがデフォルトでキャッシュ対象となります*3。クエリ文字列やカスタムヘッダーをキャッシュキーに追加することで、パラメータ別のレスポンスをそれぞれキャッシュできます。デフォルトのTTLは300秒(5分)で、設定できる上限は3600秒(1時間)です*3。
キャッシュは時間課金 — 使用パターンを確認してから有効化
キャッシュは有効にした時点から時間単位で課金が始まります*3。リクエストが少ない夜間・休日も費用は発生し続けます。ヒット率が低いAPIにキャッシュを設定すると、削減効果よりキャッシュ費用の方が大きくなる可能性があります。
AWS公式ドキュメントでは、10分間の負荷テストを実施して適切なキャッシュサイズを確認することが推奨されています*3。本番と同等のトラフィックパターン(ランプアップ・定常・スパイク)を再現し、レイテンシ・4xx/5xxエラー・ヒット率を計測してからサイズを決定します。
ペイロードの圧縮(gzip/deflate)も有効な手段の一つです。レスポンスを圧縮してデータ転送量を抑えることで、データ転送コストの削減が期待できます。
使用量プランとスロットリングで悪意リクエストのコスト増を防ぐ
API Gatewayのコストは、悪意のある大量リクエスト(DDoS的なリクエスト増)によって予期せず膨らむことがあります。スロットリングと使用量プランを組み合わせることで、不正なリクエストによるコスト増のリスクを抑えられます。
APIキー+使用量プランによるクライアント別レート制御
REST APIでは使用量プランを設定し、APIキーごとにリクエストレートとバーストを制限できます*4。1秒あたりのリクエスト数(RPS)と同時リクエスト数(バースト)の上限を指定することで、特定のクライアントが想定外のコール数を送り続けることを防ぎます。
APIキーを発行して各クライアントに配布し、使用量プランにひもづけることで、クライアントごとのスロットリングが有効になります。上限を超えたリクエストには「429 Too Many Requests」が返り、バックエンドへ到達しません*4。
AWS WAF+スロットリングで不正リクエストを遮断
REST APIはAWS WAF(Webアプリケーションファイアウォール)との統合に対応しています*2。IPアドレスやリクエストパターンに基づいたルールを設定し、悪意のあるリクエストをAPI Gatewayの手前で遮断することでコールをカウントさせない構成が可能です。
スロットリングにはアカウントレベル・ステージレベル・メソッドレベルの3段階があります*4。コストへの影響が大きいエンドポイントには個別にメソッドレベルのスロットリングを設定することで、特定APIへの集中を抑えられます。
| 最適化手段 | 対象APIタイプ | 主な効果 | 注意点 |
|---|---|---|---|
| HTTP APIへの移行 | REST API → HTTP API | コール単価を約70%削減できる場合があります | WAF統合・APIキー・キャッシュが不要な場合に限ります |
| レスポンスキャッシュ | REST APIのみ | 同一パラメータのコール数を削減できます | 時間単位課金。ヒット率が低いと費用対効果が出ません |
| 使用量プラン+APIキー | REST APIのみ | クライアント別レート制限で不正コール増を防げます | APIキーの発行・管理の運用コストが発生します |
| AWS WAF統合 | REST APIのみ | 悪意リクエストを手前で遮断できます | WAF自体の利用料金(WebACL・ルール・リクエスト単位)が別途かかります |
| ペイロード圧縮 | REST API・HTTP API共通 | データ転送コストの削減が期待できます | クライアントがgzip/deflateに対応している必要があります |
CloudWatch・Cost Explorer・Budgetsでコストを可視化する
コスト削減を継続するには、現状の費用を正確に把握することが前提になります。AWSは複数の監視ツールを提供しており、API Gatewayの費用を項目別に追跡できます。
ステージ別・APIキー別にコストを把握する方法
CloudWatchにはAPI Gatewayの呼び出し数・レイテンシ・エラー率・キャッシュヒット数などのメトリクスが蓄積されます*2。ステージ別・APIキー別のメトリクスを確認することで、費用の主因となっているエンドポイントを特定できます。
AWS Cost Explorerでは、サービス別・タグ別にコストをフィルタリングして確認できます。API GatewayのリソースにAWSタグを付与しておくと、プロジェクトやサービス単位での費用集計が容易になります。アクセスログをAmazon CloudWatch Logsに出力することで、エンドポイントごとの呼び出し状況をより詳細に分析できます。
Budgetsアラートで予期せぬ急増を検知
AWS Budgetsを設定すると、API Gatewayの月間費用が設定した閾値に達した時点でメール通知やSNS通知を受け取れます。予算の80%に達した時点でアラートを設定することで、月末の請求額が想定を超える前に対処できます。
Cost Anomaly Detection(コスト異常検知)を合わせて利用すると、例えばAPIへのDDoS的なアクセスによるコール数の急増を機械学習ベースで検出し、アラートを受け取れます。通常のトラフィックパターンからの逸脱を自動検知するため、設定後の運用負担を抑えられます。
API Gatewayコスト最適化を外注する判断基準と進め方
API Gatewayのコスト最適化は、料金設計の理解・コスト分析・セキュリティ対策・アーキテクチャ変更が重なる横断的な作業です。内製で対応しようとすると、多岐にわたる専門知識と相応の工数が必要になります。
内製で対応するのに必要なスキルと工数の目安
内製でAPI Gatewayのコスト最適化を実施するには、以下の知識領域をカバーできる担当者が必要です。
- AWS料金体系の詳細理解(REST API・HTTP API・WAF・データ転送それぞれの単価と無料枠)
- CloudWatch・Cost Explorerによるコスト分析とボトルネック特定
- HTTP API移行可否の判断基準と移行作業(認証・スロットリング・キャッシュの代替設計)
- 使用量プラン・APIキー・スロットリング設定の設計と運用
- AWS WAFのルール設計とモニタリング
これらを1人の担当者がカバーすることは難しく、現状分析・移行設計・実装・テスト・監視設定を一連で進めると、エンジニア2〜3名で数週間から数か月の工数が見込まれます(事業者規模・API数・変更範囲により異なります)。
内製対応で見落としが生じた場合、REST APIをHTTP APIへ誤って移行してWAF保護が失われたり、キャッシュキーの設計ミスで個人情報が別ユーザーに返されたりするリスクもあります。設定ミスが本番トラフィックに直結する点は内製対応の難しさの一つです。
委託先選定の3つのポイント
外注でAPI Gatewayコスト最適化を進める場合、委託先を評価する際に確認しておくべき観点が3つあります。
第1は「AWSのAPI Gateway・セキュリティ・コスト管理の実務経験」です。AWSパートナーネットワークへの登録有無やAWS認定資格の保有状況は、スキル水準の目安になります。特定の業種・システム規模での実務経験も評価ポイントです。
第2は「現状分析からロードマップ提案まで一貫して担える体制」です。費用の現状分析・最適化案の優先順位づけ・実装・効果測定を一気通貫でカバーできるかを確認します。分析だけ、または実装だけに対応する形では、全体最適が難しくなります。
第3は「運用・監視まで継続的に伴走できるか」です。API Gatewayのコストはシステムの使われ方・機能追加・トラフィックの変化に応じて変動します。初回の最適化後も継続的なモニタリングと対応が必要になるため、長期的な協力関係を結べる事業者を選ぶことが大切です。
外注費用は依頼範囲・期間・事業者によって幅があります。市場参考値であり一次資料ではありませんが、スポットの診断・提案から継続的な運用支援まで、スコープによって費用規模は異なります。複数社から見積もりを取り、提案内容と費用を比較したうえで判断することが大切です。
まとめ:API Gatewayコスト最適化 3つの判断軸
本稿では、Amazon API Gatewayのコスト最適化に向けて、料金体系の理解からHTTP API移行・キャッシュ・スロットリング・監視・外注判断まで整理しました。要点を3つに集約します。
第1に、コスト最適化の出発点は「どの要素が費用の主因になっているか」を把握することです。APIコール数・データ転送・キャッシュ費用をCloudWatchとCost Explorerで可視化してから、対策の優先順位を決めます。
第2に、機能要件を確認したうえでHTTP API移行・キャッシュ設定・スロットリングの3つを組み合わせることで、削減の余地が生まれます。ただし、キャッシュの時間課金やHTTP APIの機能制限など、対策ごとのトレードオフを理解して適用することが重要です。
第3に、内製対応には料金設計・コスト分析・セキュリティの複合知識と相応の工数が必要です。設定ミスが本番環境のコスト増やセキュリティリスクに直結するため、専門パートナーへの外注によってリスクを抑えながら最適化を進める選択肢も有効です。
よくある質問
Amazon API GatewayのREST APIとHTTP APIはどちらを選ぶべきですか?
機能要件によって異なります。APIキー管理・クライアント別スロットリング・AWS WAF統合・レスポンスキャッシュ・リクエスト検証が必要な場合はREST APIが適しています。これらの機能が不要であれば、HTTP APIの方がコール単価が低く費用を抑えられます。AWS公式ドキュメントでも「これらの機能が不要な場合はHTTP APIを選ぶ」と案内されています*2。移行前に機能一覧を照合して判断することが大切です。
API Gatewayのキャッシュを有効にするとコストが下がりますか?
キャッシュのヒット率によります。キャッシュは有効化した時点から時間単位で課金が始まるため、ヒット率が低い場合はキャッシュ費用の方が削減効果を上回ることがあります*3。AWS公式ドキュメントでは、本番と同等のトラフィックパターンで10分間の負荷テストを実施し、CacheHitCount・CacheMissCountメトリクスで効果を確認してからサイズを決定することが推奨されています*3。
NAT GatewayとAPI Gatewayのコスト最適化は同じですか?
これらは全く別のサービスです。NAT Gateway(ネットワークアドレス変換ゲートウェイ)はプライベートサブネットからインターネットへの通信に使うVPCコンポーネントであり、処理データ量と時間で課金されます。一方、API GatewayはAPIの管理・公開・認証を担うマネージドサービスで、APIコール数とデータ転送量が主な課金要素です。コスト最適化の手段も異なります。
API Gatewayのコストが急増した場合、どうやって原因を特定できますか?
まずAWS Cost Explorerで対象期間のAPI Gateway費用を確認し、増加がAPIコール数・データ転送・キャッシュのどれに起因するかを切り分けます。次にCloudWatchメトリクスでAPI・ステージ・メソッド別の呼び出し数を確認して、突出しているエンドポイントを特定します。アクセスログをCloudWatch Logsに出力している場合はIPアドレスやUser-Agent別の集計も有効です。Cost Anomaly Detectionを事前に設定しておくと、次回からの急増を自動検知してアラートを受け取れます。
API Gatewayコスト最適化の外注はどこに相談すればよいですか?
AWSパートナーネットワークに登録しているシステムインテグレーターや、クラウドコスト最適化を専門とする事業者が選択肢になります。選定時には「API Gateway・WAF・コスト管理の実務経験」「現状分析から実装・効果測定まで一貫対応できる体制」「継続的なモニタリング支援の可否」を確認することが判断の基準になります。LASSIC IT事業部では、元請(プライムベンダー)としてAWS環境の運用・コスト最適化支援の実績を持ちます。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Amazon Web Services「Amazon API Gateway の料金」(2024年確認)
- *2 出典:Amazon Web Services「Choose between REST APIs and HTTP APIs」AWS API Gateway Developer Guide(2024年確認)
- *3 出典:Amazon Web Services「Cache settings for REST APIs in API Gateway」AWS API Gateway Developer Guide(2024年確認)
- *4 出典:Amazon Web Services「Throttle requests to your REST APIs for better throughput in API Gateway」AWS API Gateway Developer Guide(2024年確認)