EC2へのポートフォワーディング

AWS Systems Manager (SSM) の start-session を使用して EC2 インスタンスに接続したセッションを介して、ローカル PC から EC2 インスタンスに対して ping を送信し続けたい場合、以下の手順を実行します。

前提条件

  1. AWS CLIのインストールと設定: AWS CLI がインストールされており、適切に設定されていること。
  2. SSMエージェントの設定: EC2 インスタンスに SSM エージェントがインストールされ、起動していること。
  3. 必要なIAMロールとポリシー: EC2 インスタンスに SSM 関連の IAM ロール (AmazonSSMManagedInstanceCore ポリシー) がアタッチされていること。

手順

1. AWS CLIを使用してEC2インスタンスに接続

AWS Systems Manager Session Managerを使用してEC2インスタンスに接続します。

aws ssm start-session --target <instance-id>

例えば、インスタンスIDがi-0123456789abcdef0の場合:

aws ssm start-session --target i-0123456789abcdef0

2. ポートフォワーディングを設定してEC2インスタンスへのトラフィックを許可する

AWS Session Managerを使ったポートフォワーディングを設定することで、ローカルPCからEC2インスタンスに対してpingを送信できるようにします。ポートフォワーディングを設定するための方法は以下の通りです:

aws ssm start-session --target <instance-id> --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["22"],"localPortNumber":["9999"]}'
  • portNumber: EC2インスタンス上でフォワードするポート(ここでは SSH のデフォルトポート 22 )。
  • localPortNumber: ローカルPCで使用するポート(フォワード先の選択、例えば9999)。

このコマンドにより、ローカルPCのポート9999がEC2インスタンスのポート22にフォワーディングされます。

3. ローカルPCからEC2インスタンスに対してpingを送信

ポートフォワーディングの設定が正確であれば、ローカルPCから直接EC2インスタンスへのpingが実行可能です。しかし、直接的なICMP(ping)リクエストを転送するための特定のツールや設定なしには通常フォワードできません。以下の方法のローカルPCからシンプルな接続確認のための手段としてSSHなど、他のツールを使うことをお勧めします:

Pingを使用するためのポートフォワーディングのための代替手法

ICMPトラフィック自体をフォワードするのが難しいので、パケット転送用のトンネリングが一般的な解決策となります。

方法1: SSH トンネルを使用

一時的にSSHトンネリングを使用してから、内側でpingコマンドを実行する。

  1. example.comがEC2 インスタンス内にある他のホストにpingを送る。
   ssh -L 9999:example.com:22 ec2-user@<ec2-public-ip>
  1. ping実行:
   ping localhost -p 9999

これでSShが可能であり、2ステップの確認方法。

UFW ポートフォワーディング

AWS Session Manager自体は、ping(ICMP Echo)のようなトラフィックも通常使用されないので、最も簡単なping送信について、aws ssm tunnelとの組み合わせのローカル確認。基本的なネットワーク構成による内部。

セッションマネージャを通じて ping を望む場合

適切な間接アクセスが必要がなく、ping(ICMPを直接転送)はAWSセッションマネージャ機能範囲外に解決するために、全ポートトンネリングでの代替案を望まない場合確認。

最も正確な例:

awsポートとの透過フォワーディングが避けるコマンドによるssh-ping組み合わせソリューションへ:

Linux設定内ポートに読み替え切替

適切にセキュリティ確保のためにssh au-based ec2.transparentへ適応の場合、より安全な手段として適用されます完全性向上や保全によるsshによる例:

ssh -N -L 8080:localhost:80 ec2-user@external-ip

外部セッションチェックping透過IP沿って一部向上に。

この方法で、検証最適なら適宜完成承認時向けサービス。

コメント

タイトルとURLをコピーしました