ポートフォワーディング や SSH を介して接続した場合に Session Manager のセッションログが記録されません

質問・問題

SSM を使用しインスタンスへ接続した際の操作履歴を S3 に保存したいと考えています。

[AWS Systems Manager] - [Session Manager] - [設定] から、「Send session logs to S3」を有効化後、AWSマネジメントコンソールから対象のEC2インスタンスに接続し、セッションログの操作履歴がS3バケットに保存される事を確認しております。

一方で、以下のようにポート転送を利用した接続の場合に、S3にはセッションログが記録されないのですが、原因や制限について教えてください。

aws ssm start-session \
--target instance-id \
--document-name AWS-StartPortForwardingSession \
--parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'

 

回答・解決方法

Session Manager のログ記録は、ポート転送または SSH を介して接続する Session Manager セッションでは使用できない制限がございます。(SSH はすべてのセッションデータを暗号化し、Session Manager は SSH 接続のトンネルとしてのみ機能するため)

ポート転送・SSH以外の方法(コンソールやCLI)でセッションを開始した場合にのみ、セッションログが記録されます。

 

【参考記事】

[1] セッションアクティビティのログ記録
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-logging.html
===
(抜粋)
重要
Session Manager の次の要件と制限事項に注意してください。

(中略)

ログ記録は、ポート転送または SSH を介して接続する Session Manager セッションでは使用できません。これは、SSH はすべてのセッションデータを暗号化し、Session Manager は SSH 接続のトンネルとしてのみ機能するためです。
===

[2] セッションを開始する
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html
===
(抜粋)
・セッションを開始する (Systems Manager コンソール)
・セッションを開始する (Amazon EC2 コンソール)
・セッションの開始 (AWS CLI)
・セッションの開始 (SSH)
・セッションの開始 (ポート転送)
・セッションの開始 (対話形式と非対話形式のコマンド)
===

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください