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

セッションを開始する

AWS Systems Manager コンソール、Amazon Elastic Compute Cloud (Amazon EC2) コンソール、AWS Command Line Interface (AWS CLI)、または SSH を使用してセッションを開始できます。

セッションの開始 (Systems Manager コンソール)

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

注記

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

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

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

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

    -または-

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

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

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

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

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

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

セッションの開始 (Amazon EC2 コンソール)

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

注記

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

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

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

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

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

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

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

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

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

まだ AWS CLI をインストールして設定していない場合は、インストールして設定します。

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

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

注記

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

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

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

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

start-session コマンドで使用できるその他のオプションについては、AWS Systems Manager section of the AWS CLI Command Reference の「start-session」を参照してください。

セッションの開始 (SSH)

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

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 のセットアップ手順を完了していることを確認してください。詳細については、 のセットアップ を参照してください。

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 Systems Manager section of the AWS CLI Command Reference の「start-session」を参照してください。

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

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

注記

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

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

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

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

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 で使用するように設定されたインスタンスの ID と の機能を表しています (i-02573cafcfEXAMPLE など)。

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

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

start-session コマンドで使用できるその他のオプションについては、AWS Systems Manager section of the AWS CLI Command Reference の「start-session」を参照してください。

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

セッションの開始 (インタラクティブコマンド)

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

注記

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

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

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 で使用するように設定されたインスタンスの ID と の機能を表しています (i-02573cafcfEXAMPLE など)。

start-session コマンドで使用できるその他のオプションについては、AWS Systems Manager section of the AWS CLI Command Reference の「start-session」を参照してください。

関連情報

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