ちょっと話題の記事

Fargate利用費最大52%オフの衝撃!Savings PlansによるFargateの利用費削減を検討する

従来のFargateの弱点であった部分を一気に解消する可能性がある新料金体系Savings PlansのFargateでの利用方法の紹介です。
2019.11.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「Fargate便利だけど、RIとかスポットインスタンスとか使えないよなぁ」

ホストインスタンスを一切気にせずコンテナワークロードを扱えるAWS Fargate。サービス開始当初は、EC2の料金のほぼ1.5倍ぐらいしていたのが、2019年1月に35%〜50%値下げされ、料金面で使いやすくなっていました。

これでも十分に扱いやすくなっていたのですが、昨日のアップデートにより新たにSavings Plansという超ド級の料金体系が突如発表されました。

これにより、Fargateにおいても事前に利用費をコミットすることで、オンデマンド価格より最大52%割安価格で利用することが可能になっています!

Fargate新料金プランきたか…!!

  ( ゚д゚) ガタッ
  /   ヾ
__L| / ̄ ̄ ̄/_
  \/   /

Savings Plansの概要

Amazon EC2およびAWS Fargateを最大72%の割引価格で利用できる料金プランです。特徴は以下の通り。

  • 適用期間は1年または3年
  • 1時間あたりの利用費を事前にコミット。コミット分に対して割引価格が適用可能
  • コミットメントを超えた使用量については、通常のオンデマンド料金が適用
  • 適用プランは大きく2つ。制約により割引率が違う

対象リージョンは中国以外の全てのリージョンとなっています。

Developers.IOの先行記事

さらに詳細な説明は、弊社suzukiの下記記事をごらんください。

特に、3年の場合と1年の各場合での各利用パターンにおける比較表は、どの料金プランを選択するかの目安となるため必見です。

Savings Plansの特徴と詳細

AWS News Blogに今回の機能の概要と利用方法がまとめられています。

RIとの違いとSavings Plansの利点

今までも、古くからリザーブドインスタンス(RI)という仕組みの中で、1年or3年の単位でコンピューティングリソースを事前に買うことによる値引きの仕組みはありました。ただ、クラウドという枠組みのなかでは、時間の経過とともに利用するコンピューティングリソースが変化してくのは必然であり、その変化の中で最適なRIの購入や交換をする管理の手間があったのも事実です。

新料金体系のSavings Plansでは、単純にコンピューティングリソースの使用量に対してコミットするだけで割引を適用可能なため、管理の手間を増やさずに割引価格の利用が可能となってます。

Savings Plansの種類

Savings Plansには大きく分けて2つの種類があります。まずはここを抑えておくのが重要。

  • Compute Savings Plans
    • 最大66%の割引
    • インスタンスファミリー、インスタンスサイズ、リージョン、OS種別、テナンシーの制限が一切なし
    • Fargateへの適用が可能
  • EC2 Instance Savings Plans
    • 最大72%の割引
    • インスタンスタイプとリージョンの指定が必須
    • 同一インスタンスタイプ内のインスタンスサイズ変更、OSの変更、テナンシー変更が可能

ざっくりいうと、Fargateも含めてあらゆるコンピューティングリソースに対して適用可能なのが「Compute Savings Plans」、インスタンスタイプとリージョンの指定が必要なEC2に利用するのが「EC2 Instance Savings Plans」です。

FargateへのSavings Plansの適用

みんな大好きFargateの場合、「Compute Savings Plans」を利用することになります。ホストインスタンスが存在しないFargateは運用管理上の手間を軽減できるという大きなメリットがあったのですが、ECS(on EC2)やEKSなどのEC2でホストする場合に活用できるRIやスポットインスタンスが使えませんでした。

もともとベースの料金設定がオンデマンドのEC2に比べても1割〜3割高いためFargateの利用を敬遠していた現場も多いと思いますが、そこに対して割引適用が可能になったのは革命です!

Savings Plansの開始方法

AWS Cost Explorerからの購入が可能です。AWSアカウントにログインし、アカウントメニューからCost Explorerを起動することで即利用が可能です。

詳細な公式ドキュメント

Savings Plansのドキュメントは、AWS Documentationのトップレベルに、Savings Plansとして独立して存在します。

すでに、User GuideとAPI Referenceが用意されており、User Guideをみると、びっしりSavings Plansの詳細が記載されているので、詳細を確認するときはこちらを参照しましょう。

どの程度Fargateが安くなるのか計算してみよう!

というわけで、実際にFargateでどの程度安くなるのか計算してみましょう。Savings Plansの購入や現在の利用状況に応じた推奨事項の確認は、AWSアカウントにログインしてコストエクスプローラーから可能ですが、公式で料金試算するフォームもすでに用意されています。

「Compute Savings Plans for AWS Fargate」タブをクリックします。入力項目は以下の通り。

  • Term length(購入期間)
    • 1年 or 3年
  • Payment options(支払いオプション)
    • All Upfront(全額前払)
    • Partial Upfront(一部前払い)
    • No Upfront(前払いなし)
  • Resgion
    • 利用する予定のリージョン

東京リージョンにおけるFargateのSavings Plansによる割引一覧

東京リージョンで一通り試してみた結果がこちら。Fargateを通常利用(On-Demand)した場合に比べてのSavings Plansによる割引率一覧です。1年全額前払で22%オフなのは、結構なインパクトあるんじゃないでしょうか。

購入期間 支払いオプション On-Demandに対する割引率
1年 前払いなし 15%
1年 一部前払い 20%
1年 全額前払 22%
3年 前払いなし 40%
3年 一部前払い 45%
3年 全額前払 47%

実際の購入時には、割引適用を1時間単位のコミットメント(利用料金)で設定します。AWSアカウントにログインして、コストエクスプローラーを開いてください。ここでは、時間単位コミットメントを$1で入力して年額コストが計算されています。

このコミットメントに対して、その金額までの利用料に対して割引(1年全額払いなので22%オフ)が適用されるという流れになります。このコミットメントの設定は非常に難しく感じると思いますが、実際にSavings Plansによって、今の利用状況を鑑みてどれぐらい割引されそうかは、このコストエクスプローラーの同じところに並んでいる「推奨事項」から確認が可能です。

これで、あなたのFargateワークロードももっとお安くなるかも!

Savings Plansの推奨事項利用上の注意

Savings Plansの推奨事項オプションですが、利用にはPayer Accountレベルでの利用が必須とのことです。

Recommendations are calculated at the Payer Account level only.
引用:Understanding Your Savings Plans Recommendations - Savings Plans

Fargateをプロダクション運用している環境では必ず検討を

すでにFargateをプロダクション環境で運用されている現場であれば、向こう1年以上の利用は想定される場合が多いと思います。また、今回のSavings Plansの「Compute Savings Plans」は、なんとまぁFargateとEC2の両方に適用が可能という素晴らしい柔軟性を持ったオプションです。

実際の購入時の最大の考慮点は、時間あたりのコミットメントをどうするかというところになってくると思いますが、現状の利用状況を見ながら推奨事項を挙げてくれる機能もすでにリリースされているので、まずはコストエクスプローラを開いて、Savings Plansのところポチポチしてみましょう。必ず、何かしらの費用削減のヒントが見つかると思います。

スポットインスタンスやRIが使えないというFargateの最大の痛みがこれで大きく改善されました。いやぁこれは、ものすごいアップデートです。

それでは、今日はこのへんで。濱田(@hamako9999)でした。