はじめに
SOAを勉強する中で、インスタンスのコスト最適化におけるベストプラクティスの問題を解く際、内容が似た用語に躓いたので調べてみました。
記事の目的
インスタンスのコスト削減に使われる用語がなんとなく理解でき、思い出せるように図を多めで書きました。
これらを理解する上で意識するべきは、「適用範囲」「柔軟性」「割引率」です。
具体的に
AWS Compute Savings Plans
1年から3年という長期において1時間あたりの使用料を先に支払うことで割引を得られるプランです。
設定した金額が1時間内で超過した場合は、オンデマンドの料金で請求されます。
簡単な例を見てみましょう。
先に支払う設定を
1時間あたり20ドル。1年間とします。
この時の割引は5割とします。
ここで、以下のインスタンスを3つ作成します。(内容は分かり易いように適当にしています)
OS:Amazon Linux2
インスタンスファミリー:t2.micro
料金:10ドル/1h
普通はこれを1時間起動させると10ドルx3個で30ドルの請求が発生します。
但し、今回はCompute Savings Plansを設定していますので、
1時間のうち20$分は5割の割引が適用されます。
そのため以下のように割引が適用されます。
20ドル分のインスタンスには5割引が適用され、残りの10ドル分はそのままという形です。
合計は5+5+10で20ドルになり、オンデマンドの料金に比べると10ドルお得です。
では元々1時間で30$分の割引にすればもっと得するじゃないかと思いますが、
仮に1時間に1つのインスタンしか立ち上げない時間があると、10$分の割引(先払い分)が損となります。
リザーブドインスタンスとの違い
ここで間違いやすいのが、リザーブドインスタンスとの違いです。
リザーブドインスタンスでは、インスタンスファミリー、リージョン、OSを先に決めて1年 or 3年契約することで割引を受けられます。インスタンスに対して先に料金を支払うので、インスタンスをいくら使用しても料金が追加されることはありません。
ここで決めたインスタンス、リージョンについては後から変更はできません。
(ただし、コンバーチブルリザーブドの場合は上記の変更も可能になる。もちろん割引率は減ってしまう。)
適用範囲、柔軟性、割引率の観点で見るとこのような感じになります。
Compute Saving | リザーブド | |
---|---|---|
適用範囲 | 広い | 狭い |
柔軟性 | 高い | 低い |
割引率 | 普通 | 高い |
EC2 Instance Savings Plans
Compute Savings Plansに似ていますが、こちらはインスタンスファミリーのみに適用されるパターンです。
例えば、
Amazon Linux のt2.microから Windowsのt2.microに変更しても割引は適用されます。
Amazon Linux のt2.microから Windowsのm5a.xlargeに変更すると割引は適用されません。
Compute Savings Plansに比べてインスタンスファミリーという限定されたものに条件をつけることでさらに割引が大きくなります。
まとめ
全体を通して、条件を厳しくすればするほど割引率が上がるという感じです。
重要なのは各プランを網羅的に理解するのではなくしっかり要件を定義、理解してその上でコスト削減を行う際に、そういえばこんなプランあったな〜と思い出せることが大切かと思います。
でも資格試験では覚えておかないといけないですが…
間違っている等あればご指摘下さい。