はじめに
AWSの料金を聞かれたとき、EC2の時間単価だけを調べても、月額料金は正しく見積もれません。
実際の請求には、ストレージ、パブリックIPv4アドレス、ロードバランサー、NAT Gateway、ログ、データ転送なども関係します。さらに、同じ構成でもリージョン、稼働時間、通信量、購入方法によって料金が変わります。
この記事では、AWS Pricing Calculatorを使い、次の順番で月額料金を試算する方法を説明します。
- 見積もりの前提を決める
- 構成図から課金項目を洗い出す
- Pricing Calculatorへ入力する
- 通常・少ない・多い場合の3パターンを比較する
- 税、為替、無料枠、割引を分けて考える
- 稼働後にCost ExplorerとBudgetsで実績を確認する
先に結論
AWSのコスト試算は、次の式で考えると整理しやすくなります。
月額見込み = 固定的に発生する料金 + 利用量に応じる料金 + 運用に必要な料金
例えば、小規模なWebシステムでも次の項目があります。
| 分類 | 例 |
|---|---|
| 固定的に発生する料金 | NAT Gatewayの利用時間、ロードバランサーの利用時間、RDSの稼働時間 |
| 利用量に応じる料金 | EC2の稼働時間、データ処理量、インターネットへのデータ転送量 |
| 運用に必要な料金 | CloudWatch Logs、バックアップ、スナップショット、サポートプラン |
Pricing Calculatorへ入力する前に、 何台を、どのリージョンで、何時間動かし、どの程度通信するか を決めることが重要です。
前提
- 対象読者: AWSの構成は考えられるが、料金の見積もり方に迷っている人
- 使用ツール: AWS Pricing Calculator、Cost Explorer、AWS Budgets
- 例にする環境: 東京リージョンの小規模なWeb検証環境
- 仕様確認日: 2026年8月26日
- 扱わない範囲: 個別契約の割引、請求代行、税務・会計上の判断
AWS Pricing Calculatorは無料で利用でき、試算だけならAWSアカウントも必要ありません。ただし、試算結果は見積書や料金保証ではありません。実際の請求額は、利用量、料金改定、税、為替、契約条件などで変わります。
3つのツールの役割を分ける
コスト試算では、Pricing Calculator、Cost Explorer、Budgetsを同じものとして扱わないことが大切です。
| ツール | 使う時期 | 主な役割 |
|---|---|---|
| AWS Pricing Calculator | 構築前 | 入力した構成と利用量から料金を試算する |
| Cost Explorer | 構築後 | 実際に発生したコストと利用量を分析する |
| AWS Budgets | 構築後 | 実績または予測が設定額へ近づいたときに通知する |
AWS Pricing Calculatorの公式スタートガイドによると、現在Calculator用APIは提供されていません。画面で試算し、必要に応じてCSVまたはPDFへ出力します。
Cost Explorerは現在の月と過去13か月までのデータを表示し、今後18か月を予測できます。初回有効化後、当月データが表示されるまで約24時間かかり、以後も少なくとも24時間ごとに更新されます。
Budgetsは実績と予測の両方を通知できますが、請求データの反映には時間差があります。 予算超過をリアルタイムで止める機能ではありません。
コスト試算の全体像
手順1 見積もりの前提を決める
最初に、試算の条件を1枚にまとめます。サービス名から考え始めると、台数や稼働時間の前提が抜けやすくなります。
最低限決める項目
| 項目 | 確認する内容 | 小規模な検証環境の例 |
|---|---|---|
| リージョン | どこへ構築するか | ap-northeast-1 |
| 環境 | 本番、検証、開発のどれか | 検証環境 |
| 稼働時間 | 24時間か、業務時間だけか | 平日8時間、月176時間 |
| 台数 | 通常時と最大時の台数 | EC2 1台 |
| 性能 | インスタンスファミリーとサイズ | 要件確認後に選択 |
| ストレージ | 容量、種類、IOPS、バックアップ | EBS 30GB |
| 通信量 | インターネット向け、AZ間、リージョン間 | 月5GBから開始 |
| ログ | 1日あたりの出力量と保存期間 | 月1GB、30日保存 |
| 可用性 | 単一AZか複数AZか | 検証環境は単一AZ |
| 契約期間 | On-Demandか、長期利用か | 最初はOn-Demand |
月の稼働時間は、何も決まっていない場合に一律730時間と置くのではなく、運用方法に合わせて計算します。
24時間稼働: 約730時間/月
平日8時間稼働: 8時間 × 22日 = 176時間/月
土日を含む12時間稼働: 12時間 × 30日 = 360時間/月
手順2 構成図から課金項目を洗い出す
構成図に描いたサービスを、1つずつ課金単位へ分解します。
次の表は筆者が見積もり時の確認用に整理したもので、AWSが定める固定分類ではありません。実際の単価と課金単位は、各サービスの料金ページとAWS Pricing Calculatorで確認します。
| サービス | 見落としやすい課金項目 |
|---|---|
| EC2 | インスタンス稼働時間、OS、購入方法 |
| EBS | ボリューム容量、追加IOPS、スループット、スナップショット |
| パブリックIPv4 | 使用中または保持しているアドレスの時間 |
| Application Load Balancer | ロードバランサーの時間、LCU使用量 |
| NAT Gateway | 利用時間、処理したデータ量、通常のデータ転送料金 |
| RDS | DBインスタンス、ストレージ、I/O、バックアップ、Multi-AZ |
| S3 | 保存容量、リクエスト、取り出し、データ転送 |
| CloudWatch | ログ取り込み、保存、メトリクス、アラーム |
| Route 53 | ホストゾーン、DNSクエリ、ヘルスチェック |
| データ転送 | インターネット向け、AZ間、リージョン間 |
小規模環境でもパブリックIPv4を忘れない
AWSが提供するパブリックIPv4アドレスは、使用中と未使用のどちらも原則として時間課金の対象です。AWS VPC料金ページでは、1アドレスあたり0.005 USD/時と案内されています。
1つのアドレスを730時間保持する単純計算は次のとおりです。
730時間 × 0.005 USD = 3.65 USD/月
EC2を停止してコンピューティング料金が止まっても、EBSや保持しているElastic IPなどの料金が残る場合があります。
NAT Gatewayは時間とデータ量の両方を見る
NAT Gatewayは、次の料金を分けて考えます。
- NAT Gatewayを利用できる状態にしている時間
- NAT Gatewayを通過したデータ量
- 通信先に応じた通常のデータ転送料金
小規模な検証環境では、NAT Gatewayの料金がEC2本体より目立つこともあります。S3またはDynamoDBへの通信であれば、Gateway型VPC Endpointを利用できないか検討します。ただし、VPC EndpointはNAT Gatewayの用途をすべて置き換えるものではありません。
手順3 Pricing Calculatorへ入力する
AWS Pricing Calculatorを開き、次の順に入力します。
- 新しい見積もりを作成する
- グループを作成する
- 使用するAWSサービスを追加する
- リージョンを選ぶ
- 台数、稼働時間、容量、通信量を入力する
- 計算根拠と月額を確認する
- CSVまたはPDFへ出力し、前提資料と一緒に保存する
グループは、構成図や予算の単位と合わせると確認しやすくなります。
01_network
02_compute
03_database
04_storage
05_monitoring
Pricing Calculatorの共有リンクはAWSの公開サーバーへ保存されます。顧客名、案件名、内部ホスト名、IPアドレスなどの機密情報を、見積もり名や説明へ入れないでください。
まずOn-Demandで基準額を出す
最初からSavings PlansやReserved Instancesの割引を前提にすると、利用期間や性能要件が変わった場合に比較しにくくなります。
次の順で分けて試算します。
- On-Demandの基準額
- 稼働時間を短くした場合
- Savings Plansなどを適用した場合
割引前の基準額を残すと、どの判断でいくら下がったのか説明できます。
手順4 3つの利用パターンを作る
クラウド料金は利用量で変わるため、1つの金額だけを出すより、幅を持たせた方が実務的です。
ここでは比較しやすくするため、筆者の見積もり方法として「少ない・通常・多い」の3パターンに分けます。AWS公式が定める分類ではありません。
| パターン | 稼働時間 | 台数 | データ転送 | 用途 |
|---|---|---|---|---|
| 少ない場合 | 176時間 | 1台 | 5GB | 検証環境、利用者が少ない月 |
| 通常の場合 | 730時間 | 1台 | 20GB | 通常運用 |
| 多い場合 | 730時間 | 2台 | 100GB | 冗長化、アクセス増加 |
同じ構成を複製し、変わる値だけを修正します。比較時には、次のように前提も残します。
見積もり日: 2026-08-26
対象環境: 検証
リージョン: ap-northeast-1
料金モデル: On-Demand
含むもの: EC2、EBS、パブリックIPv4、CloudWatch Logs、データ転送
含まないもの: 税、為替差、サポートプラン、個別契約割引
手順5 無料枠・税・為替・割引を分ける
Free Tierは基準額から直接引かない
現在のAWS Free Tierは、アカウントの作成時期や選択したプランによって条件が異なります。AWS公式では、新規利用者へ100 USD分のクレジットを付与し、条件を満たす活動によって追加で最大100 USD分を獲得できると案内しています。Free account planは、最長6か月またはクレジットを使い切るまでです。
無料枠やクレジットは期限や対象サービスがあるため、次のように分けます。
通常料金の試算: 100 USD
利用できるクレジット: -30 USD
支払い見込み: 70 USD
クレジット終了後: 100 USD
通常料金を先に出しておくと、無料期間終了後の料金事故を防ぎやすくなります。
税と為替は別枠にする
AWS Pricing Calculatorの試算には税が含まれません。また、表示通貨と実際の請求、為替の扱いは契約や支払い方法で変わります。
社内見積もりでは、AWS利用料と次の項目を分けます。
- 税
- 為替変動への余裕
- AWSサポートプラン
- 運用保守の人件費
- 開発・移行費用
手順6 稼働後に見積もりと実績を照合する
試算は、構築前に作って終わりではありません。構築後にCost Explorerで実績と比較します。
Cost Explorerで確認する項目
- 対象月を選ぶ
- サービス別にグループ化する
- リージョン、アカウント、タグで絞り込む
- 見積もりとの差が大きいサービスを確認する
- 数量の前提を更新する
AWS CLIを使う場合は、次のようにサービス別の実績を取得できます。Endは集計に含まれない終了日です。
# 2026年8月分をサービス別に集計する
aws ce get-cost-and-usage \
--time-period Start=2026-08-01,End=2026-09-01 \
--granularity MONTHLY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE
Cost Explorerの画面利用は無料ですが、Cost Explorer APIはページ分割されたリクエストごとに料金が発生します。定期取得する場合はAPI呼び出し回数も確認してください。
Budgetsは実績と予測の両方を設定する
例えば、月額予算が100 USDなら、次のように通知を分けます。
| 通知 | 条件 | 目的 |
|---|---|---|
| 予測80% | 月末予測が80 USDを超える | 月の途中で増加傾向に気づく |
| 実績80% | 実績が80 USDを超える | 現在の利用額を確認する |
| 実績100% | 実績が100 USDを超える | 不要リソースや想定外利用を調べる |
通知先を設定しただけで安心せず、誰が確認し、何を止めるかまで決めます。
見積もり差異を確認する表
構築後は、次のような表で差の理由を記録します。
| サービス | 見積もり | 実績 | 差の理由 | 次回の修正 |
|---|---|---|---|---|
| EC2 | 入力値 | 実績値 | 想定より長く稼働した | Schedulerで停止する |
| EBS | 入力値 | 実績値 | 削除後もボリュームが残った | 終了手順へ削除確認を追加する |
| NAT Gateway | 入力値 | 実績値 | S3通信もNATを通過した | Gateway型Endpointを検討する |
| CloudWatch Logs | 入力値 | 実績値 | DEBUGログが多かった | ログレベルと保持期間を見直す |
料金差を「AWSは予測できない」で終わらせず、 時間、台数、容量、通信量のどの前提が違ったか まで戻します。
よくある失敗
EC2の料金だけで見積もる
EBS、パブリックIPv4、データ転送、ログを追加すると金額が変わります。構成図から課金項目を洗い出します。
すべて730時間で計算する
検証環境や開発環境は、夜間・休日停止を前提にすると現実的な試算になります。一方、EBSなど停止しても残る項目は730時間または1か月分で考えます。
Free Tier適用後の金額だけを出す
クレジットや無料期間が終了した後の金額が分からなくなります。通常料金と値引き後を分けます。
NAT Gatewayのデータ処理を入れない
NAT Gatewayは利用時間だけでなく、通過したデータ量にも料金が発生します。
Budgetsをリアルタイム停止機能だと思う
通知には請求データの反映遅延があります。重大な料金事故を防ぐには、権限制御、サービスクォータ、定期停止、不要リソース削除も組み合わせます。
試算前チェックリスト
- リージョンを決めた
- 本番、検証、開発を分けた
- 稼働時間と台数を決めた
- EBS、バックアップ、スナップショットを含めた
- パブリックIPv4を含めた
- ALBとNAT Gatewayの時間・データ処理を含めた
- ログ量と保存期間を含めた
- インターネット、AZ間、リージョン間の通信を確認した
- 少ない・通常・多い場合を比較した
- 税、為替、無料枠、割引を別にした
- 見積もり日と料金モデルを記録した
- 構築後にCost ExplorerとBudgetsで確認する担当を決めた
参考・確認先
- AWS Pricing Calculatorとは
- AWS Pricing Calculatorを開始する
- AWS Pricing Calculator
- Cost Explorerでコストと使用量を分析する
- AWS Budgetsでコストを管理する
- AWS Free Tier
- Amazon VPCの料金
- AWS Well-Architected Framework Cost Optimization Pillar
- AWS CLI: get-cost-and-usage
仕様確認日: 2026年8月26日
関連記事
- AWS個人学習で料金事故を防ぐ BudgetsとFree Tier確認手順
- AWS EC2を毎日18時に自動停止する EventBridge Scheduler設定手順
- AWS学習後に消し忘れやすい課金リソース ALB・NAT Gateway・EBS確認(今後公開予定)
まとめ
- Pricing Calculatorへ入力する前に、リージョン、稼働時間、台数、容量、通信量を決める
- EC2だけでなく、EBS、パブリックIPv4、NAT Gateway、ログ、データ転送を確認する
- On-Demandの基準額を出してから、停止時間や割引の効果を比較する
- Free Tierとクレジットは通常料金から分け、終了後の料金も残す
- 構築後はCost Explorerで実績を照合し、Budgetsで実績・予測を通知する
見積もり精度を上げる一番の方法は、複雑な計算式を作ることではありません。入力した前提と実績の差を毎月確認し、次の見積もりへ戻すことです。
おわりに
Wealthy Designでは、AWS・Google Cloud・Azureの設計で、構築方法だけでなくコストと運用まで説明できるエンジニアリングを大切にしています。技術発信やエンジニア育成の取り組みは、会社サイトにまとめています。

