セッションを開始する - AWS Systems Manager

セッションを開始する

AWS Systems Manager コンソール、Amazon Elastic Compute Cloud (Amazon EC2) コンソール、AWS コマンドラインインターフェイス (AWS CLI)、または SSH を使用してセッションを開始できます。

セッションを開始する (Systems Manager コンソール)

AWS Systems Manager コンソールを使用して、アカウント内のインスタンスとのセッションを開始できます。

注記

セッションを開始する前に、Session Manager のセットアップ手順を完了していることを確認してください。詳細については、Session Manager を設定する を参照してください。

セッションを開始するには (Systems Manager コンソール)

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager) を開きます。

  2. ナビゲーションペインで、[Session Manager] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、ナビゲーションペインの [Session Manager] を選択します。

  3. [Start session (セッションの開始)] を選択します。

  4. [Target instances (ターゲットインスタンス)] で、接続先のインスタンスの左側にあるオプションボタンを選択します。

    接続先のインスタンスがリストにないか、リストに表示されているものの「選択したインスタンスは Session Manager を使用するように構成されていません」というエラーメッセージが表示される場合は、「インスタンスが使用できないか、Session Manager 用に設定されていない」にあるトラブルシューティングの手順を参照してください。

  5. [Start session (セッションの開始)] を選択します。

接続が確立されたら、他の接続タイプと同様に、bash コマンド (Linux および macOS) または PowerShell コマンド (Windows) を実行できます。

セッションを開始する (Amazon EC2 コンソール)

Amazon Elastic Compute Cloud (Amazon EC2) コンソールを使用して、アカウント内のインスタンスとのセッションを開始できます。

注記

Systems Manager アクション (ssm:command-name) を実行する権限がないというエラーが表示された場合、管理者に問い合わせ、サポートを依頼する必要があります。お客様のユーザー名とパスワードを発行したのが、担当の管理者です。ポリシーを更新して、Amazon EC2 コンソールからセッションを開始できるようにしてもらいます。管理者の場合は、「Session Manager のデフォルトの IAM ポリシーのクイックスタート」を参照してください。

セッションを開始するには (Amazon EC2 コンソール)

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[接続] を選択します。

  4. [Connection method (接続方法)] で、[Session Manager] を選択します。

  5. [接続] を選択します。

接続が確立されたら、他の接続タイプと同様に、bash コマンド (Linux および macOS) または PowerShell コマンド (Windows) を実行できます。

セッションの開始 (AWS CLI)

AWS コマンドラインインターフェイス (AWS CLI) をインストールして設定します (まだインストールしていない場合)。

詳細については、「AWS コマンドラインツールのインストールまたはアップグレード」を参照してください。

AWS CLI を使用してセッションを開始するには、次のコマンドを実行します。

注記

セッションを開始する前に、Session Manager のセットアップ手順を完了していることを確認してください。詳細については、Session Manager を設定する を参照してください。

AWS CLI を使用してセッションコマンドを実行するには、ローカルマシンにも Session Manager プラグインがインストールされている必要があります。詳細については、(オプション) AWS CLI 用の Session Manager プラグインをインストールする を参照してください。

aws ssm start-session \ --target instance-id

instance-id は、AWS Systems Manager とその Session Manager 機能 (i-02573cafcfEXAMPLE など) で使用するように設定されたインスタンスの ID を表します。

start-session コマンドで使用できるその他のオプションについては、AWS CLI コマンドリファレンスの「AWS Systems Manager」セクションの「start-session」を参照してください。

セッションの開始 (SSH)

Session Manager の SSH セッションを開始するには、マネージドインスタンスにバージョン 2.3.672.0 以降の SSM エージェントがインストールされている必要があります。

SSH 接続の要件

SSH を使用したセッション接続に関する次の要件と制限事項に注意してください。

  • ターゲットインスタンスは、SSH 接続をサポートするように設定する必要があります。詳細については、「(オプション) Session Manager を介して SSH 接続を有効にする」を参照してください。

  • 他のタイプのセッションの接続で使用する ssm-user アカウントではなく、PEM (Privacy Enhanced Mail) 証明書に関連付けられているインスタンスのユーザーを使用する必要があります。例えば、Linux および macOS の EC2 インスタンスでは、デフォルトのユーザーは ec2-user です。各インスタンスタイプのデフォルトのユーザーを特定する方法については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスに関する情報を取得する」を参照してください。

  • ログ記録は、ポート転送または SSH を介して接続する Session Manager セッションでは使用できません。これは、SSH はすべてのセッションデータを暗号化し、Session Manager は SSH 接続のトンネルとしてのみ機能するためです。

注記

セッションを開始する前に、Session Manager のセットアップ手順を完了していることを確認してください。詳細については、Session Manager を設定する を参照してください。

SSH を使用してセッションを開始するには、次のコマンドを実行します。

ssh -i /path/my-key-pair.pem username@instance-id

/path/my-key-pair.pem は、インスタンスに関連付けられている PEM 証明書のパスを表します。たとえば、EC2 インスタンスの場合、インスタンスを作成したときに作成または選択したキーペアファイル。

username@instance-id は、インスタンスタイプのデフォルトのユーザー名とインスタンス ID を表します (ec2-user@i-02573cafcfEXAMPLE など)。

ヒント

SSH を使用してセッションを開始する際、次のコマンド形式を使用して、ローカルファイルをターゲットインスタンスにコピーできます。

scp -i /path/my-key-pair.pem /path/SampleFile.txt username@instance-id:~

start-session コマンドで使用できるその他のオプションについては、AWS CLI コマンドリファレンスの「AWS Systems Manager」セクションの「start-session」を参照してください。

セッションの開始 (ポート転送)

Session Manager のポート転送 セッションを開始するには、マネージドインスタンスにバージョン 2.3.672.0 以降の SSM エージェントがインストールされている必要があります。

注記

セッションを開始する前に、Session Manager のセットアップ手順を完了していることを確認してください。詳細については、Session Manager を設定する を参照してください。

AWS CLI を使用してセッションコマンドを実行するには、ローカルマシンにも Session Manager プラグインがインストールされている必要があります。詳細については、(オプション) AWS CLI 用の Session Manager プラグインをインストールする を参照してください。

オペレーティングシステムおよびコマンドラインツールによっては、引用符の配置が異なり、エスケープ文字が必要になる場合があります。

ポート転送セッションを開始するには、CLI から次のコマンドを実行します。

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSession ^ --parameters portNumber="3389",localPortNumber="56789"

instance-id は、AWS Systems Manager とその Session Manager 機能 (i-02573cafcfEXAMPLE など) で使用するように設定されたインスタンスの ID を表します。

portNumber は、リモートデスクトッププロトコル (RDP) を使用して Windows インスタンスに接続する 3389 など、トラフィックのリダイレクト先となるインスタンス上のリモートポートを表します。このパラメータを指定しない場合、Session Manager はデフォルトのリモートポートとして 80 を想定します。

localPortNumber は、トラフィックのリダイレクト先となるクライアントのローカルポートを表します (56789 など)。この値は、クライアントを使用してインスタンスに接続するときに入力する値です。たとえば、localhost:56789 と指定します。

start-session コマンドで使用できるその他のオプションについては、AWS CLI コマンドリファレンスの「AWS Systems Manager」セクションの「start-session」を参照してください。

ポート転送セッションの詳細については、AWS ニュースブログAWS Systems Manager Session Manager を使用したポート転送を参照してください。

セッションの開始 (対話形式と非対話形式のコマンド)

インタラクティブコマンドセッションを開始するには、次のコマンドを実行します。

注記

セッションを開始する前に、Session Manager のセットアップ手順を完了していることを確認してください。詳細については、Session Manager を設定する を参照してください。

AWS CLI を使用してセッションコマンドを実行するには、ローカルマシンにも Session Manager プラグインがインストールされている必要があります。詳細については、(オプション) AWS CLI 用の Session Manager プラグインをインストールする を参照してください。

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name CustomCommandSessionDocument \ --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name CustomCommandSessionDocument ^ --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"

instance-id は、AWS Systems Manager とその Session Manager 機能 (i-02573cafcfEXAMPLE など) で使用するように設定されたインスタンスの ID を表します。

start-session コマンドで使用できるその他のオプションについては、AWS CLI コマンドリファレンスの「AWS Systems Manager」セクションの「start-session」を参照してください。

関連情報

AWS ニュースブログAWS Systems Manager Session Manager を使用したポート転送