Savings Plan に関するよくある質問

記事タイトルとURLをコピーする

SRE部 佐竹です。
本日は、AWS Savings Plan (Savings Plans) に関するよくある質問について回答致します。

はじめに

Savings Plan についてはお客様からだけでなく社内からも説明を求められることも多々あることから、Savings Plan の社内勉強会を過去複数回行ってきています。その勉強会の中で出た質問をまとめてご紹介します。

本質疑の内容は2020年11月時点の情報を元にしております。以後アップデートによって変更が入る可能性がありますことご留意ください。

Savings Plan に関する質問

質問1. Savings Planの推奨はどこで確認できますか?

AWS Cost Management」から閲覧可能です。これは「Cost Explorer」のトップページでもありますため、Cost Explorer から確認可能とお伝えしても相違ありません。

Savings Plan の登場時、本推奨値は Payer アカウントでのみ閲覧可能でしたが、現在は各メンバーアカウントにおいても閲覧が可能となっています。

なお、弊社 pieCe サービスをご利用されているお客様では一部の機能において Cost Explorer で出力される数値と請求明細に差異が生じることがございますため、基本的に Cost Explorer の提供を行っておりません(権限で縛りを設定しています)。Cost Explorer や Savings Plan については担当営業もしくは pieCe問い合わせ窓口までご連絡頂けますと幸いです。

質問2. Savings Planの推奨はアカウント別に閲覧可能ですか?

可能です。Payer 配下の各メンバーアカウントから個別に推奨(Recommendations)を確認することが可能です。また、Payer からも各メンバーアカウントそれぞれの推奨を確認することが可能です。

Payer アカウントから閲覧する場合、Recommendation level という項目が追加されます。ここを「Linked account」にすることで個別のメンバーアカウントごとの推奨が確認できます。

質問3. Payer Levelでの推奨のみ閲覧できません、何故ですか?

「割引共有の無効化」の設定を行っている場合、Payer Level での推奨が閲覧不可となります。詳細は以下をご確認ください。

docs.aws.amazon.com

本設定は「Billing & Cost Management Dashboard」に移動した後、「Billing preferences」から設定が可能です。

この設定において、全てのAWSアカウントが「RI and Savings Plans discount sharing disabled」側に存在する場合に本状況が発生します。

質問4. Savings Plan のコミット額は値引き前の額ですか、後の額ですか?

「値引き後」の金額です。ディスカウント効果が発揮され、安くなった後の額をコミットします。

Savings Plans の料金」を利用して回答致しますと、「3年×前払いなし×東京×Linux×共有」のm5.largeをディスカウントする場合に必要な Savings Plan のコミット額は1台あたり、0.072USD/Hour となります。

「3年×全額前払い×東京×Linux×共有」と、「全額前払い」を指定した場合は、0.065USD/Hour になります。この場合、「0.065USD×24時間×365日×3年」の利用料を一括で支払って利用することになります。

質問5. AWS利用料の明細について教えてください

以下の通りとなります。

  • Savings Plan をコミットしたAWSアカウントに請求される明細
    • SavingsPlanUpfrontFee:前払いを実施したその月に請求される前払いの費用。質問4の例では「0.065USD×24時間×365日×3年」がそれにあたる
    • SavingsPlanRecurringFee:前払いを実施していない場合に Savings Plan の効果期間中請求されるコミット金額。質問4の例では「0.072USD×24時間×その月の日数」となる
  • Savings Plan が適用されたAWSアカウントに請求される明細
    • SavingsPlanNegation:オンデマンドの利用料をディスカウントするマイナスの明細。質問4の例では「-0.124USD」となる
    • On Demand (SavingsPlanCoveredUsage):オンデマンドの利用料そのもの。質問4の例では「0.124USD」となる

SavingsPlanNegation と On Demand (SavingsPlanCoveredUsage) の費用が相殺され $0 になるため、利用料は「Savings Plan をコミットした金額のみの支払いとなる=ディスカウントされる」となります。以下の画像は SavingsPlanNegation による費用相殺の一例となります。

質問6. 推奨通りに買わない場合の効果予測はできますか?

現状このような予測はできません。

例えば推奨が $3.00/hour であった場合に $2.00/hour コミットしたら、どのようになるのかというのは計算できないものとなります。「Savings Plan の推奨通りにコミットしなかった場合どの程度のディスカウント効果が期待できるか」という計算ができるツールは現状提供されておりません。

質問7. 購入額の上限はありますか?

1,000USD/hour が上限です。これを超えると以下のエラーとなります。

The hourly commitment must be less than or equal to 1,000 (one thousand).

なお本コミットは $8,760,000/年 のコミットになるため、ここまで巨額のコミットをされることはないと想定されます。

質問8. Savings Plan を追加購入することは可能ですか?

可能です。

例えば推奨が $3.00/hour であった場合、先に $2.00/hour コミットした後に、追って別日に $1.00 を追加でコミットすることが可能です。ただし、先にコミットした Savings Plan と、後からコミットした Savings Plan では有効となる期間が異なるため、期限が別々に訪れる点についてはご注意ください。

複数の Savings Plan を同時に購入する例については、以下で実例を記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問9. 購入の予約は可能ですか?

可能です。2020年9月24日に Savings Plan の予約機能がリリースされております。詳細は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問10. Convertible RI のように他の Savings Plan のオプションに交換/変更はできますか?

できません。交換機能は提供されておりません。

質問11. EC2 の Reserved Instance と併用できますか?

はい、Reserved Instance と Savings Plan は併用できます。また「適用範囲が狭いもの」から順に適用されることで「無駄が発生しないように」作られています。

そのため適用の優先順位は以下の通りです。

  • Reserved Instance > EC2 Instance Savings Plan > Compute Savings Plan

本優先順位の詳細は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問12. EC2 Instance Savings Plan の注意点はありますか?

EC2 Instance Savings Plan はコミット時に Region と Instance Family を必ず選択するため、Instance Type を Family を超えて別の Type へと変更する場合や利用する Region を変更する場合に注意が必要です。

例えば t3 ファミリーで Savings Plan をコミット済であるが、t4g がリリースされたため EC2 Instance の Instance Type を変更したいような場合、購入済の t3 の EC2 Instance Savings Plan は無駄になる可能性があります。他にも、東京リージョンからシンガポールリージョンに切り替えを行ったような場合も、東京リージョンの EC2 Instance Savings Plan が無駄になる可能性があります。

EC2 Instance Savings Plan をコミットする場合は、Region と Instance Family をコミットした期間中は固定されるよう何らかのガバナンス(統制)などが必要になります点、ご留意ください。

質問13. EC2 Instance Savings Plan の3年で検索すると出てこないファミリーがありますが何故ですか?

EC2 Instance Savings Plan は EC2 Reserved Instance のスタンダードと同様の立ち位置です。そして、旧世代のファミリーは、スタンダード RI の3年において「前払いなし」が購入できません。「こちら」でも「スタンダード×3年×前払いなし」は表示されておりません。

EC2 Instance Savings Plan の期間「3年」においては、「前払いなし」を選択した場合、旧世代のファミリーは スタンダード RI と同様に購入(選択)頂けない仕様となっております。

質問14. 購入後のキャンセル (返品) は可能ですか?

2024年3月21日からは7日以内の返品が可能となりました。

詳しくは以下のブログをご確認ください。

blog.serverworks.co.jp

質問15. Savings Plan の効果はどこで確認ができますか?

AWS Cost Management > Savings Plans > Utilization report から確認が可能です。「Total Net Savings vs On-Demand」の項目が「コスト削減効果」となります。Utilization report 等については以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問16. 有効期限切れの通知メールを送ることは可能ですか?

可能です。2020年11月6日に可能となりました。詳細は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問17. 全額前払いで支払ったコミットメントは取り崩しされるものですか?

いいえ、取り崩しとはなりません。

例えば推奨が $3.00/hour であった場合に $4.00/hour を1年×全額前払いでコミットしたとします。総額「$35,040」の前払いになります。このような場合、毎時間 $1.00 はオーバーコミットとなりますため$1.00分は「無駄(適切なディスカウント対象が存在しない)」となりますが、これは「1時間毎」に権利が消失します。

Savings Plan も Reserved Instance も、「1時間毎のディスカウント効果を購入する権利」であるため、総額「$35,040」の年間利用料の契約とはなっておりません。「毎時間その効果は権利を消失している=前払いの取り崩しではない」ものとなります。

詳しくは以下の記事内「Savings Plans をオーバーコミットした場合」をご覧ください。

blog.serverworks.co.jp

質問18. Savings Plan の推奨を確認するのに必要な権限を教えてください

以下の機能が前提として有効になっている必要があります。

  1. Cost Explorer の有効化
  2. IAM ユーザ/ロールに対する AWS Cost Explorer 及び Billing を閲覧するための権限 (Cost Explorer はAWS 管理ポリシーが存在しないため作成が必要です)
  3. IAM ユーザ/ロールに対する Savings Plan に関する情報を閲覧するための権限 (AWSSavingsPlansReadOnlyAccess)
  4. IAM ユーザ/ロールに対する Billing and Cost Management コンソールへのアクセス許可

「3. IAM ユーザ/ロールに対する Savings Plan に関する情報を閲覧するための権限」については詳細を以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

「4. IAM ユーザ/ロールに対する Billing and Cost Management コンソールへのアクセス許可」については、以下のドキュメント内「Billing and Cost Management コンソールへのアクセスのアクティブ化」を確認ください。

docs.aws.amazon.com

質問19. Savings Plan はキャパシティ予約を提供しますか?

いいえ、Savings Plan はキャパシティ予約の機能を提供していません。

しかし「オンデマンドキャパシティ予約」との併用が可能です。詳細は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問20. Compute Savings Plan は RDS や Redshift などにも適用されますか?

いいえ、されません。

対象となるサービスは EC2 Instance 以外に Lambda と Fargate(ECS, EKS) があります。

質問21. Savings Plan と Reserved Instance はどちらを使うべきですか?

効果的なコスト削減効果を得るにあたり、特に Compute Savings Plan を推奨しております。

Savings Plan と Reserved Instance の比較は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問22. Savings Plan の購入オプションはどの組み合わせが推奨されますか?

以下のワークフローを用いて、Savings Plan の購入オプションの組み合わせをご判断ください。

本フローについての詳細は以下の記事に記載しておりますため、合わせてご覧ください。

blog.serverworks.co.jp

質問23. 購入した Savings Plan が使い切られなかった場合に他のアカウントに適用されますか?

はい、適用されます。

ただし、質問3 にてご紹介しました「割引共有の無効化」の設定がされていないことが前提となります。

補足となりますが、Savings Plan はそれを購入したアカウントが優先的に(最初に)適用されます。

Savings Plans are applied first to the owner account's usage, and then to other accounts' usage. This occurs only if you have sharing enabled.

Savings Plans が AWS の使用に適用される仕組みを理解する - Savings Plans

質問24.「 割引共有の無効化」を意図せず設定していましたが改善可能ですか?

「割引共有の無効化」の設定は、その月内であればその変更は月初に遡って再計算され、再適用されます。

そのため「割引共有の無効化」の設定を月末までに解除された場合は、その月は月初から「割引共有が有効」の設定でコスト削減効果が再計算されなおされます(月末時点の設定が正となります)。

なお「割引共有の無効化」の設定は、デフォルトでオフであり、「割引共有は有効化されている」状況となります。

補足となりますが、Savings Plan のディスカウント効果は購入した日のその時間から効果を発揮します。例えば、月の半ばに Savings Plan を購入した場合はディスカウントされるのは月額の半分です。月初に遡り再計算がされるのは、既存の Savings Plan が既に月初に存在する場合となります。

質問25. Lambda に Compute Savings Plan が適用されませんが何故ですか?

Compute Savings Plan の対象に Lambda は含まれますが、コスト削減効果は高いものではありません。

「Compute×3年×全額前払い」の場合でもそのコスト削減効果は15%程度です。Savings Plan は「よりコスト削減効果が高いもの」から順に適用されるため、Lambda に適用されるまでに Savings Plan が使い切られていると考えられます。

質問26. Savings Plan を推奨通り購入することに問題はありますか?

基本的に問題はありません。

しかし、次のような場合に注意してください。

  1. 現在 EC2 Instance のコスト最適化を行っており将来的に EC2 Instance の Running 費用が減額となる見込みである
  2. ここ数日一時的に大きな Instance Type の EC2 Instance を構築したが、より小さい Instance Type に戻す予定である

このような場合に Savings Plan が将来的に無駄になる可能性があります。Savings Plan に無駄が出ることを避けたい場合は、記載されている推奨値よりも少し値を下げて購入されるよう助言を行っております。

質問27. EC2 Instance Savings Plan の推奨に表示されないものがありますが、何故ですか?

Reserved Instance の推奨には表示がされるものの、EC2 Instance Savings Plan の推奨に表示されない場合があります。

その理由ですが、Savings Plans の推奨事項は平均として毎時 $0.10 の利用料金が発生している場合に推奨事項として表示される仕様になっています。よって、t2 や t3, t4g などの1時間あたりの利用料が低い EC2 Instance に対しては Savings Plan 側で推奨が表示されない場合があります。

詳しくは以下のドキュメントをご参考ください。

Recommendations are generated for customers that have an average On-Demand spend of $0.10/hour during the lookback period (7, 30, or 60 days).

Savings Plans 推奨事項について - Savings Plans

本説明では EC2 Instance Savings Plan を例にあげましたが、EC2 Instance Savings Plan だけではなく Compute Savings Plan でも利用料が $0.10 /Hour の AWS アカウントには推奨が表示されない仕様となります。

質問28. 既に相当額の Savings Plan を購入済の状況で、各アカウント個別で Savings Plan を追加購入したいのですが各アカウントの推奨が表示されません。どうすれば表示できますか?

推奨において、Recommendation level が Linked account の状態で表示がされないのは、既にその AWS アカウントに Savings Plan が適用済であると考えられます。

個別で確認する必要がある場合は、一時的に「割引共有の無効化 (RI and Savings Plans discount sharing disabled)」対象にターゲットとなる AWS アカウントを入れることで、Savings Plan の適用対象から外れ、アカウントごとの推奨額が表示されるようになります。

また「割引共有の無効化」は月末の設定が正となりその月の利用料が確定されますため、一時的に「割引共有の無効化」対象としたアカウントの設定は、必要があれば月末までに設定を戻す作業を忘れずに実行ください。

まとめ

今回のブログでは、Savings Plan に関する質問をまとめてみました。

皆様の疑問は少しでも解消されましたでしょうか?何かの参考になりましたら幸いです。

最後にですが、コスト削減サービスについて再度ご紹介させてください。

blog.serverworks.co.jp

それではまたお会いしましょう。

合わせて読みたい

Savings Plans の仕様に関しては、以下のブログも合わせてお読みいただければ幸いです。

blog.serverworks.co.jp

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023 Japan AWS Top Engineers/2020-2023 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。