現象
Session Manager のインスタンス一覧でインスタンスを選択すると「インスタンスにある SSM エージェントのバージョンが Session Manager をサポートしていませんが、」で始まるエラーが表示される。
この状態で「セッションを開始する」ボタンを押しても反応がなく、セッションを開始できない。
確認すること
まずは示されたドキュメントを確認する。
上記の内容を確認しても解決しなかった場合、SSM エージェントが起動しているかを確認する。
次は Amazon Linux2 で確認し、停止していた例(Active
が inactive (dead)
になっている)。
$ sudo systemctl status amazon-ssm-agent
● amazon-ssm-agent.service - amazon-ssm-agent
Loaded: loaded (/usr/lib/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 火 2020-mm-dd hh:mm::ss JST; 2s ago
Process: 3480 ExecStart=/usr/bin/amazon-ssm-agent (code=exited, status=0/SUCCESS)
Main PID: 3480 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/amazon-ssm-agent.service
(省略)
この場合、起動する。
$ sudo systemctl stop amazon-ssm-agent
次に起動したことを確認する(Active
が active (running)
になっている)。
$ sudo systemctl status amazon-ssm-agent
● amazon-ssm-agent.service - amazon-ssm-agent
Loaded: loaded (/usr/lib/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 火 2020-mm-dd hh:mm::ss JST; 2s ago
Process: 3480 ExecStart=/usr/bin/amazon-ssm-agent (code=exited, status=0/SUCCESS)
Main PID: 3480 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/amazon-ssm-agent.service
(省略)
失敗した場合はログを確認して対応をする。
これで先ほどのエラーメッセージが消えて、セッションが開始できるようになっている。
あとがき
以前は接続出来ていた(設定が出来ていて、以降も変更していない)のに、突然できなくなったというケースではこの対応が参考になるかもしれない。
エラーメッセージを英語に切り替えると次のように表示される。
The version of SSM Agent on the instance supports Session Manager, but the instance is not configured for use with AWS Systems Manager. Verify that the IAM instance profile attached to the instance includes the required permissions.
最初のカンマまでは「インスタンスの SSM エージェントのバージョンは Session Manager をサポートしていますが、」と約するのが正しいのではないだろうか。ただ、その場合でも Session Manager のエラーメッセージからは SSM エージェントの起動状態は分かりづらい。