はじめに
先日、業務でFargateのComputeSavingsPlan(以下 SP)について、カスタムコミットの見積もりを依頼される機会がありました。
当時はSPの知識がほぼなかったため、1から調査し、特に理解が難しかった「コミット」の概念とディスカウントのロジックについてまとめます。
公式ドキュメントでは分かりづらい部分も多く、同じように困る方がいるのではと思い、この記事を書くに至りました。
※SPの基本概要や Fargate のコスト算出方法の詳細はこの記事では触れません。
Savings Plan(SP)とは?
公式には以下のように説明されています。
AWS Black Belt: Savings Plans 2025/04より
Savings Plans は、1時間あたり Nドル を必ず⽀払う(コミットメント)のでNドル 分までディスカウント後の
料⾦で利⽤できるというディスカウントプランです。
ざっくり言うと、「毎時 $N 払うことを約束すれば、その範囲でリソースを安く使える」という仕組みです。
ただ、ここで疑問になるのが
・「コミットって具体的に何?」
・「ディスカウントの計算ロジックはどうなってるの?」
という点です。
以下、それらを噛み砕いて解説していきます。
コミットとは?
「コミット」とは、リソースの利用量に関係なく、1時間あたり $N を必ず支払う契約のことです。
つまり、実際の利用が少なければ少ないほど、**損をする(オーバーコミット)**リスクがあります。
逆に、利用量が十分であれば、割引が受けられるという仕組みです。
ディスカウントの考え方
ディスカウントの理解には、2つの視点があります
① コスト基準:同じコストでも、オンデマンドより多くのリソースを使える
② 利用量基準:同じ利用量でも、オンデマンドよりコストが安く済む
それぞれ、具体例で説明します。
単価の前提(仮定)
項目 | オンデマンド | SP 適用時 |
---|---|---|
メモリ単価(/GB) | $1 | $0.8 |
CPU単価(/GB) | $1 | $0.8 |
実際の単価は異なります。
説明のため概算として「SPはオンデマンドより約20%安い」想定で進めます。
(正確な価格は参考文献 3及び4を参照ください)
シミュレーション
上記の単価前提のもと、ある1時間において一定の利用量があった場合のシミュレーションをしながら
説明をしていきます。
ケース①:コスト基準の考え方
コミット:$5/h
オンデマンドで「CPU 2.5GB、メモリ 2.5GB」を1時間使用すると:
(2.5GB × $1) + (2.5GB × $1) = $5
これを SP 適用価格で使うと:
(3.125GB × $0.8) + (3.125GB × $0.8) = $5
→ 同じ $5 で、SPでは 3.125GB × 2 のリソースが使える = 20% 多く使える
ケース②:利用量基準の考え方
コミット:$5/h
「CPU 3.125GB、メモリ 3.125GB」を1時間使った場合のオンデマンドとSP適用時を比較します。
・オンデマンド:
(3.125GB × $1) + (3.125GB × $1) = $6.25
・SP 適用時:
(3.125GB × $0.8) + (3.125GB × $0.8) = $5
→ 節約額:$6.25 − $5.00 = $1.25(節約率:20%)
オーバーコミット(番外編)
SPは安定して利用されるワークロード向けであり、オーバーコミットを避ける設計が基本です。
ただ、参考として以下のケースも紹介します。
シナリオ
利用量:「CPU 3.125GB、メモリ 3.125GB」を1時間使った場合
コミット:$10
節約額 = (オンデマンド:$6.25 - SP:$5) + (コミット損失:-$10 + 利用コスト:5$) = -$3.75
→ spの単価によるディスカウント分より、必ず支払うコミットのマイナス額の方が大きくなり
最終的な損益はマイナスとなってしまいます。
このようなコミットをオーバコミットと呼ぶ場合があります。
対策
オーバーコミットの対策としては下記2点が有効ですので検討いただけると良いと思います。
・Purchase Analyzerを活用した利用予測シミュレーション
・アカウント共有(SPの共有) によるオーバーコミットの吸収
(詳細は参考文献 2を参照ください)
まとめ
・コミット:毎時一定額を支払う契約。使わなくても払う。
・ディスカウントのロジック:「同じ金額で多く使える」または「同じ量で安く使える」の2軸で理解できる。
・利用量が少ないとオーバーコミットにより損をするリスクがある。
コミットとディスカウントの仕組みについて理解いただけたでしょうか?
私自身、未使用でも課金されることを理解しておらず
毎月700$くらい損をするカスタムコミットを見積もりかけたことがありました...笑
同じように悩む方の参考になれば嬉しいです。