EC2をスケジュール起動/停止する際は、CloudWatchからSSMAutomationテンプレートの"StartEC2Instance"や"StopEC2Instance"を使うと、ノンコーディングで簡単です。
Qiitaにも参考になる記事がたくさんあるので、実装されたい方は以下などご参考ください。
CloudWatch Events と Systems Manager で EC2の起動/停止をスケジュール化する
本記事は1スケジュールで複数EC2を操作した際に詰まった注意点を書きます。
複数EC2指定時の注意点
"StartEC2Instance"や"StopEC2Instance"は、インスタンスIDを指定するだけで起動/停止ができます。
InstanceIdパラメータは以下リファレンスによると複数ID指定可能です。
AWS-StartEC2Instance
AWS-StopEC2Instance
InstanceId
型: StringList
説明: (必須) 停止する 1 つ以上の Amazon EC2 インスタンスの ID。
単一IDは以下のような指定で問題なく動作します。
# 正常終了
i-00000000000000000
複数IDの場合、以下のようなカンマ区切りで指定するとエラーになります。
# エラー
i-00000000000000000,i-11111111111111111
複数IDを指定する場合は以下のように入力ください。
# 正常終了
["i-00000000000000000","i-11111111111111111"]
急に書き方が変わるので、同じように詰まった方はご参考くださいー。
AWS Systems Managerパラメータストアあたりが関係するのですかね。今度調べてみます。