セッションを開始する - 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 のセットアップ手順を完了していることを確認してください。詳細については、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. (オプション) [Reason for session] (セッションの理由) フィールドにセッションの理由を入力します。

  5. ターゲットインスタンスの場合、接続先のマネージドノードの左側にあるオプションボタンを選択します。

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

  6. [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. [Connect] (接続) を選択します。

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

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

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

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

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

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

AWS CLI を使用してセッションを開始するには、「instance-id」をユーザー自身の情報で置き換えて、次のコマンドを実行します。

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

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

セッションの開始 (SSH)

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

SSH 接続の要件

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

  • ターゲットのマネージドノードは SSH 接続をサポートするように設定する必要があります。詳細については、「(オプション) Session Manager を通して SSH 接続のアクセス許可を有効にして制御する」を参照してください。

  • 他のタイプのセッション接続に使用される ssm-user アカウントではなく、Privacy Enhanced Mail (PEM) 証明書に関連付けされたマネージドノードのアカウントで接続する必要があります。例えば、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
ヒント

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

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

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

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

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

注記

セッションを開始する前に、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"

portNumber に指定した値は、Remote Desktop Protocol (RDP) を使用して Windows ノードに接続する 3389 など、トラフィックのリダイレクト先となるマネージドノードのリモートポートを表します。このパラメータを指定しない場合、Session Manager はデフォルトのリモートポートとして 80 を想定します。

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

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

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

セッションの開始 (リモートホストへのポート転送)

リモートホストへの Session Manager ポート転送セッションを開始するには、SSM Agent のバージョン 3.1.1374.0 以降がマネージドノードにインストールされている必要があります。リモートホストは Systems Manager によって管理される必要はありません。

注記

セッションを開始する前に、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-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"

host に指定した値は、接続するリモートホストのホスト名または IP アドレスを表します。マネージドノードとリモートホスト間の一般的な接続および名前解決の要件が引き続き適用されます。

portNumber に指定した値は、MySQL データベース接続用の 3306 など、トラフィックのリダイレクト先となるマネージドノードのリモートポートを表します。このパラメータを指定しない場合、Session Manager はデフォルトのリモートポートとして 80 を想定します。

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

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

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

セッションを開始する前に、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"

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

詳細情報