みなさんこんにちは。ソリューション課の小林です。
本日はAWSの課金コストを下げる事が出来る「リザーブド・インスタンス」についてです。
AWSインスタンスの一般的な課金方法は「オンデマンド・インスタンス」と言われる、利用した時間単位で課金される仕組みです。対して「リザーブド・インスタンス」は予め1年か3年の利用を確約する前提で、その分時間単価が割引きを受けられる課金方式です。いわゆる長期割引のような制度ですね。
リザーブド・インスタンス(以下、RIと省略します)の購入に当たっては、以下3つの組合せパターンがありますのでご紹介します。
目次
リザーブド・インスタンスの購入パターン
①支払方法
・全部前払い ※全部前払いが最も高い割引率を得られます。
・一部前払い ※前払い分を引いた残額を毎月支払う事になります。
・前払い無し ※初期払いが無い分、割引率は低めです。
②期間
・1年(12ヶ月)
・3年(36ヶ月) ※ 3年にしたほうがより高い割引率を得られます。
③提供タイプ
・スタンダードRI ※ "RIの交換"は出来ません。
・コンバーティブルRI ※ "RIの交換"が出来ます。
例えば、「t2.large」を「①全部前払い・②期間1年・③スタンダードRI」で購入する・・・といった買い方になります。
※RIの交換については後ほど解説します。
リザーブド・インスタンスの購入にあたっての注意点
・RIはユニークなインスタンスIDには紐付きません。
インスタンスを作成すると固有のIDが付きますが、RIはインスタンスのユニークID単位での課金ではありません。
RIの概念は"購入したインスタンスサイズの利用権"です。「t2.largeの利用権」を購入すると、アカウント内にt2.largeインスタンスが存在すれば自動的に割引されます。インスタンスの作り直しを行ってIDが変わっても割引条件に合致していれば適用されます。(コピーしたサーバと入換える・・・といった使い方が可能です)
・インスタンスの稼働・停止に関わらず課金されます。
RIは、一定期間分の料金を定額で支払う仕組みです。従ってインスタンスを削除する等で存在しない場合でも、その期間の払戻しは一切されませんので注意が必要です。
・購入したRIと実際に立ち上げたインスタンスが異なると割引が適用されません。
RIの買い間違えをすると、適用にならなかったインスタンスはオンデマンドの料金が課金されてしまいます。「t2.small」のRIを購入したのに、間違えて実際はt2.microを作成し起動していたりすると t2.microは通常のオンデマンド料金が請求されて来ます。(前払い無しRIを購入していると、購入したRIの月額+間違えたインスタンスの従量料金が掛かってしまいます)
購入したリザーブド・インスタンスのスペックを変更したらどうなるのか
気になるのが、インスタンスのサイズやタイプを変更した場合ですね。
スタンダードRIの場合、差額を払って変更後のタイプやサイズに合ったRIへアップグレードする事は出来ません(購入したRIと異なるタイプやサイズに変更すると割引適用されなくなり、変更後のインスタンスにはオンデマンド料金が課金されるようになります)。原則としてサイズ変更後のインスタンスにあったRIを新規に購入する必要がありますのでご注意下さい。
例外として、終了期限が同一日のRIを複数保持していれば、それらをマージや分割して割引適用する方法があります。インスタンスにはAWSが定める"正規化係数"が定められており、"smallなら1"、"largeなら4"と言った具合です。「同じ終了日のt2.smallのRIを4つ保持している」場合、マージして「t2.largeのRIを1つ」に変更する事が出来ます。(t2.smallが4台起動していれば、1台をt2.largeに変更しRIをマージすれば、割引が受けられます。代わりに残ったt2.small3台はその日からオンデマンド料金が発生するようになります)
※ 終了日が異なるRIはマージが出来ませんので、足りない分のRIを買い足して結合すると言う方法は使えません。
※ RIのマージや分割の適用にはいくつかの諸条件があり、例えばWindowsやRedhatインスタンスは、サイズ変更によりライセンスに相違が発生してしまうのでサポートしません。
※ スタンダードRIでは、同じタイプ内でのサイズ変更のみサポートします(t2からm4など同じ汎用タイプである事)。"t2からc4"など、インスタンスタイプが異なる場合はサポートしません。
「終了期日の異なるRIのマージ」や、「異なるインスタンスタイプ間でのマージや分割」をしたい場合は、より柔軟なコンバーティブルRIの購入を検討して下さい。これによりスタンダードRIではサポートしない"RIの交換"が可能になります。(柔軟な運用が可能な分、スタンダードより多少割引率が少なくなります)
その他のリザーブド・インスタンスの変更要件
インスタンスタイプやサイズの変更以外にも、RIは様々な要件を指定して購入が可能であり、その要件を変更する事も出来ます。
・RIのスコープの指定を変更する。
「リージョン」か「アベイラビティゾーン(AZ)」の指定が出来ます。例えば"東京リージョン指定"でRIを購入すると、同リージョン内の全てのゾーンでRIの割引きを受けられます。"ゾーン指定"で購入すると、特定ゾーンに限定される代わりにインスタンスの起動キャパシティが常に予約されます。(いざと言う時にAZのリソース不足で起動できない・・・と言う事が無くなります)
・リージョン指定のRIの場合、アベイラビティゾーン(AZ)を変更する。
例えば東京リージョンで ap-northeast-1aにあるRIをap-northeast-1cへ変更する事が出来ます。マルチAZなどを組む際に有効活用出来ます。
・EC2-ClassicとEC2-VPCの指定を変更する。
EC2-ClassicはM1シリーズなど過去に提供されていたAWSプラットフォームです。現在のEC2-VPCと仕様が大きく異なる環境ですが、EC2-Classic上のRIをEC2-VPCへ変更する事が出来ます。(現在は新規でインスタンスを作成する場合デフォルトがEC2-VPCアカウントになります。EC2-Classicをサポートするアカウントを持っている場合のみ、EC2-VPCからEC2-Classicへの変更が出来ます)
如何だったでしょうか?
社内基盤用のサーバをAWSでクラウド化するなど、同一タイプのインスタンスを常時稼働させるようなケースでは"リザーブド・インスタンス"の利用によって大幅なコスト圧縮を実現する事が出来ます。ぜひ検討してみて下さい。
出典:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-reserved-instances.html