リザーブドインスタンスの購入手順

2015.07.03

AWSのコスト最適化に欠かせないのが、リザーブドインスタンスの活用です。

このリザーブドインスタンス、長期(1年 or 3年)利用をコミットすることで、

  • 割引料金が適用される
  • キャパシティ予約ができる(予約分のインスタンスを起動できる保証)

というものですが、購入時にインスタンスタイプなどのリザーブ条件を指定する必要があり、この条件に合致したインスタンスに対してのみに割引料金/キャパシティ予約が適用される、という注意点があります。

また、リザーブドインスタンスは購入をキャンセルすることはできません。

リザーブドインスタンスの要件チェックリスト - Amazon Elastic Compute Cloud

購入のキャンセル – 購入を承認する前に、購入しようとしているリザーブドインスタンスの詳細を見て、すべてのパラメータが正しいことを確認してください。リザーブドインスタンスを購入した後では(リザーブドインスタンスマーケットプレイス でサードパーティの販売者から、または AWS のいずれの場合も)、購入をキャンセルすることはできません。

リザーブドインスタンス購入の作業自体は難しくはありませんが、キャンセルが出来ないと思うと「Continue」などのボタンを押すときは思わずその手に緊張が走ります。

ということで、今回は自身の備忘も兼ねてリザーブドインスタンスの購入手順をまとめてみました。

リザーブドインスタンスの対象

リザーブドインスタンスはEC2、RDS、Redshift、ElastiCacheで利用可能です。(RedshiftとElastiCacheはノード単位での購入となるのでリザーブドノードという言い方をされます。)

リザーブドインスタンスの購入は、いずれもAWSのマネージメントコンソールから行う事ができます。順番に手順を見て行きましょう。

EC2

リザーブ条件(EC2)

購入時に以下を選択する必要があります。

|項目 |選択肢 | |:---|:---| |プラットフォーム(Platform)|Linux/UNIX SUSE Linux Red Hat Enterprise Linux Windows Windows with SQL Server Standard Windows with SQL Server Web| |アベイラビリティゾーン(Availability Zone)|ap-northeast-1a, ap-northeast-1c など| |借り方(Tenancy)|default(共有)/dedicated(専有)| |インスタンスタイプ(Instance Type) |t1.micro など| |契約期間(Term) |1month - 12month(1年)/13month - 36month(3年)| |支払方法(Offering)|No Upfront(前払いなし)/Partial Upfront(一部前払い)/All Upfront(全前払い)|

アベイラビリティゾーンも条件に含まれていますので、EC2インスタンスを起動するときは注意が必要です。(リザーブドインスタンスを"a"で買ったのにインスタンスを"c"で起動すると割引料金が適用されない、とう事態に。)

またプラットフォームについて、2013年5月以前に作成されAWSアカウントに対してはEC2-Classicが選択肢として表示されるので、こちらも注意が必要です。

契約期間と支払方法の選択肢は以下の5種類となります。(3年の場合はNo Upfrontは選択できません。)

  • 1年, No Upfront
  • 1年, Partial Upfront
  • 1年, All Upfront
  • 3年, Partial Upfront
  • 3年, All Upfront

リザーブドインスタンスの変更(EC2)

以下のリザーブ条件については、購入後に変更が可能です。

  • アベイラビリティーゾーン(同一リージョン内のみ)
  • ネットワークプラットフォーム(EC2-Classic/EC2-VPC)
  • インスタンスサイズ(同一インスタンスファミリー内のみ、Linuxプラットフォームのみ)

インスタンスサイズはLinuxプラットフォームでのみ変更が可能です(※ただしRedHatとSUSE Linuxではライセンスの相違によりインスタンスサイズの変更はサポートされません)。また同一インスタンスファミリー内での変更のみ可能となっていますので、「t2.small」を「m3.medium」に変える、などの変更はできません。

インスタンスサイズの変更はダウングレード(分割)またはアップグレード(統合)という方法で行います。

  • ダウングレード(分割)の例:m3.large × 1台 ⇒ m3.small × 4台 に変更
  • アップグレード(統合)の例:m3.small × 4台 ⇒ m3.large × 1台 に変更

どのインスタンスサイズ何台を、どのインスタンスサイズ何台にダウングレード/アップグレードできるかは、インスタンスサイズのフットプリントによって決定されます。このフットプリントはインスタンス数とインスタンスサイズ毎に定義された正規化係数とで計算されます。

インスタンスのサイズ 正規化係数
micro 0.5
small 1
medium 2
large 4
xlarge 8
2xlarge 16
4xlarge 32
8xlarge 64
10xlarge 80

m3.largeが2台の場合を例に取ると、

  • フットプリント = m3.largeの台数 × 正規化係数 = 2 × 4 = 8

となるので、フットプリントの合計が「8」となる範囲内でインスタンスサイズの変更が可能となります。(micro×16台、small×8台、medium×4台へのダウングレード、またはxlarge×1台のアップグレードが可能。)

リザーブドインスタンスの購入手順(EC2)

それでは実際のリザーブドインスタンスの購入手順を見てみましょう。

▼ EC2のマネージメントコンソールを開き、リージョンを選択

▼ 「リザーブドインスタンス」を選択

EC2-RI-2

▼ 「リザーブドインスタンスの購入」をクリック

EC2-RI-3

▼ リザーブ条件を選択し、「検索」をクリック

EC2-RI-4

▼ 条件に合致するリザーブドインタンスが一覧に表示されるので、「希望数量」を入力し「カートに入れる」をクリック(画面下側にリザーブドインスタンスの数と合計金額が表示される)

EC2-RI-5

▼ 上記の操作を繰り返し、必要なリザーブドインスタンスをカートに入れる

▼ 全てのリザーブドインスタンスをカートに入れた後、「カートを見る」をクリック

EC2-RI-7

▼ 確認画面が表示されるので、リザーブ条件とインスタンス数を確認し「購入」をクリック ⇒ 購入処理が実行される

EC2-RI-8

リザーブ条件で検索してはカートに追加を繰り返して、必要な数のリザーブドインスタンスを購入します。

RDS

リザーブ条件(RDS)

|条件項目 |選択肢 | |:---|:---| |DBエンジン(Product Description)|mysql oracle-ee(byol) oracle-se(byol) oracle-se1(byol) oracle-se1(li) postgresql sqlserver-ee(byol) sqlserver-ex(li) sqlserver-se(byol) sqlserver-se(lo) sqlserver-web(li) |インスタンスクラス(DB Instance Class)|db.t1.micro など| |マルチAZの利用(Multi AZ Deployment)|Yes/No| |契約期間(Term) |1year/3years| |支払方法(Offering)|No Upfront(前払いなし) Partial Upfront(一部前払い) All Upfront(全前払い)| |タグ(Reserved DB Id)(オプション)|<リザーブドインスタンスの購入履歴をトラックするためのタグ>|

RDSは2015年6月に料金体系が新体系に移行され、EC2と同様の料金体系となりました。

リザーブドインスタンスの変更(RDS)

RDSでは購入後のリザーブ条件の変更はできません。

リザーブドインスタンスの購入手順(RDS)

▼ RDSのマネージメントコンソールを開き、リージョンを選択

▼ 「リザーブドの購入」を選択

RDS-RI-2

▼ 「リザーブドDBインスタンスの購入」をクリック

RDS-RI-3

▼ リザーブ条件とインスタンス数を選択/入力し、「次へ」をクリック

RDS-RI-4

▼ 確認画面が表示されるので、リザーブ条件とインスタンス数(Quantity)を確認し「次へ」をクリック ⇒ 購入処理が実行される

RDS-RI-5

EC2よりもリザーブ条件項目が少ないので作業ミスは起きにくいかと思いますが、 EC2のそれとはUIが異なり、確認画面で「購入」ではなく「次へ」ボタンをクリックすることで購入が確定しますので注意しましょう。

Redshift

リザーブ条件(Redshift)

|条件項目 |選択肢 | |:---|:---| |ノードタイプ(Node Type)|dc1.large など| |契約期間(Term) |1year/3years| |支払方法(Offering)|No Upfront(前払いなし) Partial Upfront(一部前払い) All Upfront(全前払い)| |タグ(Reserved Cache Node Id)(オプション)|<リザーブドインスタンスの購入履歴をトラックするためのタグ>|

リザーブ条件はRDSより更にシンプルです。

Redshiftも2015年6月の新インスタンス「DS2」のリリースに合わせて、料金体系が新体系に移行されました。

リザーブドインスタンスの変更(Redshift)

RDS同様、Redshiftも購入後のリザーブ条件の変更はできません。

リザーブドインスタンスの購入手順(Redshift)

※Redshiftのマネージメントコンソールは本ブログ執筆時点では日本語化されていません。

▼ Redshiftのマネージメントコンソールを開き、リージョンを選択

▼ 「Reserved Nodes」を選択

Redshift-RI-2

▼ 「Purchase Reserved Nodes」をクリック

Redshift-RI-3

▼ リザーブ条件とノード数を選択/入力し、「次へ」をクリック

Redshift-RI-4

▼ 確認画面が表示されるので、リザーブ条件とノード数(Quantity)を確認し「Purchase」をクリック ⇒ 購入処理が実行される

Redshift-RI-5

Redshiftは「Purchase」ボタンで購入確定です。

ElastiCache

リザーブ条件(ElastiCache)

|条件項目 |選択肢 | |:---|:---| |DBエンジン(Product Description)|memcached/redis| |ノードタイプ(Node Type)|cache.t2.micro など など| |契約期間(Term) |1year/3years| |支払方法(Offering Type)|LIght Utilization(軽度使用) Medium Utilization(中度使用) Heavy Utilization(重度使用)|

ElastiCacheは料金体系が旧体系のままとなっています。

また、LIght Utilization(軽度使用)とMedium Utilization(中度使用)については旧世代のインスタンス(t1,m1,m2,c1)でのみ選択可能となっています。(t2,m3,r3ではHeavy Utilization(重度使用)のみ選択可能。)

それぞれの支払い方法の詳細は以下をご参照ください。

リザーブドインスタンスの変更(ElastiCache)

ElastiCacheも購入後のリザーブ条件の変更はできません。

リザーブドインスタンスの購入手順(ElastiCache)

※ElastiCacheのマネージメントコンソールは本ブログ執筆時点では日本語化されていません。

▼ ElastiCacheのマネージメントコンソールを開き、リージョンを選択

▼ 「Reserved Cache Nodes」を選択

ECC-RI-2

▼ 「Purchase Reserved Cache Nodes」をクリック

ECC-RI-3

▼ リザーブ条件とノード数を選択/入力し、「次へ」をクリック

ECC-RI-4

▼ 確認画面が表示されるので、リザーブ条件とノード数(Quantity)を確認し「Purchase Now」をクリック ⇒ 購入処理が実行される

ECC-RI-5

ElastiCacheは「Purchase Now」ボタンで購入確定です。「Now」という単語がこれを押せば購入確定!な雰囲気を感じさせます。

まとめ

RDS, Redshift, ElastiCacheは購入後のリザーブ条件の変更はできません。またEC2はインスタンスの統合・分割など、一部のリザーブ条件の変更は可能ですが変更できる範囲が限られています。購入後のキャンセルもできませんので、事前にしっかりと購入計画を立てて、ダブルチェックが効く体制で作業に望みましょう。

リザーブドインスタンスの購入計画については、以下を参考になさって下さい。

参考