AWS SystemManager の メンテナンスウィンドウ + RunCommand で ジョブ管理できるか

SystemManager

AWS上でのサーバ運用においてもはや切り離せなくなってきた感

メンテナンスウィンドウ

前回 SystemManager の AWS Patch Manager 検証 をしたときに
そうかメンテナンスウィンドウで時刻や繰り替え時を設定して、管理対象のサーバにコマンドを実行出来るじゃんと気づくと
あれ、これジョブ管理出来るじゃんとなったので念の為確認する

小中規模の、ログ集約やシステム導入するほどでもない環境で cron で自作シェル動かしてたりする場合の選択肢になりえるのか

メンテナンスウィンドウで指定できること

cron 書式でジョブ時間の指定、ジョブの実行時間は指定可能

いつからジョブを開始するのか、いつに終了するのか指定可能

対象の指定

タグ名かインスタンス名指定かリソースグループから指定可能

タスクの指定

既存の cron + 自作シェルスクリプト等からの移行を考えるため スクリプト実行を選ぶ

実行対象は先程指定したインスタンス

同時実行の割合や、エラーをどこまで許容するかも指定可能
ウイルススキャンなど高負荷のジョブは分散できるか

ログや実行通知の設定も可能

試しにここではウイルススキャンのコマンドを登録してみる

試しに設定した時間でコマンド実行の履歴を見てみると無事実行されていた

注意点は標準出力の内容ログには制限があること

コマンド出力に表示されるのは 2500 文字までです。コマンドを実行するときに S3 バケットまたは CloudWatch ロググループを指定した場合、完全なコマンド出力は、Amazon S3 または CloudWatch ログで確認することができます。

詳細にログを出す場合は S3 か CloudWatchLogs を利用しよう


Cron よりはるかに高機能を簡単に利用出来ることがわかった
これならちょっとしたシステムのジョブはこれで管理完結できるんじゃないか?
AWS Batch あるけど棲み分け的にはどうなってるんだろ・・・・?

唯一、追加でほしいとしたら実行ユーザーの指定かな
基本は root で実行されるようだ

Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)
Share Comments
comments powered by Disqus