Saving Planとは
AWS Compute Savings Plan (CSP) は、EC2・Fargate・Lambda などのコンピュートリソース利用料金を割引する契約です。
オンデマンド利用と比べて最大 66% の割引を受けることができます。
特徴は以下の通りです:
-
契約は「$/時間」でのコミット」
→ 例: $10/時間の利用を1年間コミット -
対象サービス
- EC2(UsageType:
BoxUsage:<InstanceType>
) - Fargate(UsageType:
Fargate-vCPU-Hours
,Fargate-GB-Hours
) - Lambda(UsageType:
Lambda-GB-Second
)
- EC2(UsageType:
-
割引は コミット額($/時間)の上限まで 適用
-
ストレージやデータ転送、EBS、API Gateway などは対象外
割引の仕組みと具体例
Savings Plan は「コミット額($/時間)」までの オンデマンド利用料金に割引を適用 します。
ケース1: 実利用 = 契約額
- 契約: $10/h
- 実利用: $10/h
- 結果: 全額に割引が適用
ケース2: 実利用 < 契約額
- 契約: $10/h
- 実利用: $8/h
- 結果: $8/h 分のみ割引適用、残り$2/hは未使用(枠の余り)
- 月払い型契約 → 余りは追加請求なし
- 前払い型契約 → 使わなかった分が相対的に損
ケース3: 実利用 > 契約額
- 契約: $10/h
- 実利用: $12/h
- 結果: $10/h 分に割引、残り $2/h は通常料金
割引率はどう決まる?
割引率は契約条件で決まります:
-
契約期間
- 1年 or 3年
- 3年の方が割引率が高い
-
支払いオプション
- No Upfront(前払いなし)
- Partial Upfront(一部前払い)
- All Upfront(全額前払い)
- 前払いが多いほど割引率が高い
例:
- 1年, No Upfront → 割引率 ~30%
- 3年, All Upfront → 割引率 ~60%
Q&A
- 調べる前・最中に自分が思っていたことに対してのアンサーをまとめました
Q. ComputeSavingPlanを持っておけば、Lambda, Fargate, EC2の料金が0円になる?
A. なりません。
割引は「0円」ではなく、契約額分の オンデマンド料金に対して割引が適用される だけです。
Q. 上限に達するとこの割引は適用されなくなるが、その上限とは?
A. 上限 = 契約した時間単位のコミット額($/時間) です。
例: $10/時間で契約した場合、$10を超える部分は通常料金。
Q. 月xドルというSavingPlanを契約して、使用量がxドルに収まったら損をする?
A. 前払い型なら相対的に損(月払い型は損にならない)。
- 月払い型 → 使わなければ単純に割引が小さくなるだけ
- 前払い型 → 使わなくても全額払うので未使用分が損
Q. Reserved Instance のように事前に固定料金を払う仕組みではないの?
A. 違います。
-
Reserved Instance (RI)
- 特定のインスタンスタイプを固定して、1年/3年分を予約するモデル
- 基本的に前払い(全額または一部)
-
Compute Savings Plan (CSP)
- 事前に「固定料金を払う」わけではない
- 利用料金に対して契約分だけ自動的に割引が適用
- EC2/Fargate/Lambda 複数サービスで柔軟に利用可能
「RIのように前払いで枠を確保する」と勘違いされやすいですが、CSPはあくまで「割引の適用枠」を契約するものです。
Q. その時間または使用量分だけUsageTypeの条件を緩和するの?
A. UsageTypeの条件が緩和されるわけではありません。
UsageTypeは固定で、その中の利用料金に対して契約額まで割引が適用される だけです。
ユーザーは契約時に何を決めれば良いのか?
契約時に決めるべきことは主に3つです:
-
契約期間
- 1年 or 3年
- 長いほど割引率は高い
-
支払い方式
- No Upfront / Partial Upfront / All Upfront
- 前払いが多いほど割引率は高い
-
コミット額($/時間)
- 自社の利用状況に応じて「どれくらいの利用を確実に割引にしたいか」を決める
どのようにコミット額を決めるか?
-
過去の利用実績を基準にする
- AWS Cost Explorer や CUR (Cost and Usage Report) を参照
- 「常に最低限これくらいは使っている」という下限を把握
-
余裕を見て少なめに契約するのが無難
- コミット額を大きくしすぎると、未使用分が発生して損になる可能性がある
- 特にオンデマンドの波が大きいワークロードは要注意
まとめ
- Savings Plan は 「$/時間あたりの割引枠」を契約する仕組み
- 枠内のオンデマンド利用料金に割引が自動適用される
- 割引率は「契約期間 × 支払い方式」で決まる
- Reserved Instance のように「事前にリソースを固定して前払い」するものではない
- 契約時は「契約期間」「支払い方式」「コミット額」を決める必要がある
- コミット額は 過去の利用実績の下限 を基準に設定すると失敗しにくい