0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】SSM Session Managerのログファイルを取得する方法

0
Last updated at Posted at 2026-05-11

この記事で解決すること

  • SSM Session Managerを用いてEC2上でシェルを操作したときのログファイルを取得することができます
  • S3やCloudWatch Logsを用いずに、インスタンス上でログファイルを回収することができます

実行環境

  • OS: AmazonLinux 2023
  • インスタンスタイプ: t3.micro

1. SSM Session Managerのログ保存の仕組み

SessionLogsDestinationというパラメータを操作することで
ipcTempFile.logというログファイルがセッション中に自動的に作成されます。
SessionLogsDestinationamazon-ssm-agent.jsonというファイル内で管理されます。

2. 実行手順

前提条件
EC2インスタンスが起動していること SSMSessionManagerを利用できること

  1. シェルをbourne shellからbashに切り替える
    コマンド: bash
    スクリーンショット 2026-05-11 1.34.45.png

  2. /etc/amazon/ssmディレクトリへ移動します
    コマンド: cd /etc/amazon/ssm
    スクリーンショット 2026-05-11 1.38.27.png

  3. amazon-ssm-agent.json ファイルが存在しないことを確認する
    コマンド: ls | grep -x amazon-ssm-agent.json
    スクリーンショット 2026-05-11 1.44.24.png

  4. amazon-ssm-agent.json.templateファイルが存在することを確認する
    コマンド:ls -x amazon-ssm-agent.json.template
    スクリーンショット 2026-05-11 1.47.41.png

  5. amazon-ssm-agent.json.templateをamazon-ssm-agent.jsonという名前で
    カレントディレクトリにコピーする
    コマンド: sudo cp -p amazon-ssm-agent.json.template amazon-ssm-agent.json
    スクリーンショット 2026-05-11 1.53.18.png

  6. amazon-ssm-agent.jsonが作成されたことを確認する
    コマンド: ls -l
    スクリーンショット 2026-05-11 1.54.28.png

  7. amazon-ssm-agent.jsonファイルをviで開く
    コマンド: sudo vi amazon-ssm-agent.json
    スクリーンショット 2026-05-11 1.57.57.png

  8. SessionLogsDestinationの値をnoneからdiskに変更する
    スクリーンショット 2026-05-11 1.59.23.png
    スクリーンショット 2026-05-11 2.03.08.png

  9. SSM Session Managerからログアウトする

  10. SSM Session Managerを起動する

  11. シェルをbourne shellからbashに切り替える
    コマンド: bash
    スクリーンショット 2026-05-11 1.34.45.png

  12. ルートユーザーに切り替える(事項の操作でルート権限が必要になります)
    コマンド: sudo su
    スクリーンショット 2026-05-11 2.33.34.png

  13. /var/lib/amazon/ssm/"ターゲットID"/session/orchestration/"セッションID"/Standard_Streamに移動する
    コマンド: cd /var/lib/amazon/ssm/"ターゲットID"/session/orchestration/"セッションID"/Standard_Stream
    ※ターゲットIDはインスタンスIDのこと、セッションIDはセッションマネージャーの左上のメニューバーに出ている値です
    スクリーンショット 2026-05-11 2.18.02.png

  14. ipcTempFile.logがカレントディレクトリに存在することを確認する
    コマンド: ls | grep -x ipcTempFile.log
    スクリーンショット 2026-05-11 2.23.09.png

  15. ipcTempFile.logを開き、ログが正しいことを確認する
    コマンド: cat ipcTempFile.log
    スクリーンショット 2026-05-11 3.17.03.png

3. ログ保存期間の設定

  • ipcTempFile.logの保存期間は、amazon-ssm-agent.jsonファイル内のSessionLogsRetentionDurationHoursによって定義できます
    スクリーンショット 2026-05-11 18.37.32.png
    デフォルトでは、336時間、つまり14日の保存期間に設定されています

4. 注意点

  • catコマンドを何度も連続で打つと、ログファイルの中身が無限ループ表示されます
    スクリーンショット 2026-05-11 18.58.16.png
    詳しい挙動については調査していますが、ログファイルがバイナリファイルとして保存されているので、エスケープシーケンスを標準出力が解釈するだったり、SSMの仕様によるものかと考えています。

5.まとめ

ログファイルを扱えるようになることで、SessionManagerが利用できる場面も増えるかと思います。
あとは、S3が使えない場合などは、SCPやSFTPでローカルに送信することでもファイルの保存期限と容量の増加の妥協点として運用できるかと思います


  • 参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?