みなさん、こんにちは。サニービュー事業部の小寺です。
久しぶりの連休ですね。
先月のリリースでAWS System ManagerでCloudWatchアラームの発動により、System Managerからタスクやアクションが実行できるようになりました。
CloudWatchアラームにより、様々な後続のタスクを設定されている方も非常に多いかと思います。System Managerとのからタスクやアクションが実行できるようになったので、今日は簡単に試してみた結果をお伝えします!
AWS Systems Managerとは
AWS Systems Managerはあまり使っていないという方向けにどのようなサービスか説明します。
AWS Systems Managerの特徴として。「運用が統合できる」「多種多様なサービスが存在する」「料金が非常に安い」という特徴があります。
過去記事でも取り上げています→こちら
本アップデートのメリット
CloudWatchでアラームをみなさん、設定されていますよね。CloudWatchアラームが上がったときに、Systems Manager側のタスクやアクションを停止できるようになりました。 CloudWatchで監視しているリソースの使用率からアプリケーションパフォーマンスなど、メトリクスを使って、Systems Manager側のタスクやアクションを実行することができます。
うーん、この機能って具体的に何に使えるの??
例えば、System Manager Automation でインスタンスにパッチ適用をするシーンで活用できます。
インスタンスが停止している等、CloudWatchで「StatusCheckFailed」 アラームが発生した場合にパッチ適用を停止するようにSystems ManagerのAutomationを設定できます。
アップデートのメリットはCloudWatchアラームからSystems Managerとタスクの連携ができるだけではなく、System Manager側のタスクの詳細ページでアラームの状況を確認できます。
やってみた
まずはRun Commandを試してみました。
(1)まずは、CloudWatchでCloudWatchアラームを作成しておきます。
(2)Systems Managerのメニューから「Run Command」を選びます。
(3)「コマンドを実行する」を選びます。今回は「AWS-RunPatchBaseline」にしました。
(4)ターゲット用インスタンスを選びます。
(5)最初に作成しておいたCloudWatchアラームを指定します。
(6)「Continue command if alarm status is unavailable」にチェックを付けます。CloudWatch アラームの状態を取得できない場合は実行を停止せずに継続できるようです。
(7)いよいよです。「実行」をクリックします。
(8)タスクが実行中であることを確認します。
(9)次にCloudWatchアラームがエラーとなるようにします。Status Checkを設定していたので、無理やりしきい値を0以下にしてアラーム状態にしました。
(10) SSM Run Commandのステータスを確認すると、全体的なステータスは「失敗」で詳細なステータスは「終了済」となっていました。
出力など確認してみましたが、CloudWatch アラームがアラーム状態になったことによるRun Commandが失敗した場合、AWS側からどこまで処理が実行されたか確認することができないようです。どの処理まで完了したのか確認しようとすると、実行するコマンドでログファイルに実行結果を出力する必要があるようです。
CloudWatchに対応できるSystems Managerのサービス
CloudWatch アラームの設定ができるSSMの処理は以下の通りです。
・Run Command
・Automation
・State Manager
・Maintenance Windows
対応リージョン
中国リージョン (北京、Sinnet が運営) 、中国 (寧夏、NWCD が運営) を除くすべての商用リージョンとAWS GovCloud (米国) リージョンで追加料金なしで利用可能です。
まとめ
AWS Systems Manager の処理を CloudWatch アラームで制御できるようになったアップデートについて、紹介いたしました。
CloudWatchアラームの設定ができるのは、以下の4つの処理です。
・Run Command
・Automation
・State Manager
・Maintenance Windows