My Memo

← Back to posts

Session Managerを長時間繋ぎっぱなしにする

· aws, systems-manager

Systems Managerで接続して、長い時間スクリプトを動かしっぱなしにできるのか?という話があり、少し検証してみた。

結論としては、アイドルセッションのタイムアウトさえ突破できるなら、日レベルで繋ぎっぱなしにすることは出来そう。

仕組み

気にするべきタイムアウトはいくつかある。大きくは以下の2種類で、これが色々なレイヤーで設定されている。

  1. アイドル状態の時間
  2. セッション自体の最大長

アイドル状態の時間

セッション自体の最大時間

実験

以下のように、Session Managerで接続して、2分おきにClient - Server間で何かしら通信ができるようにしておく。

この結果、週末を挟んでもSSHのセッションとしては生きていた。

 aws ssm start-session --target i-0123456789abcdef12

Starting session with SessionId: myuser-53f8buxoot4uvcda2jnqdc88bu

sh-4.2$ bash
[ssm-user@ip-192-168-0-10 bin]$ while true; do   echo "$(date --rfc-3339 s) I'm alive"; sleep 120; done
2026-01-30 06:59:28+00:00 I'm alive
2026-01-30 07:01:28+00:00 I'm alive
2026-01-30 07:03:28+00:00 I'm alive
2026-01-30 07:05:28+00:00 I'm alive
2026-01-30 07:07:28+00:00 I'm alive
# ...
2026-02-01 23:43:32+00:00 I'm alive
2026-02-01 23:45:32+00:00 I'm alive
2026-02-01 23:47:32+00:00 I'm alive
2026-02-01 23:49:32+00:00 I'm alive
2026-02-01 23:51:32+00:00 I'm alive
^C
[ssm-user@ip-192-168-0-10 bin]$ pwd
/usr/bin