[アップデート] Systems ManagerのFleet Managerでインスタンス上のプロセスの表示・起動・停止ができるようになりました

EC2インスタンス上のトラブルシューティングが捗りそうなアップデートです!
2021.12.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

みなさん、こんにちは!
福岡オフィスの青柳です。

AWS Systems ManagerFleet Managerに新しい機能が追加されました。

AWS Systems Manager Fleet Manager now offers console based viewing and management of instance processes

Fleet Managerの管理下にあるEC2インスタンスについて、「稼働中のプロセス一覧の確認」および「新規プロセスの起動」「プロセスの停止」が行えるようになりました。

試してみた

EC2インスタンスを起動してFleet Managerの管理下に置きます。

AWS管理ポリシー「AmazonSSMManagedInstanceCore」あるいは必要なポリシーをアタッチしたIAMロールを用意して、インスタンスプロファイルに設定します。(手順は割愛)

Fleet Managerのインスタンス一覧に表示されるようになりました。

インスタンスID (Node ID) をクリックします。

メニューに「プロセス」が追加されています。
選択してみましょう。

これでインスタンスのプロセスが表示され・・・ないですね。
画面上部に何かエラーが表示されています。

ハイ、そうなんです。
Fleet Managerでインスタンスのプロセスを管理するためには、エラーメッセージで示されているように「Session ManagerのKMS暗号化を有効にする」必要があります。

具体的な手順については、こちらのブログ記事が参考になります。

ブログ記事の内容に従って、以下の作業を行います。

  • Session Managerの設定でKMS暗号化を有効にする
  • EC2インスタンスに割り当てたIAMロールに対して、KMSへのアクセス許可ポリシーを設定する

改めてプロセス画面を表示してみます。

無事、プロセス一覧が表示されるようになりました!

Windowsインスタンスも対応してます!

プロセスの起動・停止を行ってみる

プロセスの起動を行ってみます。

「新しいプロセスの開始」をクリックすると、以下の画面になります。

起動するプロセスの名前またはフルパス、実行ディレクトリパスを指定します。

プロセスが起動しました。

プロセスを終了する場合は、対象のプロセスを選択してから「アクション」メニューの「プロセスの終了」または「プロセスツリーの終了」を選択します。

確認のためプロセスIDを入力します。

プロセスが終了しました。

おわりに

EC2インスタンスにログインしなくても稼働中のプロセスの状態がリアルタイムで確認でき、プロセスの起動や終了もできるので、トラブルシューティングなどの際に役立ちそうです。

既に提供されている「パフォーマンスカウンター」「ファイルシステム」などの機能とあわせて使いこなしたいところです。