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.

CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"

2,466 views

Published on

IVS CTO Night & Day 2015冬@京都にて、モーニングセッションでオートスケーリングとスポットインスタンスについてお話しました。

Published in: Technology
  • Be the first to comment

CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"

  1. 1. Amazon  EC2 Spot  Instances  &  Auto  Scaling Deep  Dive (Morning  Session) Amazon  Web  Service  Japan  K.K. Solutions  Architect Akihiro  Tsukada(@akitsukada)
  2. 2. AWS  Black  Belt  Tech  Webinar  2015 • 今後の配信予定 12⽉月は「新サービス紹介⽉月間」です! – 12/02(⽔水)AWS  IoT – 12/09(⽔水)AWS  WAF – 12/16(⽔水)Amazon  EC2  スポットインスタンス &  Auto  Scaling – 12/22(⽕火)AWS  Black  Belt  年年の瀬座談会 -‐‑‒ Black  Belts • イベントスケジュール http://aws.amazon.com/jp/event_̲schedule/
  3. 3. AWSでの担当 スタートアップのお客様 モバイル系ソリューション AWS  Mobile  Hub Amazon  Cognito サーバレスアーキテクチャ 低コストアーキテクチャ エンジニア的な属性 Ruby,  iOS OOP,  SOLID,  KISS 好き ジャッキーチェン 妻と娘 塚⽥田 朗弘 @akitsukada
  4. 4. はじめに
  5. 5. 今⽇日の⽬目的 Auto  ScalingとEC2スポットインスタンスの 仕様を理理解する それぞれに適したワークロードを理理解する コストカットの規模感を把握する
  6. 6. アジェンダ Amazon  EC2 EC2  スポットインスタンス Auto  Scaling Q  &  A
  7. 7. Amazon  EC2
  8. 8. Amazon  Elastic  Compute  Cloud  (EC2) • 特徴 (http://aws.amazon.com/jp/ec2/) – 必要な時に必要なだけ1時間単位の従量量課⾦金金で 利利⽤用できる仮想サーバリソース – 世界11箇所のリージョンで利利⽤用可能 – 様々なスペック・OSを選択可能 • 価格体系 (http://aws.amazon.com/jp/ec2/pricing/) – インスタンス利利⽤用料料($0.02/hour  〜~) – データ転送量量(OUT  $0.14/GB  )   仮想クラウドサーバ
  9. 9. Amazon  EC2 購⼊入オプション オンデマンドインスタンス スタンダードな時間課⾦金金型インスタンス リザーブドインスタンス 1年年間または3年年間の予約をすることで最⼤大75%の割引 スポットインスタンス 使われていないEC2インスタンスに⼊入札して利利⽤用 最⼤大90%以上の⼤大幅割引 Dedicated  Hosts お客様専⽤用の物理理サーバーを確保
  10. 10. Auto  Scaling • 特徴 (http://aws.amazon.com/jp/autoscaling/) – Amazon  EC2インスタンス群を⾃自動的にス ケール – 耐障害性の向上(インスタンスの異異常を検知 して、新しいインスタンスを起動) – EC2インスタンスの起動料料⾦金金の最適化 • 価格体系 (http://aws.amazon.com/jp/autoscaling/pricing/) – Auto  Scaling⾃自体の利利⽤用は無料料 – Auto  Scalingによって起動されるEC2インス タンスの起動料料⾦金金 • Spotインスタンスとしても起動可能 EC2インスタンスを負荷またはスケジュールに応じて⾃自動増減 Auto Scaling group Desired   Capacity 必要に応じて 追加される Capacity 起動設定 • インスタンスタイプ • AMI • Spot⼊入札価格 など
  11. 11. EC2  スポットインスタンス
  12. 12. Amazon  EC2  スポットインスタンス 余っているEC2インスタンスを低価格で有効活⽤用していただ く仕組み 最⼤大90%以上の割引価格でEC2インスタンスを使⽤用可能 スポット⼊入札アドバイザー、Spot  Fleet、Spot  Blockなど の強⼒力力な周辺ツール Amazon  EMR、Auto  Scalingとの併⽤用が容易易 $1 $
  13. 13. 最近のスポットインスタンスの進化 2015/04 2015/08 2015/10 Spot  Fleet  APIのリリース スポット⼊入札アドバイザーのリリース Spot  Fleet  APIがModify  Fleetに対応 2015/10 マネジメントコンソールがSpot  Fleetをサポート 2015/10 Spot  Blockのリリース
  14. 14. 概念念の整理理 EC2スポットインスタンス(Non  Block) Spot  Fleet Spot  Block
  15. 15. 概念念の整理理 – EC2スポットインスタンス(Non  Block) EC2購⼊入オプションの⼀一つで、スポットインスタンスの 基本となる考え⽅方 管理理コンソールおよびRequestSpotInstances APIで利利 ⽤用できる スポット価格が⼊入札価格を上回るとターミネートされる EC2インスタンスを使う機能の⼀一部(Auto  Scaling、 EMRなど)は、オプションとしてスポットインスタン スの適⽤用を選択できる
  16. 16. 概念念の整理理 – Spot  Fleet EC2スポットインスタンスを効率率率よく利利⽤用するための⽀支 援機能 管理理コンソールおよびRequestSpotFleet APIから利利⽤用 複数のスポットプールにそれぞれ異異なる価格を⼊入札した り、各プールのスポット価格が変動した際の処理理を⾃自動 化したりできる インスタンスの配分戦略略として、最も低価格なスポット プールを優先して使う、極⼒力力多くのスポットプールを分 散して利利⽤用するといった戦略略が選択できる
  17. 17. 概念念の整理理 – Spot  Block スポットインスタンスのオプションではあるが、指定した 時間中(1〜~6時間)はターミネートされないという機能 スポットインスタンスをAPIでリクエストする際、 blockDurationMinutesを指定するとSpot  Blockのリクエ ストになる 管理理コンソールは未対応 このスポット価格は通常のスポット市場とは別体系 スポットインスタンスというより、超短期間かつ途中停⽌止 してもよいリザーブドインスタンスに近い Auto  Scaling、EMR、Spot  Fleetとは併⽤用できない
  18. 18. EC2  スポットインスタンス 基本仕様
  19. 19. EC2  スポットインスタンスの基本ルール リージョン、Availability  Zone、インスタンスタイプ*ごとに、リ アルタイムに変動する「スポット価格」が存在する スポットプールと⼊入札価格を指定し、スポットリクエストする 落落札できた(≒⼊入札価格がスポット価格を上回った)場合、イン スタンスが起動する 実際に課⾦金金されるのは⼊入札価格でなくスポット価格。Spot   Blockリクエストの場合は落落札時の価格で固定。 ⼊入札価格がスポット価格を下回った場合、Spot  Blockリクエスト でない場合は強制ターミネートされる 強制ターミネートされた場合、1時間未満の時間は無料料 ターミネートの2分前から通知を受け取ることができる *リージョン+AZ+インスタンスタイプの単位を「スポットプール」と⾔言う。
  20. 20. 落落札アルゴリズム Web参照 http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/UserGuide/how-‐‑‒spot-‐‑‒ instances-‐‑‒work.html
  21. 21. EC2  スポットインスタンス(Non  Block) スポット価格と課⾦金金チャート
  22. 22. スポットリクエスト(Non  Block)と課⾦金金 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.01 $0.24 $0.30
  23. 23. 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.01 $0.24 $0.30 ②⼊入札額>スポット価格 となったので インスタンス起動 スポットリクエスト(Non  Block)と課⾦金金
  24. 24. 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.01 $0.24 $0.30 ②⼊入札額>スポット価格 となったので インスタンス起動 1h 1h ③1時間 単位の課⾦金金 スポットリクエスト(Non  Block)と課⾦金金
  25. 25. 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.01 $0.24 $0.30 ②⼊入札額>スポット価格 となったので インスタンス起動 1h 1h ③1時間 単位の課⾦金金 ④⼊入札額<スポット価格 となったので インスタンス終了了 スポットリクエスト(Non  Block)と課⾦金金
  26. 26. 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.01 $0.24 $0.30 ②⼊入札額>スポット価格 となったので インスタンス起動 1h 1h ③1時間 単位の課⾦金金 ④⼊入札額<スポット価格 となったので インスタンス終了了 <1h ⑤強制終了了時の1時間 未満の利利⽤用分は⾮非課⾦金金 スポットリクエスト(Non  Block)と課⾦金金
  27. 27. Spot  Block スポット価格と課⾦金金チャート
  28. 28. スポットリクエスト(Spot  Block)と課⾦金金 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.24 $0.30 ③指定した時間が 過ぎたので終了了 6h ②指定した時間中 は課⾦金金額固定
  29. 29. スポットリクエスト(Spot  Block)と課⾦金金 単価 時間 スポット価格 ⼊入札額 課⾦金金額 ①リクエスト 投⼊入 $0.24 $0.30 ③⼿手動でBlock終了了 6h ②指定した時間中 は課⾦金金額固定
  30. 30. Spot  Fleet デモ
  31. 31. ⼊入札戦略略 コスト最⼩小型 オンデマンド ⽣生存優先型 Spot  Fleet  API Diversified Lowest  Cost
  32. 32. スポット⼊入札アドバイザー(2015/08〜~) スポットプールごとに、価格の安定度度を表⽰示してくれる https://aws.amazon.com/jp/ec2/spot/bid-‐‑‒advisor/
  33. 33. Auto  Scaling
  34. 34. Auto  Scaling  Concepts Launch  Configuration • Auto  Scaling  Groupは、 EC2  instanceを起動す るとき Launch   Configuration(起動設 定) を参照する • Launch  Configuration には、AMIやインスタン スタイプに関する情報が 含まれる Scaling  Plan • いつどのようにスケール するかをスケーリングプ ランに定義する • スケーリングプランには、 負荷/SQSベースの動的 なスケーリングと、スケ ジュールベースのス ケーリングがある Auto  Scaling  Groups • EC2インスタンスはAuto   Scaling  Groupで管理さ れる • Auto  Scaling  Groupは EC2インスタンスの最小 数、最大数、希望台数 (オプション)を定義して 作成する
  35. 35. Benefits  of  Auto  Scaling • コスト効率率率: • Automatically   adapt  capacity   to  demand • 可⽤用性: • Counteract   failures  of   instances  or   AZs • 柔軟に調整可能: • With   bootstrapping   &  lifecycle   hooks
  36. 36. 3  types  of  Auto  Scaling Metrics  Based SQS Scheduled  Action
  37. 37. Scaling  on  a  SQS
  38. 38. Scaling  on  a  Metrics CloudWatch
  39. 39. Scaling  on  a  Schedule Elastic Load Balancing Auto Scaling group cron-­like  syntax  for   recurring  scaling   events Schedule   individual  events   (up  to  135  events   per  group) Auto  Scaling CLI  &  SDK  only! Not  available  in  AWS  management  console Set  min  /  max /  desired capacity Elastic Load Balancing
  40. 40. Instance  Lifecycle Scale Out   Event Instance  launching:   Pending InService TerminatingTerminated Scale In   Event Health check   failed
  41. 41. Bootstrapping • サーバの初期化は全て⾃自動化されている必要がある -‐‑‒ 全て設定済みのAMI(“Golden  Image”)を使うか -‐‑‒ 基礎的な設定済みのAMI  +  追加の設定スクリプト -‐‑‒ Via  Userdata (EC2起動時のフックスクリプト) -‐‑‒ Via  Chef/Puppet/Ansible/… -‐‑‒ Using  AWS  CodeDeploy • …
  42. 42. Bootstrapping #!/bin/bash yum –y update; yum install –y ruby; yum install –y aws-cli; cd /home/ec2-user; aws s3 cp s3://aws-codedeploy-us-east-1/latest/ ¥ install . --region us-east-1; chmod +x ./install; ./install auto;

×