【新機能】スケジュールベースのAuto ScalingをAWS Management Consoleから操作できるようになりました

2016.01.30

西澤です。APIを使いこなせていない方に朗報です。スケジュールベースのAuto Scaling Group操作が、遂にAWS Management Consoleから操作できるようになりました。かなり初期から実装されていた機能ではありますので正直今更感もあるのですが、AWS Management Consoleから参照・変更することができなかった為、ちょっと管理しづらい印象もあり、使いこなせていないユーザが多かったのではないでしょうか?

今回はこの機能の使い方を画面操作を交えて簡単にご紹介したいと思います。現時点では公式ドキュメントは英語のみ対応のようです。

スケジュールベースのAuto Scalingとは

Auto Scalingの利用目的の多くは、コストの最適化になると思います。Auto Scalingポリシーを設定し、システムの負荷に合わせて台数を増減させることで、利用費を必要最低限に抑えることが可能です。この増減させる台数を、システムの負荷等の条件ではなく、スケジュールベースで変更することができるのが、今回ご紹介する機能です。具体的には、Auto Scalingさせる台数の設定、min=?台、max?台、desired=?台をスケジュールベースで変更することができます。

主なユースケースとしては、システム高負荷が予測されている時刻に合わせて、起動する台数を増やし、指定時刻が過ぎたら減らすといったケースが考えられます。バッチ処理のように決められた時刻にだけ動作すれば良いサーバは、コスト削減の為、不要な時間帯は停止しておくことも可能です。

やってみる

それでは早速やってみましょう。事前にテスト用のLaunch Configurationと、min=max=desired=0で設定されたAuto Scaling Groupを用意します。

ScheduledAutoScaling1

今回新規に追加されたのが、"スケジュールされたアクション"というタブです。

ScheduledAutoScaling2

それでは早速設定してみましょう。"予定アクションの作成"から起動されたウィンドウで、"繰り返し"欄で選択できる項目を確認してみました。

ScheduledAutoScaling3

下記より選択することが可能なようです。

  • Cron
  • 5分毎
  • 30分毎
  • 1時間毎
  • 毎日
  • 一度

ここで、"一度"以外の項目を選択すると、"終了時間"という欄も現れました。期間限定でSchedulベースの設定をしたいケースでは、設定の切り戻しを忘れることも考えられますので便利な機能ですね。今回は、こんな感じに設定してみました。

ScheduledAutoScaling4

ScheduledAutoScaling5

ScheduledAutoScaling6

毎日16:45に2台にスケールアウト、16:50に1台にスケールインすれば成功です。

ScheduledAutoScaling7

設定した時刻にインスタンスが起動してきましたね。この設定をしておけば、毎日この時刻に2台になるはずです。

ScheduledAutoScaling8

時間になったらスケールインすることが確認できました!

まとめ

AWS Management Consoleからの設定変更がサポートされたことで、本機能を利用する敷居がぐっと下がったと思います。Auto Scalingから起動されたEC2インスタンスは、どこから起動されたかが見えづらい場合があるので、他の担当者が設定したスケジュールベースの設定情報であっても、目で見て確認できるというのが何より嬉しいですよね。

Auto Scalingをスケジュールベースで利用できるサービスの使い勝手が向上し、地味ながらも運用担当には非常に嬉しいリリースです。拡張され続けるAWSサービスを活用して、利用費を抑えつつ、少しでも楽してシステムを運用していきましょう。