概要
いまさらですが、先日開催されたJAWS DAYS 2019でSSH使わずにEC2に接続できるSession Managerを知り、現状自社サービスにおいてもSSH管理が課題になっていましたので、さっそく試してみました
いつ、だれが、何をしたのかはすべてログ(実行結果も含めて)に保存されるので、問題発生時にトレース用としても使えます!
設定自体は非常に簡単なので、どんなものなのかを試してみたい方は是非試してみてる価値はあります!
※以下の手順は新規インスタンスにSSM用ロールを追加していますが、既存インスタンスに追加する場合はこちらを参照ください
※すぐに試してみたい方向けの内容なので権限設定等はガバガバなのでご注意ください!
手順
ロールの作成
EC2の作成
Session Managerからコントロールするためには、EC2にssm-agentがインストールされている必要があります。最新のAmazon Linux 2のAMIであれば最初から入っています
Session Manager
-
サービス「Systems Manager」-「セッションマネージャー」-「セッションの開始」
※実行中のセッションがあれば、セッションマネージャーの一覧に表示される -
新しいタブにターミナルが立ち上がる(若干動作がもっさり)
接続ユーザはssm-userになるが、sudo実行が許可されている
※参考: [小ネタ]新機能Session Managerで使うssm-userの権限が気になった話 -
ターミナルの「終了」を押下するとセッションが終了され、セッション履歴が保存されます
操作ログをS3出力設定していれば、S3の指定していたバケットにログファイルが出力されます
操作ログ(サンプル)
以下のように標準出力された内容がすべてログファイルに出力されます
Script started on 2019-02-24 10:00:54+0000
[?1034hsh-4.2# /usr/bin/ssm-session-logger /var/lib/amazon/ssm/i-0ddd6efc384ff9fc9/sess
ion/orchestration/xxxxx-xxxxxxxx/Standard_Stream/ipcTempFile.log
false
Error occurred fetching the seelog config file path: open /etc/amazon/ssm/seelog.xml: no such file or directory
Initializing new seelog logger
New Seelog Logger Creation Complete
sh-4.2$ ls -la
total 127096
dr-xr-xr-x 2 root root 24576 Feb 24 09:54 .
drwxr-xr-x 13 root root 155 Jan 14 18:29 ..
-rwxr-xr-x 1 root root 41344 Jul 31 2018 [
-rwxr-xr-x 1 root root 107744 Sep 12 22:17 a2p
-rwxr-xr-x 1 root root 28712 Aug 2 2018 ac
-rwxr-xr-x 1 root root 28976 Jan 3 20:00 addr2line
~中略~
-rwxr-xr-x 2 root root 189440 Jul 27 2018 zipinfo
-rwxr-xr-x 1 root root 95896 Aug 1 2018 zipnote
-rwxr-xr-x 1 root root 99968 Aug 1 2018 zipsplit
-rwxr-xr-x 1 root root 2041 Jul 27 2018 zless
-rwxr-xr-x 1 root root 2859 Jul 27 2018 zmore
-rwxr-xr-x 1 root root 5343 Jul 27 2018 znew
lrwxrwxrwx 1 root root 6 Jan 14 18:29 zsoelim -> soelim
sh-4.2$ sh-4.2# exit
exit
Script done on 2019-02-24 10:02:40+0000
注意点
SSMで接続すると/var/log/ssm/
配下にSSM接続時の操作ログが残ります。
なので、このログでディスク容量が圧迫される可能性もあるので、ログサイズとローテーションの設定を必ずしておきましょう!
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/monitoring-ssm-agent.html