← 記事一覧

【AWS】EC2にSavings Plans使ってみたよ!!

更新 2019-12-28
この記事の内容

こんばんわ、hisayukiです。
今日はクリスマスイブで今年もあと1週間切りました。
時間の流れが早くて、やりたいことがなかなかおっついてない感を感じてますw

さて、前回のFargateのSpotに引き続きコスト削減ネタです。
今回もすこし前に発表されたSavings Plansを適用したので書いていきます!

現状の請求額

まず現状のこのブログの運用費を晒します。
生々しい金額見えてるほうがわかりやすいと思いますのでw

と言っても、それほどのPV稼いでるわけではないので対してかかっておりません。
最近で月々1800円くらいです。

AMIのAmimotoを使っているので、RDSを使っておりません。
そのため、一番費用が掛かっているのはEC2です。

ココをSavings Plansで下げるだけでも1000円切れるんじゃないかと思ったわけです。

EC2を安く使おう

今回はSavings Plansのやり方と、ざっくりの計算方法を残していきます!

いくつかブログを見たんですが、やはり企業が使う場合は大量のインスタンスに対してが多いです。
僕みたいにブログだけのための単一インスタンスにSavings Plansを使う人すくないんじゃないかなと・・・

なので、単一インスタンスの常時稼働の場合、実際にどれぐらい減るのかの効果測定を兼ねてます。

11月までの状況

まず、今年の6月くらいの利用料です。

インスタンスタイプはt3.microです。
とりあえず、31日のときは$10.12、30日のときが$9.79ですね。

10月だけ0なんですけど、何で0になったのかは覚えてないですw
なんかクーポンかなにか使ったっけな・・・・

Savings Plans

それでは早速Savings Plansの画面に行きます。

左側のメニューから節約プランを選びます。

AWSコスト管理の画面に移動するので、左上のSavings Plansの購入を押します。

今回はEC2のみなので、EC2 Instance Savings Plansを選択します。
Compute Savings PlansはFargateなどにも柔軟に対応できるプランですが、その分割引率も少ないです。
EC2 Instance Savings PlansはEC2しか使えない分、割引率が最も高いです。

期間は1年または3年になります。
もちろん3年間を選んだほうが割引率は高いですが、使っていても使って無くても必ず3年分の支払が発生します。
こちらはリザーブドインスタンス同様に、前払いなし、一部前払い、全額前払いがあります。

リザーブドインスタンスと違い、リージョン内のインスタンスファミリーの指定です。
これは、インスタンスファミリー内ならどのタイプを使っても適用されるということです。

購入時のサイズで使い続けなければならないリザーブドインスタンスよりは、長期間契約しやすいのかなと思います。

そして次の項目がこちら

時間単位のコミットメントがよくわからなかったです(;´∀`)
1時間にどれだけ使うかってことなのかな?
でも常時稼働してるから、そのインスタンスタイプごとの値段ですよね・・・

よくわからなかったですが、こちらで大体の相場計算できるっぽいのでしてみました。

今回購入予定なのはt3.microなので3年間だとレートは$0.0059ですね、割引率は57%!
ちなみにこの表は全額先払いのレートです。

レートは$0.0059なので、$0.005で計算してみました。
これで計算すると、最初の先払い金額が$131.40。

$1=110円換算で、1万5000円くらいかな?

レートの$0.0009を切り捨てた計算なので毎月リソースが余ることは無いと想定。
突き抜けた分がオンデマンドの金額になるっぽいけど、それでも先払い分は1年半くらいで回収できる気がする。

つまり、このブログをこの先1年半は続けますというcommitになる。

全額先払い購入確定

購入後にインベントリを見ると、以下のように追加されてます。

さすがにすぐ効果が出るわけではないので、また後日経過報告をブログで書こうと思います。

ちなみに、コミットメントは大雑把に計算しちゃいましたがあとから変更きかないです/(^o^)\

RIとの違い

割引率だけ見た場合は、そこまで変わらないです。
なので、用途次第ではどちらでもOKだと思います。
今回はやり方残したかったのでSavings Plansにしましたが、僕みたいに個人利用でほとんどインスタンスタイプが変わらないような場合はRIでもよいかもです。

主な違いはSavings Plansのほうが柔軟性が高いです。
サイズ、AZ、OS、テナンシーに関係なく対象リージョンの対象インスタンスファミリー全てに適用可能です。

特定のインスタンスではなく条件に当てはまる複数インスタンスに対して適用ができ、対象インスタンスの1時間での合計利用量でコミットメントを出すことになります。

僕自身が把握してる違いはこのくらいですね、
serverworksさんのブログがわかりやすかったです。

Spot Instanceとの併用

できなくは無いんですが、今使ってるAMIがDB混入型なんですよね。
DB乗せちゃってると、いつ止まってもいいよーってのは厳しい・・・

そうするとDBをRDSにするか、同じようにSavings Plansでコスト落としたMySQL乗せてるEC2立てたいですよね。
RDSにするとその分のコスト増えるので、Spot使った場合とのコスト計算しないと居ないじゃないですか。

面倒いのでやってません/(^o^)\

まとめ

操作自体は極めて簡単です。
時間単位のコミットメントが少し難しかったですが、余剰リソースがでなければ結果的にはオンデマンドより安くなると思います。

まだ買ったばかりで効果がどの程度でるのかは見えてないのですが、長期的に続ければ効果は出ると思います。
実際の社内システムでも踏み台Serverとかは全然これでいい気がしますね。

僕みたいに個人のブログとか、他にも個人利用でのEC2やFargate使っている人向けになったらよいなと思います❗
来月の結果が楽しみです❗

あと、ブログは1年半は先払い費用回収のために必ず続けますw

記事一覧へ戻る →