Amazon EC2 Spot Fleetがマネージメントコンソールから使用できるようになりました。

アイキャッチ AWS EC2

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

ウィスキー、シガー、パイプをこよなく愛する大栗です。
先日Spotインスタンスの新オプションであるSpot Fleetが発表されましたが、この度マネージメントコンソールから使用できるようになったので、ご紹介します。

Amazon EC2 Spot Fleet

Spot FleetはEC2のSpotインスタンスの一種で、指定したキャパシティを満たすSpotインスタンスを起動できます。Spot価格の変化などによりインスタンスが削除されても全体のキャパシティを維持しようとします。

試してみる

Spot Fleetは新しいコンソールで操作できます。
マネージメントコンソールでEC2のスポットリクエストの画面を表示します。下図のように、新しいスポットリクエストコンソールの紹介が表示されるのでぜひお試しくださいをクリックします。

EC2_Management_Console

新しいコンソールが表示されます。

EC2_Spot_Console

Find instance types

まずインスタンスタイプを選択します。 インスタンスタイプの選択方法は、以下の3種類があります。

  1. 全体のインスタンス台数を指定
  2. 全体のvCPU数を指定
  3. 全体のvCPU、メモリ、インスタンスストレージを指定

ここでは「全体のvCPU、メモリ、インスタンスストレージを指定」します。

「Capacity unitで」Costomize your unitを選択して、起動する最小スペックを指定します。
「Target capacity」で起動するインスタンス数を指定します。ここで単位がunitである事に注目します。「Select instance types」のWeighted capacityに応じて各インスタンスの重み付けがされて、重み付けされたスペックの合計が「Target capacity」のunitになります。
ここではM4シリーズの中で重み付けをして、32unitを起動する設定を行っています。

EC2_Spot_Console

Configure

  • IAM role:Spot Fleet用のroleを選択します。対象のroleを作成していない場合はCreate new IAM roleをクリックしてください。
  • Allocation strategu:DiversifiedとLowest Priceから選択できます。各オプションの内容はこちらを参照してください。
  • Newtwork:対象のVPCを選択してください。
  • Security groups:設定するSecurity Groupを選択してください。
  • Availability zones:対象のAZ、Subnetを選択してください。
  • Key pair:起動するEC2のKey pairを選択します。

EC2_Spot_Console

Review

設定内容を確認して、問題がなければLaunchます。
JSON configをクリックするとSpot Fleetの設定内容のJSONファイルをダウンロードできます。

EC2_Spot_Console

しばらくするとインスタンスが起動します。

EC2_Management_Console

起動したインスタンスは以下のようになりました。
M4シリーズのインスタンスタイプが混在していますが、全体のunit数は32となります。

インスタンス ID インスタンスタイプ アベイラビリティーゾーン unit数
i-8717d522 m4.2xlarge ap-northeast-1a 4
i-f316d456 m4.10xlarge ap-northeast-1a 20
i-0317d5a6 m4.large ap-northeast-1a 1
i-4516d4e0 m4.large ap-northeast-1a 1
i-1817d5bd m4.xlarge ap-northeast-1a 2
i-0217d5a7 m4.large ap-northeast-1a 1
i-adb2c00f m4.large ap-northeast-1c 1
i-6eb2c0cc m4.large ap-northeast-1c 1
i-51b2c0f3 m4.large ap-northeast-1c 1
合計 32

さいごに

今回はリソース志向な入札でSpot Fleetを試しました。分散システムなどでコスト最適化を図るには丁度良いのではないでしょうか?