Amazon EC2 スポットインスタンスを試す(料金比較と価格変動)
今回は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.615 | 0.02 | 0.026 | 0.0031 | 0.0031 | 低 | 低 |
m1.small | 1 | 1.7 | 0.044 | 0.061 | 0.0071 | 0.0101 | 低 | 低 |
m1.medium | 1 | 3.75 | 0.087 | 0.122 | 0.0110 | 0.0107 | 低 | 低 |
m1.large | 2 | 7.5 | 0.175 | 0.243 | 0.0170 | 0.0201 | 中 | 低 |
m3.medium | 1 | 3.75 | 0.067 | 0.096 | 0.0095 | 0.0146 | 低 | 低 |
m3.large | 2 | 7.5 | 0.133 | 0.193 | 0.0166 | 0.0225 | 中 | 中 |
m4.large | 2 | 8 | 0.126 | 0.183 | 0.0180 | 0.0277 | 中 | 中 |
c4.large | 2 | 3.75 | 0.11 | 0.14 | 0.0300 | 0.0256 | 高 | 中 |
c4.xlarge | 4 | 7.5 | 0.22 | 0.279 | 0.0400 | 0.0447 | 高 | 高 |
c3.large | 2 | 3.75 | 0.105 | 0.128 | 0.0188 | 0.0245 | 低 | 低 |
c3.xlarge | 4 | 7.5 | 0.21 | 0.255 | 0.0400 | 0.0505 | 中 | 低 |
c4.largeなどは価格の変動率が非常に高く、使い物になりませんでした。プログラマティックにEC2を立てたり、落としたりできる環境では良いかもしれませんが、今回のようなできるだけ落とさずに維持したい場合には不向きかもしれません。(Jenkinsのセットアップを自動化できれば十分ありですが)
今回は価格の変動が少なく、かつ安い東京のm1.smallを利用します。0.0101$なので1ヶ月利用しても約871円ほどです。(価格が変わらなければ)
インスタンス作成
これは先ほど挙げたリンクで十分解説されているので、省略します。
普通にスポットインスタンスのリクエスト作成から自分でぽちぽちして行くだけです。
まとめ
無事にインスタンスが立ち上がったので、docker container(+AutoBackup)化していたJenkinsを立ち上げて、無事運用を開始できました。
今後も小規模だったり重要でないものはスポットインスタンスを活用して行きたいです。