ECS スケジュールによるスケーリング
毎月決まった日時にスケーリングを行いたかったのでApplication Auto Scalingを使ったスケーリング方法についてメモ
*AutoScaling ポリシーが事前に定義されていることを前提とします
スケジュールアクションの確認
aws application-autoscaling describe-scheduled-actions \
--service-namespace ecs
スケジュールアクションの設定
スケールアウト
aws application-autoscaling put-scheduled-action \
--service-namespace ecs \
--schedule 'cron(0 0 1 * ? *)' \
--timezone 'Asia/Tokyo' \
--scheduled-action-name '{スケジュールアクションの名前}' \
--resource-id 'service/{クラスター名}/{サービス名}' \
--scalable-dimension 'ecs:service:DesiredCount' \
--scalable-target-action MinCapacity=3
*毎月1日 00:00にタスク最小数を3に変更
スケールイン
aws application-autoscaling put-scheduled-action \
--service-namespace ecs \
--schedule 'cron(0 0 3 * ? *)' \
--timezone 'Asia/Tokyo' \
--scheduled-action-name '{スケジュールアクションの名前}' \
--resource-id 'service/{クラスター名}/{サービス名}' \
--scalable-dimension 'ecs:service:DesiredCount' \
--scalable-target-action MinCapacity=2
*毎月3日 00:00にタスク最小数を2に変更
スケジュールアクションの削除
aws application-autoscaling delete-scheduled-action \
--service-namespace ecs \
--scheduled-action-name '{スケジュールアクションの名前}' \
--resource-id 'service/{クラスター名}/{サービス名}' \
--scalable-dimension ecs:service:DesiredCount
この記事が気に入ったらサポートをしてみませんか?