RI(リザーブドインスタンス)について出来るだけ簡単にまとめてみた

アイキャッチ AWS EC2

こんにちは。池田です。札幌はすっかり雪景色ですすっかり寒くなってきました(投稿したあと外へ出ると見事に雪がとけていました...)。

*スタンダードRIの「結合」やコンバーティブルRIの「交換」に関わる記載に一部情報が不足していましたので追記しています。

先日友人と食事をしていたときにRI(リザーブドインスタンス)に関する話題になりました。
その場では下記の記事を参照しつつさらっと説明する感じで済ませたのですが、正しく理解したいと思ったので確かめつつ基本的なことをまとめてみました。

【レポート】AWS のコスト最適化入門#AWSSummit
Amazon EC2リザーブドインスタンス リージョン単位のインスタンスタイプが柔軟になりました
[2016版] Amazon EC2 購入オプションを理解する [コストダウン]

そもそもRIとは?

リザーブドインスタンスという名称からRIもひとつのインスタンスであると思われている方もいらっしゃるかもしれません。実際、冒頭の友人がそうでした。
たとえば、EC2 m4.large(Linux)のインスタンスをオンデマンドで利用すると$0.129/1時間(2017/11/25現在)ですので、1年間常時起動させると0.129x24x365=$1130.04となります。
一方、EC2 m4.large(Linux)のスタンダードRIを全額前払いで購入すると費用は$713(2017/11/25現在)です。
EC2 m4.large(Linux)のスタンダードRIを全額前払いで購入すると、同インスタンスを1年間常時起動させても毎月の請求は発生せず、オンデマンドでの利用と比べておよそ37%コストを削減できます。

ちょっと身近なものに置き換えてみます。
例えば、1ヶ月分バスの通勤定期券を購入した場合、休日などバスを利用しない日が数日あったとしても乗車の度に運賃を支払うよりは安く済むことがほとんどです。
RIも有効期間(1年または3年)の全て、あるいはほとんどの期間でインスタンスを起動させるのであれば、前述の定期券と同じように安く済むことがほとんどです。
つまりRIを購入するというのは「オンデマンドインスタンスの利用料金を割り引いてもらえる定期券を購入すること」と考えるとわかり易いのではないでしょうか。
ただし、購入したRIの適用条件にマッチしたインスタンスを利用しないと割引が適用されないのでご注意ください。

RIに関するAWS公式ドキュメントも多数公開されていますので、購入をご検討中の方はご一読されることをお勧めします。

RI購入時に必要な情報について

詳細はAWS公式ドキュメントに掲載されていますが、購入時には以下の情報が必要となります。
・お支払い方法: 前払いなし、一部前払い、全前払い。
 割引率は、全前払い>一部前払い>前払いなし の順に高く設定されています。
・期間: 1 年間または 3 年間。
 購入後はキャンセルができませんので、3年を選択される場合には当該インスタンスの長期的な利用計画も確認、検討しておく必要があります。
・提供タイプ: コンバーティブルまたはスタンダード
 スタンダードRIの方が割引率が高く設定されています。これは購入時に指定したインスタンスタイプより大きなものへの変更はできない(小さいタイプへの分割および複数の小さいタイプを1つの大きなタイプへ結合することは可能)という制限があるためです。一方、コンバーティブルRIは購入後もインスタンスタイプなどの変更(インスタンスの交換、差額費用の支払いが発生)が可能となっており柔軟性が高いかわりに割引率が(スタンダードRIと比較して)少し低く設定されています。
 両者の違いについてバスの定期券に置き換えると、購入後は路線延長はできない(路線区間を分割し、枚数を増やすことはできる)が割引率が高い定期券がスタンダードRI、購入後に路線を延長した定期券へ(差額を支払って)の交換が可能なかわりに割引率が少し下がる定期券がコンバーティブルRIといえます。
 こちらの記事【社内勉強会】EC2のConvertible RIについてもご覧ください。
 *「変更」「交換」「分割」「結合」それぞれに条件がありますので注意が必要です。例えば、スタンダードRIは前述の「分割」のほかに小さなインスタンスタイプを大きなインスタンスへ「結合」すること(例:4つのt2.smallインスタンスを1つのt2.largeインスタンスに結合するなど)も可能です。
 詳細な変更方法や条件につきましては公式ドキュメントリザーブドインスタンス の変更をご参照ください。

・インスタンスタイプ: たとえば、m4.large。これは、インスタンスファミリー (m4) とインスタンスサイズ (large) で構成されます。
 既存オンデマンドインスタンスの使用料を削減したい場合なども含め、目的に応じたインスタンスタイプを指定する必要があります。
・スコープ: リザーブドインスタンス がリージョンまたは指定するアベイラビリティゾーンに適用されるかについて。
 リージョン内インスタンスへの適用を希望するか、AZを指定しキャパシティ予約の意味合いも持たせるかで選択します。2016年10月の記事にて解説していますのでこちらもご覧ください。
・テナンシー: インスタンスが共有 (デフォルト) または単一のテナンシー (専用) のハードウェアで実行されるかについて。
 ハードウェア専有インスタンスを使用している場合には専有インスタンス用のRIを選択する必要があります。
・プラットフォーム: オペレーティング システム。たとえば、Windows や Linux/Unix。
 2017年11月現在は下記の6種となっております。
 ・Linux/UNIX
  ※ CentOS、Amazon Linuxは「Linux/UNIX」に含まれます。
 ・Red Hat Enterprise Linux
 ・SUSE Linux
 ・Windows
 ・Windows with SQL Server Standard
 ・Windows with SQL Server Web
 *本記事ではEC2インスタンスのみをご紹介しています。RDSインスタンスおよびElastiCacheについてはそれぞれリンク先の公式ドキュメントをご覧ください。

有効期限が切れる(切れた)RIについて

購入済みのRIを期限後も継続して利用したい(割引を適用してもらいたい)場合は「更新」ではなく「再度購入する」必要があります。また、購入の「予約」も行えません。
RIの購入手続きを実施すると通常、数分から数時間の購入処理による待機時間が発生しますが即日適用が開始されます。つまり、昨年12月1日に購入したRIと同じ内容をさらに一年継続したい場合には、11月末日に購入するか12月1日に購入するのが最もコスト効率の良い方法となります。
なお、購入したRIはキャンセルができませんので事前の十分な確認が必要になります。ご注意ください。

まとめ

かなり大雑把ではありますが、以上が2017年11月現在における主にEC2インスタンスRIに関する基礎知識のまとめとなります。
オンデマンドインスタンス、スポットインスタンス、リザーブドインスタンスそれぞれを計画的に組み合わせることでコスト面でも効率の良い運用が期待できます。
多くのオンデマンドインスタンスを常時稼働させている場合には、利用中のインスタンスとコストについて再確認してみるのも良さそうですね。

AWS総合支援サービス「クラスメソッドメンバーズ」なら、RI購入に関するご相談から購入代行までまるごとお任せいただけます!