Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances

224 views

Published on

MasterCloud #4 2017.8.10
https://mastercloud.connpass.com/event/61736/

Published in: Software
  • Be the first to comment

  • Be the first to like this

MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances

  1. 1. MobingiALM で スポットインスタンスを いい感じに手なづけている裏側の話 Masafumi Noguchi 2017.8.10 MasterCloud #4
  2. 2. 自己紹介 ・野口雅史(Masafumi Noguchi) ・Mobingi, Inc. ・github.com/ngratin ・Mobingi blog - https://labs.mobingi.com ・Slack group - https://slack.mobingi.com
  3. 3. Mobingi ALM (Saasサービス) ・アプリケーションをクラウドで動かすことを簡単に。 ・インフラ/アプリケーション実行環境の構築、継続的  なデプロイの自動化。 ・アプリケーション実行環境はDocker を利用。 ・お客様はアプリケーションの開発に集中出来る。
  4. 4. についてのお話 (スポットブロック、スポットフリートではなく通常の  スポットインスタンスのお話です)
  5. 5. とは?
  6. 6. Amazon EC2 の購入オプション オンデマンド 通常の従量課金(長期契約、前払いなし) リザーブド 1~3年間の利用予約 オンデマンドの最大75%割引  スポット 未使用のインスタンスに入札し利用 オンデマンドの最大90%割引 Dedicated Host 専用物理サーバ
  7. 7. Amazon EC2 の購入オプション オンデマンド 通常の従量課金(長期契約、前払いなし) リザーブド 1~3年間の利用予約 オンデマンドの最大75%割引  スポット 未使用のインスタンスに入札し利用 オンデマンドの最大90%割引 Dedicated Host 専用物理サーバ
  8. 8. 料金例 (2017.8.9 10:30時点, 東京リージョン, Linux, 1時間当たりの単価) オンデマンド スポット 割引率 m4.large $0.129 $0.0286 78% m3.medium $0.096 $0.0124 87% r4.large $0.16 $0.0253 84% c4.large $0.126 $0.029 77%
  9. 9. 料金例 (2017.8.9 10:30時点, 東京リージョン, Linux, 1時間当たりの単価) オンデマンド スポット 割引率 m4.large $0.129 $0.0286 78% m3.medium $0.096 $0.0124 87% r4.large $0.16 $0.0253 84% c4.large $0.126 $0.029 77%
  10. 10. なぜ安いのか ・未使用のインスタンスを安くてもいいから使っても  らいたい。(AWS) ・入札形式。入札価格がスポット価格を上回り、空き  があれば利用可能。(需要と共有) ・スポット価格が変動し、入札価格を上回ると強制  ターミネートされる。
  11. 11. スポットインスタンスの仕組み スポット価格 オンデマンド価格
  12. 12. スポットインスタンスの仕組み スポット価格 入札価格 オンデマンド価格
  13. 13. スポットインスタンスの仕組み スポット価格 入札価格 オンデマンド価格 起動可能 起動可能削除 削除
  14. 14. スポットインスタンス価格履歴
  15. 15. スポットインスタンス価格履歴
  16. 16. スポットインスタンスの仕組み スポット価格 入札価格 オンデマンド価格 課金されるのはスポット価格 (入札価格ではない)
  17. 17. スポットインスタンス活用のポイント ・コストを下げつつ継続的にサービスを提供したい - オンデマンドとの併用 - 入札価格 ・強制ターミネート前の処理 - 新規のリクエストは停止しておきたい
  18. 18. スポットインスタンス活用のポイント ・コストを下げつつ継続的にサービスを提供したい - オンデマンドとの併用 - 入札価格 ・強制ターミネート前の処理 - 新規のリクエストは停止しておきたい
  19. 19. スポットインスタンス活用 スタックの重要度や目的に合わせて、お客様自身で スポットインスタンスの割合を設定可能 たとえば、 ・テスト環境であればサービス停止を許容しスポット100% ・QA 環境であればスポット50%  (オンデマンドの数を担保しておく)
  20. 20. 構成 On-Demand Spot
  21. 21. 構成 ・Auto Scaling Group, Launch Configuration の組を  オンデマンドインスタンス用、スポットインスタ  ンス用とで分ける。 ・同じロードバランサの配下に設定する。 ・一般的な組み合わせですが、  AWSでこの構成は自動で設定してくれない。
  22. 22. スポットインスタンス活用のポイント ・コストを下げつつ継続的にサービスを提供したい - オンデマンドとの併用 - 入札価格 ・強制ターミネート前の処理 - 新規のリクエストは停止しておきたい
  23. 23. Cost vs. Availability スポット価格 オンデマンド価格
  24. 24. Cost vs. Availability スポット価格 入札価格 オンデマンド価格
  25. 25. Cost vs. Availability スポット価格 入札価格 オンデマンド価格
  26. 26. Cost vs. Availability スポット価格 入札価格 オンデマンド価格 削除削除 起動可能
  27. 27. Cost vs. Availability スポット価格 入札価格 オンデマンド価格
  28. 28. Cost vs. Availability スポット価格 入札価格 オンデマンド価格 起動可能
  29. 29. スポットインスタンス活用のポイント ・コストを下げつつ継続的にサービスを提供したい - オンデマンドとの併用 - 入札価格 ・強制ターミネート前の処理 - 新規のリクエストは停止しておきたい
  30. 30. 構成 On-Demand Spot
  31. 31. 構成 On-Demand Spot
  32. 32. 構成 On-Demand Spot リクエストは受け付けない ようにしたい
  33. 33. 強制ターミネートの通知を受取る方法 ・インスタンスメタデータで取得 ・強制ターミネートの 2 分前から警告が提供される - 通常は 404 - 強制ターミネート対象の場合、ターミネート時刻が返る http://169.254.169.254/latest/meta-data/spot/termination-time
  34. 34. 強制ターミネートの通知を受取る方法
  35. 35. 強制ターミネートの通知を受取る方法
  36. 36. 強制ターミネートの通知を受取る方法 ・インスタンスメタデータで取得 ・強制ターミネートの 2 分前から警告が提供される - 通常は 404 - 強制ターミネート対象の場合、ターミネート時刻が返る http://169.254.169.254/latest/meta-data/spot/termination-time
  37. 37. modaemon (MobingiALM) ・コンテナ管理デーモン ・docker run/stop, git clone ・NAT (Host - Container) Container Ubuntu Apache PHP modaemon Host OS Docker
  38. 38. ・コンテナ管理デーモン ・docker run/stop, git clone ・NAT (Host - Container) ・メタデータチェック(ELB からデタッチ) Container Ubuntu Apache PHP modaemon Host OS Docker Check metadata modaemon (MobingiALM)
  39. 39. まとめ ・スポットインスタンスを活用してコスト削減 ・オートスケーリンググループを分けることで、  オンデマンドインスタンスの数を担保。 ・MobingiALM では modaemon でインスタンス側で  必要な対応をしている。
  40. 40. さいごに Alibaba Cloud にもスポットインスタンス欲しいですね♥

×