【AWS】Amazon EC2 のリザーブドインスタンス契約について 2013秋版 rev.2【EC2入門】

2013.10.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

先日、Availability Zoneの変更が可能になったというリリースがあった リザーブドインスタンス(RI)ですが、昨日、AWSより発表があり、インスタンスタイプの変更も可能になったとのことでした。

http://aws.amazon.com/releasenotes/0588088505211146

途中までは試すことが出来ましたので、その結果とユーザーガイドより確認した結果を共有します。

当初投稿したものはアップグレード/ダウングレードで幾つか間違ったところがあり修正しております。

RIが適用できる場合

RIが適用できる場合は以下の通りです。

  • リージョン内で違うAZに移動
  • ネットワークプラットフォームの変更(EC2-VPCかEC2-Classic)
  • プラットフォームがAmazon Linux/UnitもしくはWindowsであること
  • 同じインスタンスファミリーで異なるサイズに変更する場合 (New!)

上記を満たしていても SQL Server プラットフォームは対象外とのことでした。想像ですが、ライセンスの問題なのかもしれません。同じインスタンスファミリーであることという部分については次で詳しく見てゆきます。

インスタンスサイズの変更

ユーザーガイド中の Changing the Instance Type of Your Reservations を参考にしています。

インスタンスサイズを変更した場合にRIが適用されますが、幾つか前提知識が必要ですので説明します。

インスタンスファミリー

インスタンスタイプの先頭についているt1.やm1.がインスタンスファミリーです。 同じインスタンスファミリーにおいてのみ、変更後もRIが適用されます。 m1,m2,m3,そしてc1インスタンスが複数のインスタンスサイズを持ちます。 以下のインスタンスタイプについては、同じファミリーの他のサイズが存在しないためRIの変更はできません。

  • t1.micro
  • cc1.4xlarge
  • cc2.8xlarge
  • cg1.8xlarge
  • cr1.8xlarge
  • hi1.4xlarge
  • hs1.8xlarge

Normalization Factor

インスタンスサイズを比較するための概念です。smallの1から8xlargeの64まであります。

  • small 1
  • medium 2
  • large 4
  • xlarge 8
  • 2xlarge 16
  • 4xlarge 32
  • 8xlarge 64

m1.mediumが 4インスタンスあった場合、2x4で8となります。また、m1.xlargeが1インスタンスあった場合も 1x8で8となります。RI的にはm1.medium x 4 と m1.xlarge x 1が同じサイズとなります。 先に説明しましたが、m1とm2のようにインスタンスファミリーが異なる場合は計算できません。あくまで同じファミリーのみとなります。

アップグレード、ダウングレード

サイズの変更には二つのパターンがあります。

ダウングレード

大きなRIを複数の小さなサイズのインスタンスに分けるという方式です。 例えば、m1.largeのRI*2を持っている場合、6つのm1.small RI インスタンスと1つのm1.medium に分けることが出来ます。

ダウングレード

画面で確認してみました。RIの最初の画面がこちらです 01

次のように分割可能です。

02_com

Unit数が異なるとContinueボタンが有効になりません

03_com

今回、テストできるRIがなかったため、この先までは検証できておりません。

アップグレード

複数の小さいインスタンス用のRIを、一つの大きなサイズのRIに変換することが可能です。Unit数を合わせるという点はダウングレードと一緒ですが、同時に購入したRIであるという条件も必要のようでした。 別々の時期に買った同じスペックのRIをアップグレードしようとしましたが、出来ませんでした。

まとめ

今回、更新されたRIインスタンスタイプの変更について説明しました。RIを買った後にEC2のサイズを変更した等で有効に使えていないRIがある場合に便利な機能です。 当初投稿したものは幾つか間違ったところがあり、修正しています。大瀧さん、福田さん、ご指摘、御協力ありがとうございました。AWS詳しい人が一杯いるってよいですよね。

ではでは。