スキップしてコンテンツを表示

Session Manager を使用してポート転送を作成する方法を教えてください。

所要時間1分
0

AWS Systems Manager の機能である Session Manager を使用してポート転送を作成したいと考えています。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Session Manager を使用してポート転送を作成するには、次の手順を実行します。

  1. Systems Manager により Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが管理されていることを確認します。詳細については、「Systems Manager で EC2 インスタンスを管理する」および「Linux 用 EC2 インスタンスで AWS Systems Manager Agent を手動インストール、アンインストールする」を参照してください。

  2. AWS CLI 用の Session Manager プラグインをインストールします

  3. 次のコマンドを実行し、EC2 インスタンスのポートがリスニングモードになっていることを確認します。
    Linux:

    netstat -plant

    macOS:

    lsof -iTCP -sTCP:LISTEN -P -n

    Windows:

    netstat -nb
  4. AWS Identity and Access Management (IAM) ポリシーを設定し、ユーザーが Systems Manager 経由でポート転送セッションを使用できるようにします。次の IAM ポリシーの例では、AWS アカウントのすべての EC2 インスタンスでポート転送を許可しています。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "ssm:StartSession",
                "Resource": [
                    "arn:aws:ec2:*:example-account-id:instance/*",
                    "arn:aws:ssm:*::document/AWS-StartPortForwardingSession"
                ]
            }
        ]
    }

    注: example-account-id を実際のアカウント ID に置き換えます。

  5. 使用する OS に合ったコマンドを実行してください。
    Linux または macOS:

    # aws ssm start-session \
     --target example-EC2-instance-ID \
     --document-name AWS-StartPortForwardingSession \  
      --parameters '{"portNumber":["80"], "localPortNumber":["example-local-port"]}'

    注: 実際のものでそれぞれ、example-EC2-instance-ID を EC2 インスタンス ID に、example-local-port をローカルポートに置き換えます。
    Windows:

    # aws ssm start-session  
     --target "example-EC2-instance-ID" --document-name AWS-StartPortForwardingSession --parameters "portNumber"=["80"],"localPortNumber"=["example-local-port"]

    注: 実際のものでそれぞれ、example-EC2-instance-ID を EC2 インスタンス ID に、example-local-port をローカルポートに置き換えます。

  6. インスタンスのウェブサーバーコンテンツを表示するには、ローカルマシンのブラウザで http://localhost:example-local-port をロードします。
    注: セキュリティグループまたはネットワークアクセスコントロールリストでは、マネージド EC2 インスタンスでインバウンドポート 80 を開く必要はありません。

AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ