はじめに
こんにちは!TechBull 運営メンバー/SREのこうじゅん(@kouzyunJa)です。最近、業務でAWSコスト最適化施策の一環として、Reserved Instance(以下、RI)とSavings Plan(以下、SP)の購入を行いました。今回は、その際に調べた内容をもとに、RIとSPの基本的な違いについてまとめたいと思います。
RIとSPに共通する「長期利用による利用料割引」という仕組み
RIとSPの違いを説明する前に、まずは両者に共通する仕組みを押さえていきたいと思います。RIやSPはどちらも、EC2、RDS、ElastiCache、Fargateなどのリソースを長期間利用することを前提に、割引を受けられます。
通常、これらのリソースはオンデマンド(従量課金)で使うと、その分だけコストがかかりますが、RIやSPを使えば「一定期間使うことを約束する(コミットする)」代わりに割引料金で利用することができます。
📅 契約期間
RIとSPでは、次のいずれかの期間を選ぶことができます。
-
1年間
-
3年間
長期間を選ぶほど割引率は高くなりますが、途中解約はできない点には注意が必要です。
💰️支払い方法
支払い方法は次の3つから選ぶことができます。
-
全額前払い(All Upfront)
→ 一括で支払うことで、最も割引率が高くなります。
-
一部前払い(Partial Upfront)
→ 初回に一部を支払い、残りは毎月分割で支払います。
-
前払いなし(No Upfront)
→ 毎月の支払いのみ。割引率はやや低めになります。
たとえば「3年間 × 全額前払い」が最も割引率が高いパターンですが、実際にどのプランを選ぶかは、「そのリソースをどれだけ使い続ける見込みがあるか」や「予算にどれくらい余裕があるか」などを考慮して購入していくことになります。次に、RIとSPの基本的な違いについて説明していきたいと思います。
Reserved Instance(RI)について
RI は特定の インスタンスタイプやインスタンスファミリー、リージョンに対して、1年または3年の長期間の利用をコミットすることで割引が適用される仕組みです。対象サービスには例を上げると次のようなものがあります
-
Amazon EC2 リザーブドインスタンス
-
Amazon RDS リザーブド DB インスタンス
-
Amazon ElastiCache リザーブドノードインスタンス
特定のインスタンスに対してではなく、指定したスペック(リージョンやインスタンスタイプなど)に一致するインスタンスに適用されます。そのため、インスタンスを再作成だとかをしても、条件が合致していれば割引は継続されます。
たとえば、RDSのリザーブドDBインスタンス購入画面を見るとわかりやすいですが、インスタンスを直接選ぶのではなく、リージョンやインスタンスクラス、期間、支払いオプションなどの条件を指定して購入を行います。
この条件に合致するインスタンスが起動していれば、自動的に割引が適用されます。ただし、条件に一致するインスタンスが起動していない場合でも、契約は継続され、支払いは発生し続けます。
Savings Plan(SP)について
SPは、1時間あたりの使用料金をコミットすることで、対象サービスに割引が適用される仕組みです。こちらも 1年または3年の期間を選択して契約します。利用料金ベースの割引制度で、「1時間あたり10ドル分使うことを約束する」といった形で契約します。
次のような複数のプランが用意されており、それぞれ適用対象や仕組みに違いがあります。
-
Compute Savings Plans
EC2、Lambda、Fargateの全体の使用量に対して適用されるプラン。柔軟性が高い。
-
EC2 Instance Savings Plans
Amazon EC2 の使用量に対してのみ適用。指定したインスタンスタイプやリージョンでの利用になるが、Computeよりも割引率が高い。
-
SageMaker Savings Plans
Amazon SageMaker のインスタンス使用量に対して適用されるプラン。
Compute Savings Plansを例にしてSPの購入画面をみてみると、特定のインスタンスを選ぶのではなく、「1時間あたりの使用料金(コミット金額)」を指定して購入する形式になっていることがわかります。
このコミット金額の範囲内であれば、対象サービスに対して自動的に割引が適用されます。コミット金額を超過した分に関しては、オンデマンド料金が発生します。
おわりに
以上が、それぞれのRIとSPについての基本的な説明となります。実際に購入を検討する際の考え方としては、Savings Plan の方が、プランによっては複数のサービスに適用できるため、柔軟性が高いのが特徴です。一方で Reserved Instance は、スペックを指定する必要があるものの、Savings Plan では対応していない RDS や ElastiCache などの幅広いサービスに適用できる点が強みです。コスト最適化する際の参考になれば嬉しいです!
NotebookLMで聴きたい方はこちら
https://notebooklm.google.com/notebook/58811cdd-44cc-4dca-96d8-9ef027ac992a/audio

1995年生まれのFindy/SRE。未経験からエンジニアへキャリアチェンジしエンジニア歴としては4年目となる。SESにて様々なAWS案件に携わる。SRE領域の知識を身につけるためTechBullコミュニティへ参画。元運用監視オペレーターという立場からAWSエンジニアやSREへキャリアアップした経験やクラウド関連の記事を執筆しつつ、コミュニティの技術フォローと1on1を実施し、現在はSREとして、Datadogでのオブザーバビリティ強化やTerraformでのIaC環境の整備、コスト削減施策の実施などを行っている。