自由気ままに書いちゃおう

好きなことをつらつらと・・・

AWS リザーブドインスタンスとSavingsPlansについて

AWSでコスト削減策の一つとして定石となっているリザーブドインスタンス(RI)ですが、
RIと似たような機能として「SavingsPlans」というものもあります。
ここでは、SavingsPlansについてと、RIとの比較についてざっくりと記載致します。

尚、
リザーブドインスタンスは「RI」、
SavingsPlansは「SP」、
と表記している箇所がございます。

 

■SavingsPlans(SP)とは?


Amazon EC2で最大 72%、AWS Fargate で最大52% 節約することを可能にする新しい柔軟な料金モデルです。RI と同等の割引が適用されることに加え、スケールアップ等、構成の変更を行なった場合も柔軟に割引が適用されることが特徴です。

 
と公式ページに記載されておりますが、「RIと何が違うの?」って思う方もたくさんいると思います。
公式ページ: https://aws.amazon.com/jp/blogs/news/savings-plan-faq/

ここでは、ひとまず「RI同等の割引が可能」ってことを覚えてもらえればと。

■SavingsPlans(SP)の種類について


2種類あります。

What is a Savings Plan? - Savings Plans


① Compute Savings Plans
② EC2 Instance Savings Plans

違いは、「対象となるAWSサービス」「割引率」です。
① Compute Savings Plans
 ⇒ EC2、EMR、ECS、EKSクラスターの一部、Fargate、Lambda。
   最大、66%の割引が可能。

② EC2 Instance Savings Plans
 ⇒ EC2のみ。
   最大、72%の割引が可能。

■SavingsPlansとRIの違いについて


こちらは、下記サイトが非常にわかりやすかったです。
※自分なりに纏めるよりも断然わかりやすいです。
Serverworksさん、ありがとうございます。

blog.serverworks.co.jp

■SavingsPlansの購入について


1.EC2ダッシュボード>「SavingsPlans」を選択すると、下記の画面が出てきますので、画面中央の「Purchase Savings Plans」をクリックします。

f:id:guri2o1667:20200515153626p:plain


2.「コスト管理」画面が自動的に開きますので、画面右上の「SavingsPlansを購入」をクリックします。

f:id:guri2o1667:20200515153744p:plain


3.下記画面で必要事項を入力し、画面下の「カートに追加」をクリックします。
※「カートに追加」押下後、「注文書の送信」ボタンを押下することで購入が完了いたします。

f:id:guri2o1667:20200515153940p:plain


購入方法はこんな感じなのですが、問題は「時間単位のコミットメント」のところだと思います。
そもそも、「時間単位のコミットメント」って用語もよくわからないし、
どんな値が適切なのかもわかりません。

「時間単位のコミットメント」の適切値さえわかれば、
他の項目は何となく、もしくは調べればすぐに情報が出てくるので困らないかと。

ということで、「時間単位のコミットメント」についてもう少し掘り下げてみます。

■時間単位のコミットメントについて



「時間単位のコミットメント」ですが、下記ページの「Savings Plansの料金」のことです。

Savings Plans の料金 – アマゾン ウェブ サービス

 

f:id:guri2o1667:20200515164728p:plain


二つ注意点があります。

【注意点1】


あくまで上記サイトで確認した「SavingsPlansの料金」は1台分です。
複数台ある場合には、合算します!!

ケース1)t2.microが10台の場合の、SP料金を試算する
0.0118 USD  × 10台 = 0.118USD が「時間単位のコミットメント」に入力する値

ケース2)t2.microが10台、m5.largeが10台の場合の、SP料金を試算する
【t2.micro】 0.0118 USD  × 10台 = 0.118USD
【m5.large】   0.099 USD × 10台 =0.99USD
よって、0.118 + 0.99 = 1.108 USDが「時間単位のコミットメント」に入力する値

【注意点2】


あくまで、下記サイトはインスタンスタイプ(t2.microとか)に基づく一般的なSavingsPlans料金を記載しております。
そのため、各自の利用状況に応じた適切な値じゃない可能性があります
どういうことかというと、サーバの使い方はそれぞれで、
土日や夜間にサーバ停止してる場合は、
それを踏まえた「時間単位のコミットメント」にしたい!ってなります。

その際は、CostManagementのSavingsPlansの「推奨事項」を参照してください。
※下記画像参照

f:id:guri2o1667:20200515171707p:plain

ここに、今までのサーバ運用状況を加味したSavingsPlansの料金(=「時間単位のコミットメント」に入力する値)の推奨値が出てきます。
なので、それを参考にした方が削減効果が高いかと。

■補足1:参考サイトについて

文中にも記載していますが、Serverworksさんのページが非常にわかりやすかったです。私がこのページを書くにあたり、参考にさせていただいたサイトを下記いたします。
※SPとRIの併用時の適用ルール等、参考になることばかりでした、ありがとうございます!

http://blog.serverworks.co.jp/tech/2019/11/07/savings-plans-iam/
http://blog.serverworks.co.jp/tech/2019/11/11/sp-vs-ri/
http://blog.serverworks.co.jp/tech/2019/11/22/create-savings-plan/
http://blog.serverworks.co.jp/tech/2019/11/26/sp-applying/
http://blog.serverworks.co.jp/tech/2020/02/03/ri-to-sp/
http://blog.serverworks.co.jp/tech/2020/02/26/capacity-reservations/

■補足2:インスタンスタイプについて

インスタンスタイプとは、t2.microのような記載のものです。
t2部分をインスタンスファミリー
micro部分をインスタンスサイズ
インスタンスファミリー(t2)+インスタンスサイズ(micro)=インスタンスタイプ(t2.micro) です。

 

■補足3: Calculatorについて

オンデマンドインスタンスとの比較のために、
下記サイトを使用するとコスト削減効果がイメージしやすくなるかと。

https://calculator.aws/#/


下の画像は、「高度な見積もり」を使用し、
t2.microのLinuxサーバを利用した場合のオンデマンドインスタンスでの料金を算出したものです。

f:id:guri2o1667:20200515173626p:plain


この金額とSavingsPlansで算出した料金を比較するとよいかと。



以上です。