AWS Systems Manager の機能である Session Manager を使用してポート転送を作成したいと考えています。
解決策
ポート 80 のポート転送セッションを作成し、ローカルマシンのローカルホストアドレスからウェブサイトをロードします。セキュリティグループまたはネットワークアクセスコントロールリスト (ネットワーク ACL) のマネージドインスタンスでは、インバウンドポート 80 を開く必要はありません。
前提条件
次の手順を実行します。
-
Systems Manager により Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが管理されていることを確認します。詳細については、「Systems Manager で EC2 インスタンスを管理する」および「Linux 用 EC2 インスタンスで SSM エージェントを手動インストール、アンインストールする」を参照してください。
-
AWS コマンドラインインターフェイス (AWS CLI) 用の Session Manager プラグインをインストールします。
注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
-
次のコマンドを実行し、ターゲットインスタンスのポートがリスニングモードになっていることを確認します。
Linux OS
netstat -plant
Windows OS
netstat -nb
ポート転送セッションを作成する
以下のコマンドを実行します。example の値は、必要な値に置き換えてください。
Linux または macOS
# aws ssm start-session \
--target example-EC2-instance-ID \
--document-name AWS-StartPortForwardingSession \
--parameters '{"portNumber":["80"], "localPortNumber":["example-local-port"]}'
Windows
> aws ssm start-session
--target "example-EC2-instance-ID" --document-name AWS-StartPortForwardingSession --parameters "portNumber"=["80"],"localPortNumber"=["example-local-port"]
ローカルマシンでブラウザを開いた後、http://localhost:example-local-port をロードして Amazon EC2 インスタンスにあるウェブサーバーのコンテンツを確認します。