Pocket

AWS EC2 スポットインスタンスの利用方法

  • add this entry to hatena bookmark

Amazon EC2 スポットインスタンスは、EC2を入札形式でインスタンスを利用できる機能です。自分が指定した入札価格が、変動スポット料金よりも高い状態の時に、EC2インスタンスを利用できるようになります。しかし、変動スポット料金が、自分が指定した入札価格よりも高くなった場合は、インスタンスが停止します。このような利用条件がありますが、用途上で問題がなければ、他のEC2価格モデルよりもかなり安価にEC2を利用できます。

今回、EC2 スポットインスタンスを使ってみましたので、その記録となります。

どのくらい安価なのか

例ですが、私が今回(2013/06/08)調べた時点は、リージョンが東京の場合、「マイクロ」での料金差異は以下でした。

  • マイクロ オンデマンドインスタンス: $0.027 1時間あたり
  • マイクロ スポットインスタンス:$0.007 1時間あたり

約26%の料金($0.007/$0.027)でEC2マイクロインスタンスを利用できる状態でした。

スポットインスタンスを利用する方法

AWSマネジメントコンソールから、スポットインスタンスの利用リクエストを行います。

  1. ログイン後、EC2管理画面を表示します。
  2. 左メニューにて「Spot Requests」リンクをクリックします。
  3. 画面上部にある「Pricing History」と「Request Spot Instances」を使って、欲しいインスタンスの入札設定を行います。

以降では、「3」の「Pricing History」と「Request Spot Instances」の利用方法を順番に記載しています。

1.Pricing History で料金状態の確認

まずはじめに、現時点のスポットインスタンス料金を把握する為に、「Pricing History」ボタンをクリックし、料金情報を確認します。

1_spot_instance_pricing_history

この画面情報で、どの料金であれば安く入札を行えるか、という料金を把握します。

私は今回、以下の条件で料金確認を行ったのですが、$0.0075 で入札できそうな感じでした。

  • Product: Linux/UNIX
  • Instance Type: t1.micro
  • Date Range: 1 day
  • Zone: All zones

「Pricing History」画面は以上ですので、「Close」ボタンで画面を閉じます。

2.スポットインスタンスをリクエスト

次に、「Request Spot Instances」ボタンをクリックします。すると、「Request Instances Wizard」画面が表示されます。

2_choose_an_ami

「Quick Start」タブの「Amazon Linux AMI」を「Select」ボタンで選択します。

次の画面では、スポットリクエストするインスタンス情報を指定します。

3_instance_details-1

まず、画面上部で以下を指定します。

  • Number of Instances: 1
  • Instance Type : T1 Micro(t1.micro, 613MiB)

次に画面下部の「Request Spot Instances」で入札価格を指定します。「Current Price」が「 $0.007」でしたので、「Max Price」を同じく「 $0.007」に設定しました。

「Request Valid From」と「Request Valid Until」は入札期間の設定のようです。今回は短期間の利用目的でしたので、入札期間自体もとりあえず直近の30分で指定しました。

「Continue」ボタンをクリックすると、以下の画面が表示されます。

4_instance_details-2

そのまま引き続き、「Continue」ボタンをクリックすると、以下のStorageデバイスの設定画面が表示されます。

5_instance_details-3

変更する必要がなかったので、そのまま引き続き、「Continue」ボタンをクリックすると、以下のKey Pair 作成画面が表示されます。

6_create_key_pair

Key Pair に名前を付けて、ダウンロードします。ダウンロードしたファイルを使って、後ほどスポットインスタンスにSSHログインする事になります。

次は、FireWallの設定画面になります。

7_configure_firewall

SSHでログイン出来るだけで良い場合は、このまま「Continue」ボタンをクリックします。次の画面では、スポットリクエストの内容をレビューできる画面が表示されます。

8_review

問題なければ「Submit」ボタンをクリックします。すると、スポットリクエストが作成されます。

9_your_spot_requests

「Your Spot Requests are now being created.
View your Spot Requests on the Spot Requests page」と表示されています。「Close」ボタンで画面を閉じ、画面左メニューから「Spot Requests」画面を確認してみると、どうやら入札できており、インスタンスが起動しているようです。

10_spot_requests

インスタンス画面を見てみると、スポットリクエストした t1.micro インスタンスが「running」状態となっていました。

11_Instances

インスタンスの情報を確認し、「Public DNS」で表示されているインスタンスにPingを打ってみると、ICMP応答はありませんが、対応したグローバルIPアドレスが表示されます。

3.SSHで接続

「Public DNS」で表示されているアドレスにSSH接続を行ってみます。

ログインアカウントは「ec2-user」がデフォルトで作れられています。しかし、初期パスワードは設定されていません。先ほどダウンロードしたKey Pair ファイルを使ってログインを行います。

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2013.03-release-notes/
There are 2 total update(s) available
Run "sudo yum update" to apply all updates.
$

なお、rootアカウントについて初期パスワードが設定されていないため、sudoを使ってパスワードを設定します。

$ sudo su -
# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# exit
logout
$ su -
Password:(設定したパスワードを確認)
#

uptimeコマンドで起動時間を見てみると、作成したばかりですので、つい先ほどの時間になっています。

4.スポットインスタンスを停止

入札した価格よりも、スポット料金が高くなったら、スポットインスタンスは停止されますが、スポットインスタンスが不要になった時点で停止(Terminate)してしまえば、請求料金をさらに抑えられます。

最後に

スポットインスタンスは、利用者の用途とスポットインスタンスの仕様が合致すれば、非常に有用なサービスだと思います。「いつ停止されても良いので、その代わり安価にコンピュータリソースを使いたい」という要望は結構あると思います。

私はちょいちょい使っていこうかなと思います。

読者登録はいかがでしょうか?RSS配信中です。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。