タダです.
Session Manager のログ周りを触る機会があり,S3 と CloudWatch Logs へ Session Manager のログを出力できるのですが,それぞれの設定方法をまとめていこうと思います.
S3 に Session Manager のログを出力する場合
S3 にログを出力する場合は, セッションマネージャー > 設定よりS3 logging のセクションで設定していきます.今回は下記のように設定を行います.
Send session logs to S3のEnableチェックボックスをオンEnforce encryptionのAllow only encrypted S3 bucketsチェックボックスをオンリストからバケット名を選択しますから作成済みのオブジェクトの暗号化ができるバケットを選択

上記の設定を保存後,Session Manager でターミナル作業を終了したら S3 にログが格納されます.ユーザー名-乱数.logというファイルになっており,中身はログの中身以下に記載のようなログとして記録されます.

ログの中身
Script started on 2022-01-25 06:49:24+0000 [?1034hsh-4.2$ [Ksh-4.2$ sh-4.2$
関連情報
CloudWatch Logs に Session Manager のログを出力する場合
CloudWatch Logs にログを出力する場合も セッションマネージャー > 設定よりCloudWatch logging のセクションで設定していきます.今回は下記のように設定を行います.
CloudWatch loggingのEnableチェックボックスをオンChoose your preferred logging optionのStream session logs (Recommended)を選択Enforce encryptionのAllow only encrypted CloudWatch log groupsチェックボックスをオンリストからロググループを選択するから作成済みの暗号化済みのロググループを選択

上記の設定を保存後,Session Manager でターミナル作業中の操作が CloudWatch Logs にログが格納されます.ユーザー名-乱数というストリームになっており,中身は以下に記載のような JSON ログとして記録されます.

ログの中身
{ "eventVersion": "1.0", "eventTime": "2022-01-25T12:08:12Z", "awsRegion": "ap-northeast-1", "target": { "id": "i-123456789101112" }, "userIdentity": { "arn": "arn:aws:iam::123456789101112:user/ssm-test" }, "runAsUser": "ssm-user", "sessionId": "ssm-test-123456789101112", "sessionData": [ "sh-4.2$ sh-4.2$ " ] }
関連情報
まとめ
Session Manager のログ保存方法について2種類あり,設定方法とログの中身を確認したのでまとめました.こういったログは監査の際に必要になったりすると思いますが,保存方法,保存期間や閲覧など要件に応じた選択をしていきたいと思います.