AWS CLI 用の Session Manager プラグインをインストールする - AWS Systems Manager

AWS CLI 用の Session Manager プラグインをインストールする

AWS Command Line Interface (AWS CLI) を使ってマネージドノードでセッションを開始する場合、まずローカルマシンに Session Manager プラグインをインストールする必要があります。Microsoft Windows、macOS、Linux、および Ubuntu のサポート対象のバージョンにプラグインをインストールできます。

最新の Session Manager プラグインのバージョンを常に使用する

Session Manager プラグインは随時更新され、新しい機能や強化された機能が追加されます。そのため、常に最新バージョンのインストールをお勧めします。詳細については、「Session Manager プラグインの最新バージョンとリリース履歴」を参照してください。

必要な AWS CLI バージョンをインストール

Session Manager プラグインを使用するには、AWS CLI バージョン 1.16.12 以降をローカルマシンにインストールする必要があります。

Windows での Session Manager プラグインのインストール

スタンドアロンインストーラを使用して、Windows Vista 以降に Session Manager プラグインをインストールできます。

更新がリリースされたときは、最新バージョンの Session Manager プラグインを取得するため、インストールプロセスを繰り返す必要があります。

注記

最良の結果を得るには、Windows PowerShell のバージョン 5 以降を使用して、Windows クライアントでセッションを開始することをお勧めします。または、Windows 10 のコマンドシェルを使用できます。Session Manager プラグインでは、PowerShell とコマンドシェルのみがサポートされています。サードパーティーのコマンドラインツールは、プラグインと互換性がない可能性があります。

EXE インストーラを使用して Session Manager プラグインをインストールするには
  1. 次の URL を使用してインストーラをダウンロードします。

    https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe

    または、次の URL から zip 形式のインストーラーをダウンロードすることもできます。

    https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
  2. ダウンロードしたインストーラを実行し、画面の指示に従います。zip 形式のインストーラーをダウンロードした場合は、まずインストーラーを解凍する必要があります。

    インストール先のボックスを空白のままにして、プラグインをデフォルトディレクトリにインストールします。

    • %PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\

  3. インストールが成功したことを確認します。詳細については、Session Manager プラグインのインストールを検証するを参照してください。

    注記

    Windows が実行ファイルを見つけることができない場合、コマンドプロンプトを再度開くか、または手動でインストールディレクトリを PATH 環境変数に追加します。詳細については、トラブルシューティングトピック「Session Manager プラグインがコマンドラインパスに自動的に追加されませんでした (Windows)」を参照してください。

macOS で Session Manager プラグインインストールおよびアンインストールする

バンドルされたインストーラを使用して、macOS に Session Manager プラグインをインストールできます。

重要

バンドルされたインストーラでは、スペースを含むパスへのインストールはサポートされていません。

バンドルされたインストーラ (macOS) を使用して Session Manager プラグインをインストールするには
  1. バンドルされたインストーラをダウンロードします。

    x86_64
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
    ARM64 (M1)
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"
  2. パッケージを解凍します。

    unzip sessionmanager-bundle.zip
  3. インストールコマンドを実行します。

    sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin
    注記

    プラグインには、Python 2.6.5 以降、または Python 3.3 以降が必要です。デフォルトでは、インストールスクリプトはシステムのデフォルトバージョンの Python で実行されます。別のバージョンの Python がインストールされており、それを使用して Session Manager プラグインをインストールする場合は、Python の実行可能ファイルへの絶対パスを指定してそのバージョンでインストールスクリプトを実行します。次に例を示します。

    sudo /usr/local/bin/python3.6 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin

    インストーラは Session Manager プラグインを /usr/local/sessionmanagerplugin にインストールし、シンボリックリンク session-manager-plugin/usr/local/bin ディレクトリに作成します。これにより、ユーザーの $PATH 変数にインストールディレクトリを指定する必要がなくなります。

    -i オプションおよび -b オプションの説明を表示するには、-h オプションを使用します。

    ./sessionmanager-bundle/install -h
  4. インストールが成功したことを確認します。詳細については、Session Manager プラグインのインストールを検証するを参照してください。

注記

プラグインをアンインストールするには、次の 2 つのコマンドを表示順に実行します。

sudo rm -rf /usr/local/sessionmanagerplugin
sudo rm /usr/local/bin/session-manager-plugin

署名されたインストーラーを使用して Session Manager プラグインを macOS にインストールする

署名されたインストーラーを使用して、Session Manager プラグインを macOS にインストールできます。

署名されたインストーラー (macOS) を使用して Session Manager プラグインをインストールするには
  1. 署名されたインストーラーをダウンロードします。

    x86_64
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
    ARM64 (M1)
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"
  2. インストールコマンドを実行します。

    sudo installer -pkg session-manager-plugin.pkg -target / sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin
  3. インストールが成功したことを確認します。詳細については、Session Manager プラグインのインストールを検証するを参照してください。

Linux での Session Manager プラグインのインストール

  1. Session Manager プラグイン RPM パッケージをダウンロードしてインストールします。

    x86_64
    sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
    x86
    sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_32bit/session-manager-plugin.rpm
    ARM64
    sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm
  2. インストールが成功したことを確認します。詳細については、Session Manager プラグインのインストールを検証する を参照してください。

注記

プラグインをアンインストールする必要がある場合は、sudo yum erase session-manager-plugin -y を実行します。

Ubuntu に Session Manager プラグインをインストールする

  1. Session Manager プラグイン deb パッケージをダウンロードします。

    x86_64
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
    x86
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_32bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
    ARM64
    curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"
  2. インストールコマンドを実行します。

    sudo dpkg -i session-manager-plugin.deb
  3. インストールが成功したことを確認します。詳細については、Session Manager プラグインのインストールを検証する を参照してください。

注記

プラグインをアンインストールする必要がある場合は、sudo dpkg -r session-manager-plugin を実行します。

Session Manager プラグインのインストールを検証する

Session Manager プラグインが正常にインストールされたことを確認するには、次のコマンドを実行します。

session-manager-plugin

インストールが成功すると、次のメッセージが返されます。

The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.

AWS CLI で次のコマンドを実行してインストールをテストすることもできます。次のコマンドで、「instance-id」をユーザー自身の情報に置き換えます。

aws ssm start-session --target instance-id

このコマンドは、Session Manager を使用してターゲットのマネージドノードにアクセスするために必要な IAM 許可を Session Manager の管理者が付与した場合に限って機能します。

GitHub の Session Manager プラグイン

ニーズに応じて Session Manager プラグインを調整できるように、プラグインのソースコードが GitHub に用意されています。含めることを希望する変更について、プルリクエストを送信することをお勧めします。ただし、Amazon Web Services はこのソフトウェアの変更されたコピーの実行をサポートしていません。

(オプション) Session Manager プラグインのログ記録を有効にする

Session Manager プラグインには、実行するセッションのログ記録を有効にするオプションが含まれています。デフォルトでは、ログは無効化されています。

ログ記録を有効にすると、Session Manager プラグインは、ローカルマシン上のアプリケーションアクティビティ (session-manager-plugin.log) とエラー (errors.log) のログファイルを作成します。

Session Manager プラグインのログ記録を有効にする (Windows)

  1. プラグインの seelog.xml.template ファイルを探します。

    デフォルトの場所は C:\Program Files\Amazon\SessionManagerPlugin\seelog.xml.template です。

  2. ファイルの名前を seelog.xml に変更します。

  3. ファイルを開き、minlevel="off"minlevel="info" または minlevel="debug" に変更します。

    注記

    デフォルトでは、データチャネルのオープンとセッションの再接続に関するログエントリは、INFO レベルで記録されます。データフロー (パケットおよび送達確認) エントリは、DEBUG レベルで記録されます。

  4. 変更が必要なその他の設定オプションを変更します。変更できるオプションには、次のようなものがあります。

    • デバッグレベル: デバッグレベルを formatid="fmtinfo" から outputs formatid="fmtdebug" に変更することができます。

    • ログファイルのオプション: ログファイルの保存場所を含むログファイルオプションを変更できます (ログファイル名を除く)。

      重要

      ファイル名を変更しないでください。ログが正しく機能しなくなります。

      <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="C:\Program Files\Amazon\SessionManagerPlugin\Logs\errors.log" maxsize="10000000" maxrolls="5"/>
  5. ファイルを保存します。

Session Manager プラグインのログ記録を有効にする (Linux および macOS)

  1. プラグインの seelog.xml.template ファイルを探します。

    デフォルトの場所は /usr/local/sessionmanagerplugin/seelog.xml.template です。

  2. ファイルの名前を seelog.xml に変更します。

  3. ファイルを開き、minlevel="off"minlevel="info" または minlevel="debug" に変更します。

    注記

    デフォルトでは、データチャネルのオープンとセッションの再接続に関するログエントリは、INFO レベルで記録されます。データフロー (パケットおよび送達確認) エントリは、DEBUG レベルで記録されます。

  4. 変更が必要なその他の設定オプションを変更します。変更できるオプションには、次のようなものがあります。

    • デバッグレベル: デバッグレベルを formatid="fmtinfo" から outputs formatid="fmtdebug" に変更することができます。

    • ログファイルのオプション: ログファイルの保存場所を含むログファイルオプションを変更できます (ログファイル名を除く)。

      重要

      ファイル名を変更しないでください。ログが正しく機能しなくなります。

      <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/session-manager-plugin.log" maxsize="30000000" maxrolls="5"/> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="size" filename="/usr/local/sessionmanagerplugin/logs/errors.log" maxsize="10000000" maxrolls="5"/>
      重要

      ログを保存するために指定されたデフォルトのディレクトリを使用する場合は、sudo を使用してセッションコマンドを実行するか、プラグインがインストールされているディレクトリに完全な読み取りおよび書き込みのアクセス権限を与える必要があります。これらの制限を回避するには、ログを保存する場所を変更します。

  5. ファイルを保存します。

Session Manager プラグインの最新バージョンとリリース履歴

ローカルマシンで、Session Manager プラグインのサポートされているバージョンを実行する必要があります。現在サポートされている最小バージョンは 1.1.17.0 です。それ以前のバージョンを実行している場合は、Session Manager 操作が失敗する可能性があります。

最新バージョンを使用しているかどうかを確認するには、AWS CLI で次のコマンドを実行します。

注記

このコマンドは、プラグインがご使用のオペレーティングシステムタイプのデフォルトのインストールディレクトリにある場合にのみ結果を返します。プラグインをインストールしたディレクトリの、VERSION ファイルのコンテンツでバージョンを確認することもできます。

session-manager-plugin --version

次の表は、Session Manager プラグインのすべてのリリースと、各バージョンに含まれている機能や機能強化を示しています。

バージョン リリース日 詳細
1.2.463.0

2023 年 3 月 15 日

機能強化: macOS バンドルインストーラと署名済みインストーラに Apple Mac (M1) の ARM64 サポートを追加しました。
1.2.398.0

2022 年 10 月 14 日

機能強化: golang バージョン 1.17 をサポートします。macOS のデフォルトのセッションマネージャープラグインランナーを python3 を使用するように更新しました。SSMCLI からセッションマネージャープラグインへのインポートパスを更新します。
1.2.339.0

2022 年 6 月 16 日

バグ修正: ポートセッションのアイドルセッションタイムアウトを修正しました。
1.2.331.0

2022 年 5 月 27 日

バグ修正: タイムアウト前にローカルサーバーが接続しないときに、ポートセッションが途中で閉じる問題を修正しました。
1.2.323.0

2022 年 5 月 19 日

バグ修正: smux キープアライブを無効にして、アイドルセッションタイムアウト機能を使用するように修正しました。
1.2.312.0

2022 年 3 月 31 日

機能拡張: より多くの出力メッセージペイロードのタイプをサポート。
1.2.295.0

2022 年 1 月 12 日

バグ修正: エージェントが非アクティブになった場合のクライアントによるストリームデータの再送信、ならびに start_publicationpause_publication メッセージに関する不正なログが原因で発生するセッションのハングアップ。
1.2.279.0

2021 年 10 月 27 日

機能拡張: Windows プラットフォーム用の zip パッケージ。
1.2.245.0

2021 年 8 月 19 日

機能拡張: AWS IAM Identity Center (successor to AWS Single Sign-On) をサポートできるように aws-sdk-go を最新バージョン (v1.40.17) にアップグレードします。
1.2.234.0

2021 年 7 月 26 日

バグ修正: セッションが突然終了したシナリオを対話型セッションで処理します。
1.2.205.0

2021 年 6 月 10 日

機能拡張: 署名されたmacOSインストーラのサポートが追加されました。
1.2.54.0

2021 年 1 月 29 日

拡張: NonInteractiveCommands 実行モードでのセッションの実行のサポートが追加されました。
1.2.30.0

2020 年 11 月 24 日

拡張: (ポート転送セッションのみ) 全体的なパフォーマンスが向上しました。

1.2.7.0

2020 年 10 月 15 日

拡張: (ポート転送セッションのみ) レイテンシーを短縮し、全体的なパフォーマンスを向上させました。

1.1.61.0

2020 年 4 月 17 日

機能強化: Linux および Ubuntu の ARM サポートが追加されました。

1.1.54.0

2020 年 1 月 6 日

バグ修正: Session Manager プラグインの準備が完了していないときにドロップされるパケットの競合状態シナリオに対処します。

1.1.50.0

2019 年 11 月 19 日

機能強化: ポートをローカル UNIX ソケットに転送するためのサポートが追加されました。

1.1.35.0

2019 年 11 月 7 日

機能強化: (ポート転送セッションのみ)ローカルユーザーが Ctrl+C を押すと、TerminateSession コマンドが SSM Agent に送信されます。

1.1.33.0 2019 年 9 月 26 日 機能強化:(ポート転送セッションのみ)クライアントが TCP 接続を中断したときに、サーバーに切断信号を送信します。
1.1.31.0 2019 年 9 月 6 日 機能強化: リモートサーバーが接続を閉じるまでポート転送セッションを開いたままにするための更新です。

1.1.26.0

2019 年 7 月 30 日

機能拡張: セッション中のデータ転送速度を制限するための更新です。

1.1.23.0

2019 年 7 月 9 日

機能拡張: Session Manager を使用して SSH セッションを実行するためのサポートが追加されました。

1.1.17.0 2019 年 4 月 4 日

機能強化: AWS Key Management Service(AWS KMS)を使用してセッションデータをさらに暗号化するためのサポートが追加されました。

1.0.37.0 2018 年 9 月 20 日

機能強化: Windows バージョンのバグ修正。

1.0.0.0 2018 年 9 月 11 日

Session Manager プラグインの初回リリース。