はじめに
直近、AWS認定ソリューションアーキテクト – アソシエイト(SAA)の勉強をするにあたり、EC2について改めて調べました。
過去の業務ではLambda・S3・DynamoDBといったサーバーレスのサービスを使った経験はありましたが、EC2を本格的に触ったことがありませんでした。
EC2では同じインスタンスでも購入オプションによって料金が大きく異なります。サーバーレスだと料金は「使った分だけ」でシンプルなのですが、EC2の場合は用途に合わせて、最適な選定が欠かせません。
試験でもよく問われる範囲なので、備忘録も兼ねてまとめます。
EC2の主な購入オプション
EC2では同じ性能のインスタンスを使うのに、主に次の3つの買い方があります。
| 購入オプション | 概要 | 割引 |
|---|---|---|
| オンデマンド | 定価。いつでも起動・停止できる | なし |
| リザーブドインスタンス / Savings Plans | 1年 or 3年使うと約束する代わりに安くなる | 30〜60% |
| スポットインスタンス | AWSの余っているキャパシティを借りる。ただし中断される | 最大90% |
サーバーレスだと使った分だけ料金を支払いますが、EC2は起動している限り課金されます。そこで、「どうせずっと動かすなら先に約束して安くしてもらう」や「常時は使わないから安くすませたい」などの目的にあわせて、購入オプションを選び分けます。
補足
厳密にはこの3つ以外にも、Dedicated Hosts(物理サーバー占有・持ち込みライセンス向け)、Dedicated Instances、オンデマンドキャパシティ予約(容量だけ先に押さえる)があります。この記事では日常的に選択機会の多い上記3つに絞ります。
実際にいくら違うのか
m7i.large(2 vCPU / 8GB・汎用)を東京リージョンで比べてみました。
| 購入オプション | 月額 | オンデマンド比 |
|---|---|---|
| オンデマンド | $95.05 | — |
| 1年リザーブド(前払いなし) | $62.98 | ▲34% |
| 1年リザーブド(全額前払い) | $58.40 | ▲38% |
| 3年リザーブド(前払いなし) | $43.05 | ▲55% |
| 3年リザーブド(全額前払い) | $37.23 | ▲61% |
| スポット | $40.37 | ▲58% |
2026年8月時点・Linux・730時間換算
※スポットは需給で変動する価格です。上記は取得時点の価格であり、月額として固定されるものではありません。
同じインスタンスでも、購入オプションで月\$95にも\$37にもなり、かなりの価格差があります。
スポットが最安とは限らない
「スポット=一番安い」と思っていたのですが、意外なことに今回の例では3年リザーブド全額前払い(\$37.23)の方がスポット(\$40.37)より安くなりました。
調べたところ、スポット価格はそのリージョンの空きキャパシティの需給で決まるとのことでした。東京リージョンは需要が高いので余りが少なく、スポット価格も高止まりしやすい傾向にあります。
もちろんスポットは変動するので、時期によっては逆転もありえます。いずれにせよ「スポットにしておけば必ず最安」は成立しません。ここが今回の学びでした。運用に合わせて試算しましょう。
どう使い分けるのか
調べた限り、次のような整理になりそうです。
オンデマンド
- 基本的な購入方法
- 実行中は秒単位の従量課金
- どれくらいのスペックが必要か分からないうちは、これで動かして実測する
- 開発環境のように夜間は止める運用なら、そもそも稼働時間が短いのでオンデマンドで十分安い
リザーブド / Savings Plans
- 24時間365日動かすことが確定しているもの(本番のWebサーバー、DBなど)
- 1年 or 3年の使用期間を決めることで、割引される
後発の仕組みとして Savings Plans があり、AWS公式ではこちらが推奨されています。ただし2種類あって性質がかなり違うので、ここは区別が要ります。
| 購入オプション | 縛り | 割引率 | 用途 |
|---|---|---|---|
| Compute Savings Plans | なし(インスタンスファミリー・サイズ・リージョン・OSを変更してもOK。FargateやLambdaにも適用) | 低め | 構成が変わる可能性がある場合 |
| EC2 Instance Savings Plans | リージョンとインスタンスファミリーを固定 | 高め(RI相当) | 構成が固まっている場合 |
タイプやリージョンを変えても有効なのは Compute の方で、その柔軟性の対価として割引率は下がります。SAAでもこの使い分けが問われるようです。
取り消しについての注意点も重要です。
- スタンダードRI … キャンセル・返金は不可。ただし RI Marketplace で第三者に売却できる
- コンバーティブルRI … 売却は不可。別のRIへの交換は可能
- Savings Plans … キャンセルも売却も一切不可
割引率だけ見るとSavings Plansが優秀に見えますが、購入後の後戻りのしにくさの点ではRIよりも縛りが強くなっています。
スポット
- 中断されても平気な処理だけ
- AWS側の都合で2分前通知の後に中断されます(デフォルトは終了。永続リクエストであれば停止・休止も選択可能)
- バッチ処理、CI/CDのビルド、機械学習の学習あたりが定番
- 本番のWebサーバーやDBには絶対に使わない
サーバーレスとの違い
サーバーレスに慣れていたので、費用面で驚いた点をいくつか挙げます。
① 何もしていなくても課金される
Lambdaは呼ばれなければ$0ですが、EC2は起動している限りずっと課金されます。サーバーレスの感覚との一番の違いです。
② 停止してもストレージ代は消えない
EC2インスタンスを停止しても、アタッチされているEBS(ディスク)は課金され続けます。
停止していればタダだと思っていると請求が来ます。長期間使わない環境は、AMI(イメージ)を取ってからインスタンスごと削除するのが正解のようです。
③ パブリックIPv4アドレスにも課金される
こちらもサーバーレスでは意識しない部分でした。2024年2月から、パブリックIPv4アドレスは使用中・未使用にかかわらず $0.005/時(730時間で約$3.65/月)が課金されるようになっています。
金額としては小さくても、小型のインスタンスほど比率で効いてくるので、試算時は忘れずに含めましょう(Elastic IPを未使用のまま放置していると、さらに別途課金されます)。
④ ストレージの単価が違う
普段S3を使っていたので、EBSと単価を比較してみました。
| ストレージ種類 | GB/月(東京・概算) |
|---|---|
| EBS gp3 | 約 $0.096 |
| S3 標準 | 約 $0.025 |
| S3 Glacier Deep Archive | 約 $0.002 |
EBSはS3標準の約4倍、Deep Archiveとは約48倍の差があります。
厳密には課金体系そのものが違う(gp3はベースラインとして3,000 IOPS / 125MB/s が容量料金に含まれる、S3はリクエスト数・取り出しにも課金される)ので、単価だけで完全な比較はできません。ただ、それを差し引いても価格差が大きいのは確かでした。
しかもEBSは単一AZなので、冗長化するにはスナップショットを別途取る必要があります。S3では標準で複数AZに冗長化されています。
ログやバックアップの置き場所をEBSにするのはもったいない。これが一番の収穫でした。
⑤ 常時稼働ならEC2の方が安い
常時稼働した場合のサーバーレスとの料金比較もしてみました。512MBのLambdaを1か月フル稼働させた場合の実行時間課金は:
0.5GB × 2,592,000秒 × $0.0000166667 ≒ $21.60/月
一方 t4g.small(2 vCPU / 2GB)は次のとおりです。
- オンデマンド $15.76/月
- 3年リザーブド全額前払い $5.84/月
EC2の方が安い。
ここから損益分岐点を出すと以下になります。
| 比較対象 | 分岐点となる稼働率 |
|---|---|
| t4g.small オンデマンド | 約73% |
| t4g.small 3年RI全額前払い | 約27% |
つまり、まずオンデマンドで置き換えるなら7割程度稼働させるかどうかが目安、3年間の運用で試算するなら3割でも逆転します。
なお、この試算はかなり単純化しています。
- Lambdaにはリクエスト課金($0.20 / 100万リクエスト)が別途かかります
- Lambdaの無料枠(月100万リクエスト・40万GB秒)を考慮していません
- Lambdaは1実行あたり最大15分なので「24時間動かし続ける」ことはできません。ここでは同等の処理量に換算した参考値として扱っています
システム構築でEC2とサーバーレスのどちらを選ぶかは、稼働率も踏まえて判断したいところです。漠然とサーバーレスが安いと思っていたのですが、常時動かすものはEC2の方が向いていると知りました。
おまけ:大阪リージョンのスポットは本当に安かった
以前AWSの方とお話しした際「大阪リージョンのスポットインスタンスは東京より安いですよ」と聞いたことがありました。当時はスポット自体を使ったことがなく聞き流していたのですが、せっかくなので調べてみました。
東京(ap-northeast-1)と大阪(ap-northeast-3)を並べてみます。
| インスタンス | 購入オプション | 東京 | 大阪 | 差 |
|---|---|---|---|---|
t3.medium |
オンデマンド | $0.0544 | $0.0544 | ±0% |
| 〃 | スポット | $0.0189 | $0.0176 | ▲6.9% |
m7i.large |
オンデマンド | $0.1302 | $0.1302 | ±0% |
| 〃 | スポット | $0.0553 | $0.0438 | ▲20.8% |
c7g.xlarge |
オンデマンド | $0.1819 | $0.1819 | ±0% |
| 〃 | スポット | $0.0909 | $0.0561 | ▲38.3% |
USD/時間・2026年8月時点・Linux
※スポット価格は変動するため、上記は取得時点の値です。
比較して分かったのは、オンデマンドは東京と大阪で完全に同額だった点です。大阪は土地が安いから全体的に安いわけではなく、スポットだけが安くなります。
これは先ほどの「スポット価格は空きキャパシティの需給で決まる」仕組みにそのまま繋がります。大阪リージョンは東京のDR(災害対策)用途で使われることが多く、普段の需要が少ない。そのため余りが多く、スポットが安くなるようです。
ただし、飛びつく前に確認したい点もあります。
- 需要が少ない=空きキャパシティの絶対量も少ないため、大量に起動しようとすると確保できない可能性がある
- 大阪は提供されているインスタンスタイプやサービスが東京より少ない
- 東京にDB・大阪にバッチ、みたいな構成にするとリージョン間のデータ転送料がかかる
なお現在のスポット価格は、マネジメントコンソールの EC2 →「スポットリクエスト」→「料金設定履歴」 から確認できます。リージョンを切り替えて見比べるだけなので、気になる方は試してみてください。
まとめ
サーバーレスしか触っていなかった自分にとっての学びをまとめます。
- EC2にはオンデマンド / リザーブド・Savings Plans / スポットの主に3つの購入オプションがあり、料金が最大約6割変わる
- まずオンデマンドで動かして実測する。そこからリザーブドやスポットを検討する
- スポットが常に最安とは限らない。東京リージョンでは3年リザーブドの方が安いケースもある
- Savings Plansは2種類。柔軟なCompute、割引率の高いEC2 Instance。ただしどちらもキャンセル・売却不可
- EC2は停止してもEBS代がかかる。パブリックIPv4も未使用でも課金される
- ログ・バックアップはEBSではなくS3へ(単価が桁違い)
- 常時稼働するものはLambdaよりEC2の方が安い(分岐点はオンデマンド比で約7割、3年RI比で約3割)
- 大阪リージョンのスポットは東京より安い。ただしオンデマンドは同額
サーバーレスだと意識しなくてよかった部分が、EC2ではそのままコストに跳ね返ってくることを学びました。逆に言うと、サーバーレスはこうした部分をAWS側が引き受けていることを再認識しました。
SAAの試験でも「この要件ならオンデマンド / リザーブド / スポットのどれか」を問う問題が出るようなので、暗記ではなくなぜその値段になるのかまで押さえておくと迷わなくて済みそうです。
参考
※本記事の料金は2026年8月時点の概算です。最新の値は必ず公式ページでご確認ください。