AWS
Beanstalk

Beanstalkを自動的に開始停止させる

More than 1 year has passed since last update.

EC2の自動開始停止はLambdaで可能なのだが、似たようなことをBeanstalkでもできるようにしたい。Beanstalkのアプリケーション自体を終了させる方法があるのだが、これでは次回同じURLを取得できる保証がない。悩んでいるところで方法が見つかった。インスタンスを0-0にするだけでよいのだ。


やりたいこと

月~金の朝8:30~夜21時に、自動的に開始と停止をさせたい。


時間に基づくスケーリング

2018-0603-1.png

[Beanstalk]-[設定]-[容量]の時間に基づくスケーリングを開く。

StartとStopを作成する。日本時間の8:30に1-1にして、21時に0-0にする。「希望する容量」とは起動するときのインスタンスの数。


スケジュール

2018-0603-2.png

繰り返しに「30 23 * * 0-4」と登録。これで月~金の朝8:30になる。終了時間は適当に1年後などにしておく。

(注意点)

月-金は1-5なのだが、日本時間8:30=23:30=前日なので0-4になる。

なぜか[保存]でエラーになるが、一度キャンセル(設定値は記憶されている)再度保存で上手くいった。(2018-05)


まとめ

AWSの月額使用料を減らすのが目的。運用サーバーを停止するなんて無いと思うが、社内の開発サーバーや、営業デモサーバーなどに使用している。