[セッションレポート] Amazon EC2 Purchasing Deep Dive and Best Practices #reinvent

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

この記事は AWS re:Invent 2014のSDD421 - Amazon EC2 Purchasing Deep Dive and Best Practicesのレポートです。

レポート

EC2の購入についてのベストプラクティスについてです。

DSC_1464

 EC2利用の最適化への鍵

  • 使用量とコストを測る
  • 適正サイズのリソース
  • 使用量を管理する
  • プロダクトに使用モデルを合わせる

DSC_1467

 プロダクト使用モデルを合わせる

DSC_1470

購入オプション一覧

  • オンデマンドインスタンス
  • リザーブドインスタンス
  • スポットインスタンス

DSC_1478

オンデマンドのユースケース

  • 事前支払い無しでEC2の低コストと柔軟性を望む
  • 中断できないスパイキーか予測できないワークロードのアプリケーション
  • 初めてアプリケーションを開発したりテストする

DSC_1486

インスタンスはどのように予約するか?

  • "リザーブドインスタンス"(RI)は予約
  •  起動と課金でのインスタンスのパターンマッチング

DSC_1488

予約パターン

  • インスタンスモデル
  • リージョンとAZ
  • OS(BYOLの場合はLinux/UNIXを購入する)
  • ネットワークモデル
  • 手ナンシー

DSC_1491

3つのRIタイプ

  • 重度使用
  • 中度使用
  • 軽度使用

DSC_1492

リザーブドインスタンスのユースケース

  • 常時起動か予測可能な使用をするアプリケーション
  •  ディザスタリカバリ等の予約キャパシティを必要とするアプリケーション
  • 長期的なコミットメントができ、割引のために前払いができるユーザ

DSC_1494

 リザーブドインスタンスの割引

  • 前払いの合計金額に応じてボリュームディスカウントがあります。

DSC_1496

 Consolidated Billing

  • Consolidated Billingとは?
  •  CBグループでリザーブドインスタンスはどのように動作するのか?

DSC_1501

 リザーブドインスタンスの変更

  • 同じAZへ移行する
  • ネットワークングをクラシックとVPCの間で変更する
  • RIのサイズを変更する

DSC_1509

DSC_1511

 リザーブドインスタンス Marketplace

  • 販売者:コンピュートの変更が必要な時にRIを表示する
  • 購入者 :より短い期間でより低価格になる

DSC_1513

 リザーブドインスタンスを分析する

  • 損益分岐利用率
  • 損益分岐月
  • 資本コスト

DSC_1514

 損益分岐月分析

DSC_1516

 損益分岐路用率分析

DSC_1519

 節約とスケールのためのスポット

  • スポットを一言で言うと
    • スポットインスタンス = 予備のEC2インスタンス
    • スポット価格は需要と供給に基づいてリアルタイムに変動する
    • スポット価格 = スポットインスタンスを1台起動する為の限界の価格
    • スポットインスタンスは提示額 ≧ スポット価格の場合に起動
    • スポットインスタンスはいつでも中断される事が有る
  • 利点
    • 節約:オンデマンドに比べて最大90%オフ
    • スケール:数百数千のEC2インスタンスにアクセスする

DSC_1525

 スポットはどのように販売されている?

DSC_1529

 スポット価格と中断の例

DSC_1532

 大数の法則

  • サンプルサイズが大きくなると、観測結果は期待値に近づく

DSC_1537

 スポットで長期起動を獲得する

  • 大数の法則はEC2とスポットにどのように作用するか?
  • 集約してスポットの成功確率を増加させる

DSC_1541

"停止可能な"アプリケーション

  • よいスポットアプリケーションとは

DSC_1547

 専有インスタンス

  • 専有インスタンスはシングルテナントで動作する
  • リージョン単位で専用する課金
  • 専有インスタンスの時間課金
  • オンデマンドやリザーブドインスタンスが利用できる

DSC_1549

ベストプラクティス

  • 使用状況を計測する
  • 使用率と利用料のアラームをCloudWatchで設定する
  • ガベージ・コレクト

DSC_1551

 AWSの監視管理サービス

  • Amazon CloudWatch
  • Billing Alerts
  • Trusted Advisor
  • Cast Explorer
  • EC2 Usage Reports
  • RI utilization reports
  • その他のAPI:tag, programmatic access, stc

DSC_1552

 

変動する利用率をカバーする

DSC_1566

オートスケーリンググループの階層化

  •  スポットインスタンス
  • オンデマンド
  • 両方の長所を生かす
    • スポットオートスケーリンググループを先にスケールアップ(スケールアウト)させる。
    • オンデマンドオートスケーリンググループを先にスケールダウン(スケールイン)させる

DSC_1567

Amazon Elastic MapReduceの階層

  • タスクノードはスポット
  • マスターとコアノードはオンデマンド/リザーブド

DSC_1573

 結論1

使用状況モデルをフィットさせる

  • 必要な分のみ使う(そして使った分だけ支払う!)
  • 計測と管理
  • 都合良くスケールさせる

DSC_1574

 結論2

最低限についてでは。ありません

価値創造 対 価値獲得

DSC_1575

科学的な方法

  • 疑問
  • 仮説
  • 実験
  • 結果

DSC_1580

  柔軟性が新たな価値を創造する

AWS上の柔軟性 ... 臨床試験中にピボット使用という事は我々に取って非常に有利だ

DSC_1586

さいごに

EC2を賢く使用して、費用の節約を上手く行って行く事が大切ですね。