CDP:Scheduled Scale Outパターン

From AWS-CloudDesignPattern
Jump to: navigation, search

サーバ数のスケジュールにあわせた増減

Contents

解決したい課題

クラウド環境で構築されたWebサービスにおいて高いトラフィックを処理する場合、Scaleoutパターンが効果的である。 しかしながら、短時間(数秒〜5分程度)にアクセスが急増すると、スケールアウトさせるインスタンスの起動が間に合わず、手動やサーバの負荷状況をトリガしたScaleoutでは対処しきれない場合もある。


クラウドでの解決/パターンの説明

瞬間的にアクセスが急増するタイミングが分かっている場合、スケジューリングされたスケールアウトが有効となる。 スケールアウトパターンと基本構成は似ているが、スケールアウトするタイミングを時間指定して実行する事が主な特徴である。 事前にスケールアウトを完了させておく事でトラフィックの急増に万全の体制で対応する事が出来、さらに直前にスケジューリングを行うことで無駄な費用も最小限におさえる事が可能となる。

実装

AWSのAutoScalingには時間を指定して設定変更を行う機能が存在する。 この機能を上手に使用する事でスケジューリングされたスケールアウトが構築可能である。
もちろん、トラフィックが落ち着くであろう時間帯を指定してスケールインする事も可能となる。

  • Scaleoutパターンを参考にAuto Scalingを設定する(スケールアウトのトリガ、スケールインのトリガを含む)
  • 増加させたい時刻を指定して、インスタンスの最小台数(--min-size)を用意したいインスタンス分に変更する
  • 指定した時刻になると、上記で指定した最低台数までインスタンスが起動する
  • 負荷が落ち着いたタイミングで、再度インスタンスの最小台数を少なくすると、その設定したトリガに従いスケールインする

構造

Q0aYpBg64ulFCCOe-015FE.png

注意点

  • 指定する時間はUTC時間となる
  • 急激なトラフィック増加の場合はEC2だけでなく、ELB自身も事前にスケールアウトする必要があるため、適宜暖気申請を行う事
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox