[Elastic Beanstalk] 時間に基づくオートスケールを試してみた

2016.01.18

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

はじめに

AWSチームのすずきです。

毎日特定時間帯のアクセス数が増加するElasticBeanstalk管理化のWebサイトに対して、 時間に基づくEC2インスタンスのスケーリング設定を施す機会がありましたので、その内容を紹介します。

参考資料

Elastic Beanstalk で Auto Scaling を設定する

設定

設定画面

  • AWSコンソールより、オートスケール設定対象となるeb環境の設定画面を開きます。

eb-scheduled-autoscaling-04

  • 「スケーリング」の設定を開きます。

eb-scheduled-autoscaling-05

  • 時間に基づくスケーリングをより「スケジュールされたアクションの追加」を開きます。

eb-scheduled-autoscaling-07

拡張登録

  • 日中オンタイム、スケールアウトの開始設定を指定します。
  • 該当AWSアカウント、リージョン内で重複しない、英数字で名前を付与します。(記号文字は使えません)
  • 頻度は「繰り返し」を指定します。
  • 日時ジョブで、UTC時間で2時5分、日本時間11時5分に起動する指定とします。
  • 開始時刻は空にします。

eb-scheduled-autoscaling-08

縮小登録

  • オフタイム、スケールインの開始設定を指定します。
  • 頻度は「繰り返し」を指定します。
  • 日時ジョブで、UTC時間で13時0分、日本時間22時0分に起動する指定とします。
  • 稼働時間11時間55分とする事で、12時間でEC2課金が止まる事を期待します。

eb-scheduled-autoscaling-09

設定反映

  • スケジュール登録画面を閉じます。

eb-scheduled-autoscaling-10

  • 意図したスケジュール設定反映された事を確認し、「適用」を実施します。

eb-scheduled-autoscaling-11

  • 1分程度で環境設定が完了します。

eb-scheduled-autoscaling-12

eb-scheduled-autoscaling-13

結果

  • eb管理化のEC2台数、日中4台、深夜早朝は2台で稼働するようになりました。今回、4台のインスタンスを常時稼働させた場合と比較し、 約25%のEC2費用削減が実現できました。

eb-scheduled-autoscaling-02

  • リクエスト数とEC2台数を重ねたグラフは以下のとおりです。

eb-scheduled-autoscaling-03

  • キャンペーンなどで予め多くのアクセス集中が予想される場合、都度実行のスケジュール登録によりより大きな性能変更にも対応可能です。

eb-scheduled-autoscaling-14

まとめ

オートスケールを簡単に設定でき、柔軟な管理が実現出来る様になるElasticBeanstalk、是非一度お試しください。