LASSIC Media らしくメディア
Azure App Service/Functionsのコストを最適化する外注の進め方
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- Azure FunctionsとApp Serviceのプランによって課金モデルが大きく異なり、選択ミスがコスト増の主因になります
- 予約割引・Premium最小インスタンスの見直し・不要スロット棚卸しで、月次コストを抑える手順があります
- 外注でコスト最適化を進める際には、現状アーキテクチャの棚卸しから依頼先選定まで確認すべきポイントがあります
目次
Azure App Service / Functionsのプラン別課金の違い
Azure App Service / FunctionsのコストをAzureポータルで最適化するとは、ホスティングプランの課金モデルに合わせた配置変更・予約割引・不要リソース削除によって、機能品質を維持したまま月次のクラウド費用を削減することを指します。
Azure Functionsのホスティングプランは大きく4種類あり、利用形態によって課金モデルが異なります。適切なプランを選ばないと、意図せずコストが積み上がる場合があります。
| プラン名 | 課金モデル | 最低月額 | 適した用途 | 留意点 |
|---|---|---|---|---|
| 従量課金(Consumption) | 実行回数+実行時間(GB秒)に応じた従量払い。 月間100万回・40万GB秒の無料枠あり |
無料枠内なら¥0(公式料金に基づく目安) | 低頻度バッチ・イベント駆動処理 | コールドスタートが発生する。 高頻度処理では逆にコスト増になる場合があります |
| Flex従量課金 | 従量課金ベースに仮想コア数・メモリを追加設定 | 執筆時点(2026年6月)で制限事項あり・本番適用は要確認 | 柔軟なスケールを必要とするワークロード | 2025年1月時点でGA(一般提供)に制限事項があり、 本番導入前にMicrosoft公式で最新情報を確認することを推奨します |
| Premium | コア秒+メモリ秒の課金。実行料金なし。 アイドル中も最小インスタンス分は月額発生 |
最小インスタンス数×時間分の費用(公式料金ページ参照) | コールドスタート回避・常時稼働・VNet統合 | 低頻度処理に使うと割高になります。 最小インスタンス数の設定が費用を大きく左右します |
| App Serviceプラン(相乗り) | 既存のApp Serviceプランに同居させる形。 Functionsの追加費用なし |
App Serviceプラン自体のコストのみ | 既存のWebアプリと同一プランで稼働させる場合 | Consumptionプランの機能制約がなくなる一方、 プラン容量のリソース競合に注意が必要です |
App Service(Webアプリ・APIホスティング)は、予約容量(Reserved Instances:以下RI)と呼ばれる1年・3年契約の前払い購入で割引を受けられます。RIは使用量を一定以上見込める場合にコスト削減の有力な手段です。
コストが膨らむ典型パターン4選
Azure App Service / Functionsでのコスト超過は、プランの選択ミスや設定の見直し漏れに起因することが多く見られます。代表的な4つのパターンを押さえておきましょう。
低頻度処理にPremiumプランを使い続けている
バッチ頻度が月に数回程度であっても、Premiumプランを設定したまま放置すると、最小インスタンス分の費用が毎月発生します。従量課金に切り替えるだけで月次コストを大幅に抑えられる場合があります。
コールドスタート(初回実行時の起動遅延)を嫌がってPremiumを選んだものの、その後もアクセス頻度が増えなかったというケースで起こりがちです。
使われていないステージングスロットとプランが残存している
App Serviceのデプロイスロット(ステージング・テスト用)は、使用停止後も削除されないままプランに紐づいていると課金対象になります。プロジェクト終了後の片付けを怠ると、複数のスロットが積み重なって請求を押し上げます。
App Serviceプランの重複作成・サイズ過剰
Webアプリごとに別々のApp Serviceプランを作成したり、実際のトラフィックに対してSKU(インスタンスサイズ)が大きすぎたりするケースです。複数アプリを1つのプランに集約するか、サイズを適正化することで費用を下げられます。
予約割引(RI)を活用していない
常時稼働しているApp Serviceプランに対してRIを購入していない場合、従量課金の単価が適用されたままになります。使用量が安定して見込めるワークロードほど、RI購入の効果が出やすいです。
コスト最適化の打ち手 — プラン選定・予約割引・見直し手順
具体的な最適化アクションは「プラン選定」「予約割引」「最小インスタンス見直し」「不要リソース棚卸し」の4軸で整理できます。それぞれの判断基準を以下に示します。
起動頻度・処理負荷によるプラン選定
まず対象のFunctionが1日あたり何回起動するか、1回の実行が何秒・何GBメモリを消費するかを計測します。Azureポータルの「メトリクス」や「Application Insights(アプリケーションの監視・診断サービス)」で確認できます。
起動頻度が低く(1日数十回以下)、コールドスタートを許容できる処理であれば従量課金が適切です。常時リクエストを受けてコールドスタートが業務に影響する処理はPremiumまたはApp Serviceプランを選択します。
App Serviceの予約容量(RI)購入で割引を受ける
RIは1年または3年の前払い契約で、従量課金と比べて割引を受けられます。割引率はMicrosoft公式の料金ページ(執筆時点の公式料金に基づく目安)で確認できます。購入前に過去1〜3か月の実績使用量をAzure Cost Managementで確認し、安定して稼働しているプランに絞って適用しましょう。
RIのスコープは「サブスクリプション全体」か「特定リソースグループ」かを選択できます。複数プロジェクトにまたがる場合はスコープ設定を誤ると意図しないリソースに割引が適用されるため、事前に確認が必要です。
Premiumプランの最小インスタンス数の見直し
Premiumプランでは「最小インスタンス数」が常時稼働分の費用を決めます。デフォルトや当初設定のまま放置していると必要以上のインスタンスが課金対象になっています。実際のピーク時接続数・スループットを確認し、最小インスタンス数を下げられないか検討します。
ただし、最小インスタンス数を下げすぎると突発的なスパイク時にスケールアップが間に合わず、レイテンシ悪化やタイムアウトが発生するリスクがあります。負荷試験を経ずに設定変更することは避けましょう。
ステージングスロット・重複プランの棚卸し
Azureポータルの「リソースグループ」や「コスト分析」で、現在課金中のApp Serviceプランとスロット一覧を出力します。使用停止済みのスロット・テスト用プランが残っていれば削除対象として特定し、順次削除します。
削除前には依存するFunctionやWebアプリが本番に影響しないかを確認する必要があります。削除操作は元に戻せないため、事前にバックアップとデプロイ手順を整理しておきましょう。
外注で進めるコスト最適化の手順
Azure App Service / Functionsのコスト最適化を外注で進めるには、「現状把握 → スコープ定義 → 依頼先選定 → 実施 → 引き継ぎ」の流れが基本です。各フェーズでの要点を整理します。
フェーズ1:現状アーキテクチャと費用の棚卸し
外注先に渡す前提情報として、現在のリソース構成(プラン種別・スロット数・Functionアプリ一覧)と直近3か月の費用内訳をAzure Cost Managementから出力します。コスト配分タグが設定されていないと、サービス単位での内訳が把握しにくくなります。
棚卸しの段階でスコープを絞れると、外注先への説明が明確になり見積もりの精度が上がります。
フェーズ2:最適化スコープと成果指標の合意
「どのFunctionアプリ・App Serviceプランを対象にするか」「目標とするコスト削減幅はどの程度か」を依頼前に明確にします。成果指標(KPI)は月次費用の絶対額か削減率かを決め、測定起点となる月次費用を双方で確認しておきます。
フェーズ3:外注先選定・RFP発行
Azure最適化の実績を持つパートナーに対して要件定義書(RFP:Request for Proposal、提案依頼書)を発行します。評価軸は後述の「外注先の選び方」セクションを参照してください。
フェーズ4:最適化実施・影響確認
外注先がプラン変更・RI購入・スロット削除などを実施します。変更ごとにAzure Cost Managementと監視ツールでコストと性能の両面を確認します。特にプラン変更は再起動を伴う場合があるため、メンテナンスウィンドウを設定して本番への影響を最小化します。
フェーズ5:ドキュメント更新と引き継ぎ
最適化後の構成図・変更内容・運用手順を更新し、社内チームへの引き継ぎを完了させます。外注後に「なぜこの設定になっているか」が不明になるケースを防ぐため、変更理由と判断根拠を文書化することが大切です。
依頼前に確認すべき5つのポイント
外注先への依頼をスムーズに進めるため、事前に確認しておくべきポイントがあります。準備不足のまま発注すると、手戻りが発生したり期待したコスト削減効果が得られなかったりする場合があります。
- コスト配分タグの整備:リソースグループ・プロジェクト単位でタグが付与されていないと、費用内訳の把握と削減効果の測定が難しくなります
- 変更権限の確認:外注先がAzureポータルでプラン変更・リソース削除を行うには、適切なロール(Contributor以上)を付与する必要があります
- 依存関係の整理:Functionアプリ・WebアプリがApp Serviceプランを共有している場合、一方の変更が他方に影響します。依存マップを事前に作成しておきましょう
- 業務影響の確認:プラン変更やスロット削除は再起動を伴う場合があり、業務時間外に実施する必要があります。メンテナンス可能な時間帯を事前に確認します
- RI購入の決裁フロー:予約購入はサブスクリプション単位の先払いになるため、社内の購買・IT予算の承認フローが必要です。依頼と並行して社内手続きを進めておきます
これらを整備せずに外注を開始すると、外注先が調査・準備に費やす時間が増え、費用対効果が下がります。依頼前の整備が、結果として総コストの抑制につながります。
外注先の選び方 — Azure実績・体制・契約形態の見極め方
Azure App Service / Functionsのコスト最適化を外注する際、依頼先の選定は成果の質を大きく左右します。技術力だけでなく、契約形態や体制面も含めて評価しましょう。
Microsoft認定資格・Azure実績の確認
Microsoftのパートナープログラム(旧MCSPなど)の認定有無や、Azure Cost ManagementやReserved Instancesを扱った実績を確認します。単なるAzure利用経験ではなく、コスト最適化に特化した支援経験があるかを見極めます。
作業スコープと責任範囲の明確化
「プラン移行の設計だけを行い、実施は内製」「設計から実施・引き継ぎまで一貫して請け負う」など、スコープによって費用と責任範囲が変わります。曖昧なまま進めると、問題発生時の責任の所在が不明確になります。
契約形態の選択 — 準委任か請負か
コスト最適化の支援は、成果物が明確に定義しにくいためSES(System Engineering Service、技術者派遣型の準委任契約)や準委任契約で行われることが多いです。一方、「コスト削減率○%を保証する」という成果保証型の請負契約を選ぶ場合は、測定方法・基準期間・免責条件を詳細に定めることが必要です。
元請(プライムベンダー)との直接契約を選ぶ
二次・三次請けを経由する体制では、要件の伝言ゲームによる品質低下や、問題発生時の対応速度低下が懸念されます。Azureの設定変更は即時に本番環境へ影響するため、技術判断を持つ担当者と直接コミュニケーションできる体制を優先しましょう。
まとめ:プラン選定・割引活用・外注が3つの判断軸
本稿では、Azure App Service / Functionsのコスト最適化と外注の進め方を整理しました。要点を3つに集約すると次のとおりです。
第一に、Functionsのプランは「コールドスタートの許容度」と「起動頻度」のトレードオフで選びます。低頻度処理は従量課金、常時稼働・コールドスタート回避が必要な処理はPremiumかApp Serviceプランが適切です。
第二に、App Serviceの予約容量(RI)はコスト削減の有効な手段ですが、使用量の安定性を確認してから購入することが大切です。Premiumプランの最小インスタンス数見直しと、使われていないスロット・プランの削除も費用削減に直結します。
第三に、外注で進める際は「現状の棚卸し → スコープ合意 → 依頼先選定 → 実施 → 引き継ぎ」の順で進め、コスト配分タグの整備・変更権限の確認・業務影響の把握を依頼前に完了させておくことで手戻りを防げます。
よくある質問
Azure Functionsの従量課金プランはどのような場合に割高になりますか?
1日数万回以上の高頻度実行が続く場合、実行回数・実行時間の従量課金が積み重なり、Premiumプランや既存のApp Serviceプランへの相乗りより高くなる場合があります。Azure Cost ManagementのFunctionアプリ別コスト分析で月次の実行費用を確認し、Premiumプランとの費用を比較してからプランを選ぶことをお勧めします。
App ServiceのRIはどのように購入すればよいですか?
Azureポータルの「予約」メニューからApp Service(Linux/Windowsを選択)を検索し、リージョン・インスタンスサイズ・期間(1年または3年)を指定して購入できます。購入前に過去1〜3か月の使用量をAzure Cost Management(Microsoftが提供するクラウド費用の可視化・管理ツール)で確認し、安定稼働しているApp Serviceプランに絞って適用するとコスト削減効果が得られます。割引率は執筆時点の公式料金ページに基づく目安となりますので、購入前にMicrosoft公式の料金ページで最新情報をご確認ください。
コールドスタートとは何ですか?コスト最適化とどう関係しますか?
コールドスタートとは、一定時間リクエストがなかったFunctionインスタンスが停止状態から再起動する際に生じる初回応答遅延のことです。従量課金プランではインスタンスが自動停止するため、コールドスタートが発生します。コールドスタートを避けるにはPremiumプランで最小インスタンス数を1以上に設定する必要があり、その分の費用が毎月発生します。コールドスタートの影響を業務が許容できるかが、従量課金とPremiumのどちらを選ぶかの実質的な判断基準になります。
外注でコスト最適化を依頼した場合、どのくらいの期間かかりますか?
現状棚卸しからプラン変更・RI購入・引き継ぎまでを一連で外注する場合、規模にもよりますが数週間から2か月程度を見込む場合が多いです。リソース数が少ない場合や棚卸し済みの場合は短縮できます。一方、アーキテクチャが複雑・複数サブスクリプションにまたがる・業務影響の調整が必要といった場合は期間が延びます。期間目安は依頼前にリソース一覧を外注先に共有し、事前見積もりを取ることで精度が上がります。
Flex従量課金プランはいつ本番導入に使えるようになりますか?
Flex従量課金プランは2025年1月時点でGA(一般提供)になっているものの、一部の機能や地域で制限事項があります。本番導入の可否は、Microsoftの公式ドキュメントやAzure Functions Flex従量課金プランの公式ページで最新の制限事項・対応リージョンを確認することをお勧めします。執筆時点(2026年6月)では、本番での採用前に制限事項の影響を評価することを推奨します。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Microsoft「Azure Functions のホスティング オプション」(Microsoft Learn、2024年)
- *2 出典:Microsoft「Azure Functions の価格」(Azure料金ページ、2024年)
- *3 出典:Microsoft「Azure Functions Flex 従量課金プラン」(Microsoft Learn、2025年)
- *4 出典:Microsoft「Azure App Service プランの概要」(Microsoft Learn、2024年)