リザーブドインスタンス(以後、RI)は、長期間の利用予約を行うことでEC2などの利用料に割引が適用される制度です。
一見、契約時に指定したインスタンスタイプで、指定した台数を利用しなければならないように思われがちですが、柔軟に割引を適用させることが可能です。
そこで、リザーブドインスタンス(以後、RI)の契約中に、インスタンスタイプの変更を行う方法をご紹介します。

RIとは

RIとは、長期利用を約束するかわりに、オンデマンドインスタンスに比べて料金が大幅に割引される制度です。
1年もしくは3年の長期契約を行う必要があります。
RIには、スタンダードとコンバーティブルの2種類があります。
今回紹介するインスタンスタイプの変更は、どちらのクラスでも適用可能です。

スタンダード コンパーティブル
割引率 高い 低い
リザーブドインスタンスの交換 変更できない 変更できる

リザーブドインスタンスの交換は、インスタンスファミリーやテナンシーなど属性の変更ができないものを、新しいRIと交換する制度です。

RIの購入

RIの購入には、4つの属性を決める必要があります。

属性 解説
インスタンスタイプ m4.largeなどのインスタンスタイプ。
インスタンスファミリー (m4 など) とインスタンスサイズ (large など) で構成される。
リージョン リザーブドインスタンスが購入されているリージョン。
テナンシー インスタンスが共有 (デフォルト) または単一のテナンシー (専用) のハードウェアで実行されるかについて。
プラットフォーム オペレーティング
システム。Windows や Linux/Unixなど。

上記の属性に当てはまるインスタンスが起動した場合に、自動で割引が適応されます。
インスタンスの起動時に、特別な操作は必要ありません。

RIの変更

RIは原則として、属性が当てはまる場合にのみ料金の割引を受けることができます。
しかし、一部の属性では、スタンダードとコンパーティブル両方でRIの変更を行うことができます。

RI属性の変更

アベイラビリティ―ゾーン、インスタンスサイズ(同じインスタンスファミリー内で)やリザーブドインスタンスのスコープなどの属性を変更することができます。
ただし条件があるので注意が必要です。

変更する属性 条件 備考
AZ プラットフォームがLinux及びWindows
ゾーン プラットフォームがLinux及びWindows 失われる利点があるので注意
インスタンスサイズ 同一のインスタンスファミリー内で変更可能
Linux/UNIXのみ
一部のインスタンスファミリーはサポートされない
ネットワーク プラットフォームがLinux及びWindows EC2-ClassicかVPCかの変更
アカウントで利用できるプランに変更できる

上記の変更は、属性そのものを変更します。
属性を変更する場合は、フットプリントが変更前後で一致する必要があります。

フットプリント

各RIには、インスタンスサイズのフットプリントが決められています。
フットプリントは、インスタンスサイズに対応する正規化係数 X 台数 で決まります。

例)
t2.miclo 2台とt2.large1台の場合
0.5 X 2 + 4 X 1 = 5

正規化係数 – AWS公式リファレンス

正規化係数によって決定されたインスタンスサイズの柔軟性

RIは原則として属性に一致したインスタンスのみに適応されますが、フットプリントの範囲内で割引を適用することができます。
一致する必要がある属性は、インスタンスファミリー(t2やt3などで、サイズは問わない)、テナンシー、プラットフォームのみです。

例えば、small(係数1)2台でRIを申し込んだ場合、特別な申し込みなしでsmall2台をmedium(係数2)1台に変更することできます。

1(係数) X 2 = 2(係数) X 1

また、small(係数1)2台でRIを申込み、一台をmedium(係数2)起動した場合、一部(small 1台分)の割引が適応されます。

1(係数) X 2 = 1(係数) X 1 + 2(係数) X 1
フットプリントが1多くなるが、すべてのフットプリントが使用されるように割引が適用される。

インスタンスサイズの柔軟性は、インスタンスファミリー内の最も小さいインスタンスサイズから大きいインスタンスサイズへ、正規化係数に基づいて適用されます。

まとめ

RIでインスタンスタイプを変更したい場合、一部条件がありますが特別な手続きなく、フットプリントの範囲内で効率的に割引が適用されます。

参考

インスタンスサイズの柔軟性 – AWS公式リファレンス