AWS はじめてのEC2スポット・インスタンス
Amazon EC2サーバーで、t1.microよりもよいスペックのサーバーを使いたくて、よい機会なので、(今さらながら)初めてスポット・インスタンスでサーバーを起動してみました。
「スポット・インスタンス」は、EC2で用意されているサーバー価格モデルのひとつで、入札方式により安価で使用できます。
詳細は、以下の資料がわかりやすいと思います。
JAWS-UG札幌における、新さんの資料。
AWSマイスターシリーズの資料。p.54~
かなり安価でEC2サーバーを利用できるのですが、
- 使わないときに停止(Stop)しておくことができない→削除(Terminate)しかできない。
- 「入札額 < スポット価格」となった場合に自動的に削除(Terminate)される!
ということに注意する必要があります。
今回利用したサーバーとスポット価格は下記のとおりです。
実際の課金は「スポット価格」です。
インスタンスタイプ | オンデマンド価格 | 入札額 | スポット価格 |
m1.large | $0.350/h | $0.090/h | $0.067/h |
c1.medium | $0.185/h | $0.060/h | $0.048/h |
利用時間は2時間で、オンデマンド・インスタンスでは$1.07のところ、スポット・インスタンスを利用したことで$0.23で済みました。
およそ8割引!
今回は大したことのないスペックのサーバーで短時間の利用でしたので、せいぜい80円ぐらいの節約でした。
ですが、もっとハイスペックのサーバーである程度まとまった時間や台数で利用するときは節約効果が大きくなります。
スポット価格の変動により、削除(Terminate)されてしまうことへの対処としては、通常のEC2サーバーの運用と同様で、スナップショットやAMIを作成しておけばよいです。
(当たり前かもしれませんが)AMI、ボリューム、スナップショットは、オンデマンドとスポットの区別がないので、
- オンデマンド・インスタンスで作成したAMIをスポット・インスタンスで使用
- スポット・インスタンスで作成したAMIをオンデマンド・インスタンスで使用
のいずれも可能です。
ということで、デモ・実験環境、負荷テストなど、停止してもさほど影響のないケースやバッチ処理などでの利用にはおすすめです。
今回は、ディスクのベンチマークをとってみたかったので、スポット・インスタンスでm1.largeやc1.mediumのEC2サーバーを立ち上げてみました。
ベンチマーク結果はどこかで公開する予定です。
ちょっと前にサーバー構成管理ツールChefを調べてみて、サーバーの基本設定を行ってベンチマークツールを導入するまでのレシピを作ったので、いろいろなクラウドサーバー環境で簡単にベンチマークを実行できるようになってうれしいです。