【ハンズオン】AWSのSavings Plansの割引率を確認して適用する方法

# はじめに

AWSの利用料を節約するために、みなさんは何をしてますでしょうか？
不要なインスタンスを停止する、使ってないEBSボリュームを削除するなど、定期的にゴミ掃除をするのは効果的です。
それ以外に、割引を適用するという方法もあります。
具体的には、**[リザーブドインスタンス](https://aws.amazon.com/jp/ec2/pricing/reserved-instances/)** の使用や、 **[Savings Plans](https://aws.amazon.com/jp/savingsplans/)** の適用などです。

今回は後者のSavings Plansについて説明した後に、具体的に適用する手順を紹介したいと思います。

# Savings Plansとは？

公式サイトに載っている説明は以下のとおりです。

> Savings Plans は、1 年または 3 年の期間で特定の使用量 (USD/時間で測定) を契約するかわりに、オンデマンド料金と比較して低料金を実現する柔軟な料金モデルです。AWS は、Compute Savings Plans、EC2 Instance Savings Plans、Amazon SageMaker Savings Plans の 3 種類の Savings Plans を提供しています。Compute Savings Plans は、Amazon EC2、AWS Lambda、および AWS Fargate 全体の使用量に適用されます。EC2 Instance Savings Plans は EC2 の使用量に適用され、Amazon SageMaker Savings Plans は Amazon SageMaker の使用量に適用されます。AWS Cost Explorer で 1 年または 3 年の期間の Savings Plans に簡単にサインアップし、推奨事項、パフォーマンスレポート、および予算アラートを利用してプランを管理できます。

要は、**長期間（1年 or 3年）の使用をあらかじめコミットしておくことで割引（最大72%）が受けられますよ** という制度です。
割引イメージは以下のような形です。
![image.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/856146e6-b539-1371-f923-6b836567aa00.jpeg)



なお、Savings Plansはキャンセル不可なので、1度コミット（＝購入）した後、やっぱりそんなに使わないとなった場合は損してしまいます。

3種類のプランがあるのですが[SageMaker](https://aws.amazon.com/jp/sagemaker/)は種類が違うので除外して、**「Compute Savings Plans」** と **「EC2 Instance Savings Plans」** の2つをざっくり比較してみます。

|  プラン  |  Compute Savings Plans  | EC2 Instance Savings Plans |
| ---- | ---- | ---- |
|  対象  |  EC2,Fargate,Lambda  | EC2のみ |
|  リージョン指定  |  不要  | 必要 |
|  インスタンスタイプ指定  |  不要  | 必要(m5、t3などファミリー単位) |
|  割引率  |  低い(最大66%)  | 高い(最大72%) |

要は、**「Compute Savings Plans」は後からでも柔軟に変更できるけど割引率低め 、「EC2 Instance Savings Plans」は後から変更はしづらいけど割引率高め** となっています。
一長一短なのでどちらがいいかは、システム特性に応じて決めましょう。

# 購入方法と割引率の確認

[Cost Explorer](https://aws.amazon.com/jp/aws-cost-management/aws-cost-explorer/)の **「推奨事項」** をチェックするのが一番わかりやすいと思います。

![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/15aa6b74-2c82-7973-dd05-625387ffaf42.jpeg)

まずはさきほど説明したプランを「Compute Savings Plans」、「EC2 Instance Savings Plans」のどちらか選択します。
そして以下の3つを選択します。
- **期間** （1年間 or 3年間）
    - **長い方（3年）が割引率が高い**
- **支払いオプション** （全額前払い or 一部前払い or 前払いなし）
    - **「全額前払い」が最も割引率が高い。** 「前払いなし」は割引率が低い
- 基準とする直近の期間（7日 or 30日 or 60日）
    - これはSavings Plansのコミット金額を決める上での推奨値に影響する

これで割引率を見ていきます。
以下の例はあくまで当方の環境の場合なので、実際の割引率は各自の環境で異なってくると思います。

### 例①-1 Compute Savings Plans、1年間、前払いなし（割引率14%）
![02-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/cf1d688e-79f1-c212-6953-30705af1246a.jpeg)


### 例①-2 Compute Savings Plans、3年間、全額前払い（割引率33%）
![02-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/703503cd-9e6e-3c2b-a281-9a15f408b930.jpeg)


### 例②-1 EC2 Instance Savings Plans、1年間、前払いなし（割引率23～30%）
![03-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/161897e5-21d9-75d2-a380-c46aab9f16e0.jpeg)


### 例②-2 Compute Savings Plans、3年間、全額前払い（割引率41～56%）
![03-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/4b57a134-f6c7-c787-41e2-36a8c4277e2b.jpeg)

# 購入手続き

プランが決まったらカートに入れて購入手続きをします。
以下は例①-1をカートに入れたときの画面です。

![04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/d3108514-7150-40ba-468c-69a22e3956a2.jpeg)

ここで **「1時間あたり支払う金額」** にあたる **「コミットメント」** が重要です。
この金額は、リソースを使わなかろうが1年間はずっと支払い続けることになります。
そして、 **「合計コスト」** は1年間に支払う総額になります。

あとはオプションで開始期間も選択できます。
この内容で納得いけば **「注文書の送信」** を押しましょう。
以下の画面がでれば完了です。

![06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/4217b5b7-dbae-9774-b181-76523425e1fa.jpeg)


# コミットメント金額を調整したい場合

今回は推奨プランから出された金額をそのまま購入しますが、調整したい場合もあると思います。
その場合は、 **「Savings Plansの購入」** からコミットメントを個別に指定してカートに入れて手続きしましょう。

![05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272753/3fd48f74-3af5-c7b2-2ebb-ba7e0d7de4e3.jpeg)

# さいごに

ということで、Savings Plansの適用についての記事でした。
AWS利用料はほっとくと高くなりがちなので、こういったプランを使ってうまくコストを低減していきましょう。

# 参考

https://d1.awsstatic.com/events/jp/2021/summit-online/AWS-13_AWS_Summit_Online_2021_CMP01.pdf