このガイドでは、Linux Elastic Compute Service (ECS) インスタンスでの TCP および UDP ポートの接続性をテストする方法について説明します。
TCP ポートの接続性のテスト
テストするポートの状態に応じて、いずれかの方法を選択します。
ポートがすでにリッスンしている場合:「方法 1:Telnet を使用したリッスンポートのテスト」をご参照ください。
ポートがリッスンしていない場合:「方法 2:ポートでリスナーを起動して接続性をテストする」をご参照ください。
方法 1:Telnet を使用したリッスンポートのテスト
Linux インスタンスに接続します。
詳細については、「ワークベンチを使用して Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、ポートの接続性をテストします。
たとえば、サーバー
121.11.XX.XXのポート1234をテストするには、sudo telnet 121.11.XX.XX 1234を実行します。# [$Host] をターゲットサーバーの IP アドレスに、[$Port] をテストするポート番号に置き換えます。 sudo telnet [$Host] [$Port]接続に成功すると、以下のような出力が返されます。正確な出力は Linux ディストリビューションによって異なる場合がありますが、
Connected to ...を含むメッセージが表示されていれば成功です。説明テストが失敗した場合は、ターゲットサーバーのセキュリティグループルールで、テストポートでのインバウンドトラフィックが許可されていることを確認してください。アクセスを許可するには、セキュリティグループルールを追加します。詳細については、「セキュリティグループルールを追加する」をご参照ください。
Trying 121.11.XX.XX... Connected to 121.11.XX.XX. Escape character is '^]'.
方法 2:テスト用の一時的なリッスンポートの作成
この方法では、サーバーとクライアントの 2 つのインスタンスが必要です。このテストでは、サーバーインスタンスのポート接続性を検証します。
サーバー:新しいポートが接続をリッスンするインスタンス。
クライアント:テストのためにサーバーのポートに接続するインスタンス。
Linux インスタンスに接続します。
詳細については、「ワークベンチを使用して Linux インスタンスに接続する」をご参照ください。
サーバーインスタンスで、次のコマンドを実行して、インストールされている Python のバージョンを確認します。
python -Vコマンドがバージョン番号を返した場合、Python はインストールされています。
Python がインストールされていない場合は、「Python 環境のデプロイ」をご参照のうえ、インストールしてください。
サーバーインスタンスで、次のコマンドを実行して、Python の組み込み Web サーバーで一時的なリッスンポートを作成します。
たとえば、Python 3.x を使用してポート
1234でリスナーを作成するには、sudo python3 -m http.server 1234を実行します。Python 2
# [$Port] をテストするポート番号に置き換えます。 sudo python -m SimpleHTTPServer [$Port]Python 3.x
# [$Port] をテストするポート番号に置き換えます。 sudo python3 -m http.server [$Port]
次のような出力は、リスナーがアクティブであることを示します。
Serving HTTP on 0.0.0.0 port 1234 ...説明テストが完了したら、
Ctrl+Cを押してリッスンプロセスを停止します。クライアントインスタンスで、次のコマンドを実行して、サーバーの新しいリッスンポートをテストします。
たとえば、サーバー
121.11.XX.XXのポート1234をテストするには、sudo telnet 121.11.XX.XX 1234を実行します。# [$Host] をサーバーの IP アドレスに、[$Port] をテストするポート番号に置き換えます。 sudo telnet [$Host] [$Port]接続に成功すると、次のような出力が返されます。正確な出力は Linux ディストリビューションによって異なる場合がありますが、
Connected to ...を含むメッセージが表示されていれば成功です。説明テストが失敗した場合は、サーバーのセキュリティグループルールで、テストポートでのインバウンドトラフィックが許可されていることを確認してください。アクセスを許可するには、セキュリティグループルールを追加します。詳細については、「セキュリティグループルールを追加する」をご参照ください。
Trying 121.11.XX.XX... Connected to 121.11.XX.XX. Escape character is '^]'.
UDP ポートの接続性のテスト
この方法では、サーバーとクライアントの 2 つのインスタンスが必要です。このテストでは、サーバーインスタンスのポート接続性を検証します。
サーバー:UDP ポートの接続性がテストされるインスタンス。
クライアント:テストのためにサーバーのポートにデータを送信するインスタンス。
Linux インスタンスに接続します。
詳細については、「ワークベンチを使用して Linux インスタンスに接続する」をご参照ください。
サーバーとクライアントの両方のインスタンスで、以下のコマンドを実行して、
nc(またはnetcat) ユーティリティがインストールされているかどうかを確認します。which ncコマンドが
/usr/bin/ncのようなパスを返す場合、ユーティリティはインストールされています。/usr/bin/nc説明コマンドが見つからない場合は、
yumやapt-getなどのパッケージマネージャを使用してユーティリティをインストールしてください。 例:sudo yum install -y nc。サーバーインスタンスで、次のコマンドを実行して、テスト UDP ポートでリッスンします。
たとえば、UDP ポート
3333で、sudo nc -uvlp 3333を実行します。# [$Port] をテストするポート番号に置き換えます。 sudo nc -uvlp [$Port]このコマンドは、指定されたポートでリスナーを起動し、次のような出力を返します。
Ncat: Version 7.92 ( https://nmap.org/ncat ) Ncat: Listening on :::3333 Ncat: Listening on 0.0.0.0:3333クライアントインスタンスで、次のコマンドを実行して、サーバーのテストポートに接続します。
たとえば、サーバー
111.22.XX.XXの UDP ポート3333に接続するには、sudo nc -u 111.22.XX.XX 3333を実行します。# [$Host] をサーバーの IP アドレスに、[$Port] をテストするポート番号に置き換えます。 sudo nc -u [$Host] [$Port]コマンドが実行されたら、テスト文字列 (例:「test」) を入力して Enter キーを押します。同じ文字列がサーバーのターミナルに表示された場合、ポート接続は成功です。
説明テストが失敗した場合 (サーバーがデータを受信しない場合)、サーバーのセキュリティグループルールで、テストポートでのインバウンドトラフィックが許可されていることを確認してください。アクセスを許可するには、セキュリティグループルールを追加します。詳細については、「セキュリティグループルールを追加する」をご参照ください。

