Amazon EC2 スポットインスタンスを試す(料金比較と価格変動)


今回はAmazon EC2 スポットインスタンスの話です。主に料金についてまとめています。

[Compute & Networking_Amazon EC2--

今まではさくらのVPSでJenkinsを動かしていて、そこでビルドやデプロイをしていたのですが、さくらのVPSを解約してしまったので、代替策としてEC2 スポットインスタンスを利用します。

t2.microを1ヶ月使うと1700円くらいで結構高いので、スポットインスタンスで安く抑える作戦です。

https://aws.amazon.com/jp/ec2/purchasing-options/spot-instances/

参考リンク

スポットインスタンスの説明などは以下のリンクなどが参考になります。

http://recipe.kc-cloud.jp/archives/321

公式のスライドも役に立ちます。

http://www.slideshare.net/AmazonWebServicesJapan/20150325-aws-blackbeltrispotpublic

インスタンス候補

今回はJenkinsを動かしてそこでビルドやデプロイを行わせます。なので、常に忙しい訳でもなく、またそこそこのメモリとCPUさえあれば別に問題ありません。

JenkinsではGitHubからコードをDLして、ビルドしてS3に成果物をupload、というのがほとんどですので、東京リージョンである必要も無いかもしれません。

そこでバージニア北部と東京両方を考慮してみます。

以下にインスタンス候補と、大体の性能や料金をまとめました。Spot料金はアベイラビリティゾーンによって変化しますし、毎時間変動しますので、大体の平均を適当に目で見て出しています。

モデルvCPUメモリ(GiB)通常料金 (バージニア北部, $)通常料金 (東京, $)平均Spot料金 (バージニア北部, $)平均Spot料金 (東京, $)価格変動 (バージニア北部)価格変動 (東京)
t1.micro可変0.6150.020.0260.00310.0031
m1.small11.70.0440.0610.00710.0101
m1.medium13.750.0870.1220.01100.0107
m1.large27.50.1750.2430.01700.0201
m3.medium13.750.0670.0960.00950.0146
m3.large27.50.1330.1930.01660.0225
m4.large280.1260.1830.01800.0277
c4.large23.750.110.140.03000.0256
c4.xlarge47.50.220.2790.04000.0447
c3.large23.750.1050.1280.01880.0245
c3.xlarge47.50.210.2550.04000.0505

c4.largeなどは価格の変動率が非常に高く、使い物になりませんでした。プログラマティックにEC2を立てたり、落としたりできる環境では良いかもしれませんが、今回のようなできるだけ落とさずに維持したい場合には不向きかもしれません。(Jenkinsのセットアップを自動化できれば十分ありですが)

今回は価格の変動が少なく、かつ安い東京のm1.smallを利用します。0.0101$なので1ヶ月利用しても約871円ほどです。(価格が変わらなければ)

インスタンス作成

これは先ほど挙げたリンクで十分解説されているので、省略します。

普通にスポットインスタンスのリクエスト作成から自分でぽちぽちして行くだけです。

まとめ

無事にインスタンスが立ち上がったので、docker container(+AutoBackup)化していたJenkinsを立ち上げて、無事運用を開始できました。

今後も小規模だったり重要でないものはスポットインスタンスを活用して行きたいです。