aws spot instanceを攻めてみた 発表用

20
AWS spot instanceを攻めてみた インスタンスグループ三段撃ちの計

Upload: taro-uematsu

Post on 13-Jan-2017

483 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Aws spot instanceを攻めてみた 発表用

AWS spot instanceを攻めてみた

インスタンスグループ三段撃ちの計

Page 2: Aws spot instanceを攻めてみた 発表用

自己紹介

● Taro (ID:naked123)● (株)奇兵隊 所属

Page 3: Aws spot instanceを攻めてみた 発表用

自己紹介

山好き

Page 4: Aws spot instanceを攻めてみた 発表用

自己紹介

猫好き

Page 5: Aws spot instanceを攻めてみた 発表用

自己紹介

● インフラエンジニア○ 15年目

○ CAT4ケーブル作成からクラウドまでなんでも。

Page 6: Aws spot instanceを攻めてみた 発表用

自己紹介

● taptrip○ 累計530万ダウンロード

○ Dairy Active User 22万○ 異文化間コミュニケーションを狙った SNS○ 外人の友達が簡単に作れます

Page 7: Aws spot instanceを攻めてみた 発表用

agenda1. spot instanceって何?

2. こんな風に使ってみた

3. 結果

4. やってみて困った事

5. まとめ

Page 8: Aws spot instanceを攻めてみた 発表用

spot instanceって何?

● AWSの余剰instanceを格安で利用出来る仕組み。

● 変動する価格に入札することで使えます。 入札価格

実際の価格

Page 9: Aws spot instanceを攻めてみた 発表用

spot instanceって何?

● 長所○ 安い

■ うまく使えば80% off !!

● 短所○ instance価格が高騰してると instanceが立ち上げられない。

○ instance価格が高騰すると起動中のspot instanceも突然落とされる。

○ instanceの起動時間が遅い。

Page 10: Aws spot instanceを攻めてみた 発表用

spot instanceって何?

● 安く使えるinstanceだが、使い所が限られる。

● オススメの使い方は・・・○ やり直しがきくタスク

○ マシンの頭数が必要なタスク

○ 遅延可能なタスク

例)hadoopで大量データ集計など

Page 11: Aws spot instanceを攻めてみた 発表用

こんな風につかってみた

● 使い場所は限られるけどコストメリットは魅力。

● コストの大半をAPPとDBが占めているので、ここに使えないものか?

● DBはさすがに怖い・・・

● APPはオートスケールで常に落し上げしている。

● spot instanceの弱点を通常instanceで補う形でAPPに使えないか?

● そうだ、ELBの配下にspotと通常instanceの両方をattachしてみよう!

ということで、こんな構成にしてみました。

Page 12: Aws spot instanceを攻めてみた 発表用

こんな風につかってみた

ELBTheInternet

通常instance group

CPU:85%でinstance追加55%でinstance削除

Spot instance group

CPU:80%でinstance追加50%でinstance削除

DB

APP

APPAPP

APPAPP

APPAPP

APPAPP

メインで活躍

緊急時用

※実環境ではもう一つ固定 instanceのgroupもあります

Page 13: Aws spot instanceを攻めてみた 発表用

こんな風につかってみた

● APP(c3.large)○ 通常価格:$0.105/h○ 入札価格:$0.10/h <==価格が$0.10までは耐えられる

● spot instanceが普通に購入できるうちは、オートスケールでspot instanceを優先

的に起動して処理に当たらせる。

● spot instanceが購入できなかった場合は、通常instanceを起動してサービスを継

続する。

● spot instance価格が高騰してinstanceが落とされた場合も、オートスケールで通

常instanceを起動させてサービスを継続する。

Page 14: Aws spot instanceを攻めてみた 発表用

結果

● 80% offとは行かないまでも50% offくらいになりました。

Page 15: Aws spot instanceを攻めてみた 発表用

結果

● 2015/1から10ヶ月ほど運用してみてサービス全断になるような障害は無し。

● マイナートラブルやパフォーマンスに関するトラブルは日々の運用の中で改善して

安定運用に漕ぎ着けた。

Page 16: Aws spot instanceを攻めてみた 発表用

やってみて困った事

● インスタンス起動が遅い。○ 通常インスタンスが2,3分で起動するのに10分以上掛かることも。

○ CPU使用率が80%越えた時点でオートスケールが発動したのでは遅い。

○ 追加のスポットインスタンスが起動した頃、他のインスタンスは虫の息。

○ 実際の運用では「CPU使用率70%越え」をトリガーにして早めにオートスケールを発動させるように

した。

Page 17: Aws spot instanceを攻めてみた 発表用

やってみて困った事

ELBTheInternet

通常instance group(サブ)

CPU:85%でinstance追加55%でinstance削除

Spot instance group(メイン)

CPU:70%でinstance追加50%でinstance削除

DB

APP

APPAPP

APPAPP

APPAPP

APPAPP

Page 18: Aws spot instanceを攻めてみた 発表用

やってみて困った事

● 価格が安定しない○ 価格が高騰し入札価格を超える事も度々あり。

入札価格

Page 19: Aws spot instanceを攻めてみた 発表用

やってみて困った事

● spot instance価格が高騰したので、通常instanceの出番○ 通常instanceの出番 = 「緊急事態」

○ 悠長に1台ずつ追加していたのではサービス影響が出てしまう。

○ 実際の運用では一気に 5台ずつ追加する設定にしてサービス影響を最小限にするようにした。

Page 20: Aws spot instanceを攻めてみた 発表用

まとめ

● オートスケールと組み合わせる事でspot instanceをAPPサーバとして利用する事

が可能。

● 癖や制限事項を知った上で、適切な設計をしないとサービス影響が出る。

● 仕組みを理解して利用すれば、一歩進んだコストカットが可能。