はじめに
AWSでEC2を利用する際、ほとんどの場合Auto Scaling を利用してスケールアウト・インを行い、無駄なコストを抑えつつ可用性を担保させるかと思います。
自分も例に漏れずAuto Scaling を利用しているのですが、最初の方はどういった内容でScaling Policy を作成すればいいかわからなかったので、これまでのアクセス数の推移から、一旦スケジューリングによってScalingさせることにしました。
Auto Scaling のスケジュールはコンソール画面からは変更ができず、CLIやAPIからしか変更できません。1
メモ程度ですが、CLIからスケジュールを登録・更新する方法を記載します。
前提
-
PutScheduledUpdateGroupAction
の権限をユーザが保持していること。 - Auto Scaling Group が既に作成されていること。
- 今回は以下のようにinstance数を増減させる想定とします。
2:00~6:30 ⇒ 2つ
6:30~17:30 ⇒ 4つ
17:30~2:00 ⇒ 6つ
変更手順
- 深夜2時にinstance数を2つに設定
スケジュール登録するときに注意することは時刻がUTCであるということです。
- 6時30分頃にinstance数を4つに増加
ここで6時15分(JST)にして設定しているのはinstanceの起動には時間を要するため、6時30分に4つinstanceが欲しい場合は、それより10分~15分程度前にinstance起動を開始させる必要があるためです。
- 17時30分頃にinstance数を6つに設定
ここで17時15分(JST)にして設定しているのは先ほどと同じ理由です。
- 設定の確認
最後にちゃんと設定されているか確認します。
スケジュールの更新も同じaws autoscaling put-scheduled-update-group-action
コマンドで行います。
以上
-
数日前にコンソールから登録・更新が可能となりました。【新機能】スケジュールベースのAuto ScalingをAWS Management Consoleから操作できるようになりました ↩