セッションを開始する - 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. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

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

    -または-

    AWS Systems Manager ホームページが最初に開いたら、メニューアイコン (      The menu icon   ) を選択してナビゲーションペインを開き、ナビゲーションペインSession Managerで を選択します。

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

  4. (オプション) [セッションの理由] フィールドにセッションの説明を入力します。

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

    目的のノードがリストにない場合や、ノードを選択して設定エラーが表示される場合は、トラブルシューティングの手順について「Session Manager が使用できない、または使用に設定されていないマネージドノード。」を参照してください。

  6. [セッションを開始] を選択すると、セッションがすぐに開始されます。

    -または-

    セッションオプションで [次へ] を選択します。

  7. (オプション) [セッションドキュメント] では、セッションの開始時に実行するドキュメントを選択します。ドキュメントがランタイムパラメータをサポートしている場合は、各パラメータフィールドに 1 つ以上の値をカンマで区切って入力できます。

  8. [次へ] を選択します。

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

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

重要

Session Manager コンソールでセッションを開始するときにユーザーがドキュメントを指定できるようにするには、次の点に注意してください。

セッションを開始する (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 Command Line Interface (AWS CLI) をまだインストールして設定していない場合は、インストールして設定します。

詳細については、「AWS CLIの最新バージョンをインストールまたは更新します。」を参照してください。

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

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

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

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

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

セッションの開始 (SSH)

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

SSH 接続の要件

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

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

  • 他のタイプのセッション接続に使用される 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 Systems Manager セクションstart-sessionの AWS CLI 「」を参照してください。

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

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

注記

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

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

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

ポート転送セッションを開始するには、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 は、セッショントラフィックをリダイレクトするマネージドノードのリモートポートです。例えば、リモートデスクトッププロトコル (RDP) を使用した Windows ノードへの接続にポート 3389 を指定する場合があります。portNumber パラメータを指定しない場合、Session Manager はデフォルトの値として 80 を使用します。

localPortNumber は、 など、トラフィックが開始されるローカルコンピュータのポートです56789。この値は、クライアントを使用してマネージドノードに接続する際に入力します。例えば localhost:56789 です。

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

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

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

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

注記

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

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

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

ポート転送セッションを開始するには、 から次のコマンドを実行します AWS 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 は、セッショントラフィックをリダイレクトするマネージドノードのリモートポートです。例えば、リモートデスクトッププロトコル (RDP) を使用した Windows ノードへの接続にポート 3389 を指定する場合があります。portNumber パラメータを指定しない場合、Session Manager はデフォルトの値として 80 を使用します。

localPortNumber は、 など、トラフィックが開始されるローカルコンピュータのポートです56789。この値は、クライアントを使用してマネージドノードに接続する際に入力します。例えば localhost:56789 です。

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

Amazon ECS タスクを使用したセッションの開始

Session Manager では、Amazon Elastic Container Service (Amazon ECS) クラスター内のタスクを使用してポート転送セッションを開始できます。そのためには、IAM のタスクロールを更新して、次のアクセス許可を含める必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

Amazon ECS タスクを使用してポート転送セッションを開始するには、 から次のコマンドを実行します AWS CLI。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

注記

target パラメータから < および > 記号を削除します。これらの記号は、リーダーの明確化のみを目的として提供されています。

Linux & macOS
aws ssm start-session \ --target ecs:<ECS_cluster_name><ECS_container_ID><container_runtime_ID> \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
Windows
aws ssm start-session ^ --target ecs:<ECS_cluster_name><ECS_container_ID><container_runtime_ID> ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="URL",portNumber="port_number",localPortNumber="port_number"

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

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

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

インタラクティブ・コマンドセッションを開始する場合、以下のコマンドを実行します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

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 Systems Manager セクションstart-sessionの AWS CLI 「」を参照してください。