セッションマネージャーを用いてCLIで接続できるか確認してみる。
既にFargateのクラスタ、タスクなどが設定/起動されセッションマネージャー の一覧にインスタンスが登録されていることを前提とする。
接続開始。
bash-5.1$ aws ssm start-session --target mi-00000000000000000 SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found
pluginが入っていないため失敗している。 ドキュメントのURLを表示してくるのでそれを確認する。
https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-troubleshooting.html#plugin-not-found
実際のインストール方法はこっちに記載があった。
https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html
macOSを使っているので、手順に従いmacOS用の手順でインストールする。
zipファイルをダウンロードする。
bash-5.1$ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3457k 100 3457k 0 0 693k 0 0:00:04 0:00:04 --:--:-- 759k
zipファイルを解凍する。
bash-5.1$ unzip sessionmanager-bundle.zip Archive: sessionmanager-bundle.zip creating: sessionmanager-bundle/ inflating: sessionmanager-bundle/install extracting: sessionmanager-bundle/VERSION inflating: sessionmanager-bundle/LICENSE creating: sessionmanager-bundle/bin/ inflating: sessionmanager-bundle/bin/session-manager-plugin inflating: sessionmanager-bundle/seelog.xml.template
sessionmanager-bundle/install を確認する。
中身はPythonで書かれていて usr/local/sessionmanagerplugin
にインストールし
その後 /usr/local/bin
配下にシンボリックリンクを配置する仕組みのようだ。
/usr/local
配下へのファイル操作を行うならsudoが必要。
bash-5.1$ cd sessionmanager-bundle bash-5.1$ sudo python3 install Password: Creating install directories: /usr/local/sessionmanagerplugin/bin Creating Symlink from /usr/local/sessionmanagerplugin/bin/session-manager-plugin to /usr/local/bin/session-manager-plugin Installation successful!
インストールが完了した。installを実行するときにはinstallと同じディレク トリにカレントワーキングディレクトリを移動しておく。そうしないとインス トールに失敗する。
接続を試みる。
bash-5.1$ aws ssm start-session --target mi-0fd9724837609de1b Starting session with SessionId: username-00000000000000 $ ls bin dev etc imagedefinitions.json lib64 mnt proc run srv tmp var boot entrypoint.sh home lib media opt root sbin sys usr $ cat entrypoint.sh #!/usr/bin/env bash # Environment variables required: # - AWAS_REGION # - AWAS_SSM_ACTIVATION_CODE # - AWAS_SSM_ACTIVATION_ID set -e set -x mkdir -p /etc/amazon/ssm touch /etc/amazon/ssm/seelog.xml amazon-ssm-agent -register -code "${AWS_SSM_ACTIVATION_CODE}" -id "${AWS_SSM_ACTIVATION_ID}" -region "${AWS_REGION}" -y nohup amazon-ssm-agent > /dev/null & exec "$@" $ exit Exiting session with sessionId: username-00000000000000. bash-5.1$
接続ができた。