インターネットからの Amazon EC2 インスタンス接続タイムアウトエラーをトラブルシューティングするにはどうすればよいですか?

所要時間2分
1

インターネットから Amazon Virtual Private Cloud (Amazon VPC) 内にある Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続できません。接続しようとすると、接続がハングし、「Network error: Connection timed out」(ネットワークエラー: 接続タイムアウト) のようなエラーが表示されます。これを解決するにはどうすればよいですか?

解決方法

注:「Permission Denied」(許可が拒否されました) または「Connection Refused」(接続が拒否されました) エラーについては、「EC2 インスタンスに SSH で接続しようとすると、「接続が拒否されました」または「接続がタイムアウトしました」というエラーが表示されます。これを解決するにはどうすればよいですか?」を参照してください。

セキュリティ設定で適切なアクセスが許可されていることを確認する

VPC の Amazon EC2 インスタンスの次のセキュリティ設定を確認します。

  1. インスタンスにパブリック IP アドレスまたは Elastic IP アドレスが関連付けられていることを確認します。インスタンスに接続するときは、必ずこの IP アドレスを使用します。
    注: トラブルシューティングの詳細については、「Elastic IP アドレスがアタッチされている Amazon EC2 インスタンスまたは Elastic Network Interface への接続を修正するにはどうすればよいですか?」を参照してください。
  2. SSH を使用して IP アドレスからインスタンスへのアクセスを許可するようにセキュリティグループにルールを追加します。
  3. インスタンスがシステムおよびインスタンスのステータスチェックにパスしていることを確認します。

ネットワーク ACL でインスタンスへのアクセスが許可されていることを確認する

次のように、ネットワーク ACL が、IP アドレスから SSH 経由でのインスタンスへのアクセスを許可していることを確認します。設定例については、「例: サブネットのインスタンスへのアクセス制御」を参照してください。

まず、インスタンスの [Subnet ID] (サブネット ID) を見つけます。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで、[Instances] (インスタンス) の下にある [Instances] (インスタンス) を選択します。
  3. インスタンスを選択します。
  4. [Details] (詳細) を選択します。
  5. [Subnet ID] (サブネット ID) を書き留めます。

その後、ネットワーク ACL のインバウンドルールとアウトバウンドルールを確認します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインの [Virtual Private Cloud] で、 [Subnets] (サブネット) を選択します。
  3. コンテンツペインで、前に書き留めた [Subnet ID] (サブネット ID) を選択します。
  4. [Network ACL] (ネットワーク ACL) タブを選択します。
    重要: インスタンスに複数のサブネットが関連付けられている場合は、それぞれのサブネットに対してステップ 5〜6 を実行します。
  5. インバウンドルールがデフォルトのネットワーク ACL 設定と異なっているかどうかを確認します。ルールが異なっている場合は、IP アドレスとの間の SSH のインバウンドトラフィックを許可するルールを追加します。SSH の設定例については、「カスタムネットワーク ACL」を参照してください。
  6. アウトバウンドルールがデフォルトのネットワーク ACL 設定と異なっているかどうかを確認します。ルールが異なっている場合は、IP アドレスとの間の SSH のアウトバウンドトラフィックを許可するルールを追加します。

VPC ルートテーブルがインターネットとの間のトラフィックを許可していることを確認する

まず、インスタンスの [Subnet ID] (サブネット ID) を見つけます。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで、[Instances] (インスタンス) の下にある [Instances] (インスタンス) を選択します。
  3. インスタンスを選択します。
  4. [Details] (詳細) を選択します。
  5. [Subnet ID] (サブネット ID) を書き留めます。

その後、VPC ルートテーブルがインターネットとの間のトラフィックを許可していることを確認します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインの [Virtual Private Cloud] で、 [Subnets] (サブネット) を選択します。
  3. コンテンツペインで、前に書き留めた [Subnet ID] (サブネット ID) を選択します。
  4. [Routes] (ルート) テーブルタブを選択します。
  5. インターネットゲートウェイをポイントするデフォルトルート (送信先が 0.0.0.0/0 であるルート) があることを確認してください。インターネットゲートウェイへのデフォルトルートがない場合は、ナビゲーションペインの [Virtual Private Cloud] の下の [Internet Gateways] (インターネットゲートウェイ) を選択します。
  6. VPC のインターネットゲートウェイを選択します。
    注: VPC ID は、インスタンスの [Details] (詳細) ページにあります。
  7. [Details] (詳細) ビューで、インターネットゲートウェイの [ID] の値を書き留めます。
  8. [Destination] (送信先) が 0.0.0.0/0 で、インターネットゲートウェイ ID を [Target] (ターゲット) に持つ新しいルートを追加します。必ず新しいルートテーブルの設定を保存します。
    注: 要塞ホストから接続する場合、VPC ルートテーブルはプライベートサブネットであるため、インターネットゲートウェイへのデフォルトルート (0.0.0.0/0) を持つことはできません。詳細については、「要塞ホスト経由の SSH 接続を使用した EC2 インスタンスへのアクセスをトラブルシューティングするにはどうすればよいですか?」を参照してください。

ローカルファイアウォールとルーティングテーブルとの競合を確認する

接続の問題が解決しない場合は、ローカルファイアウォールのルールまたはローカルルーティングテーブルとの矛盾を確認します。


関連情報

Amazon EC2 インスタンスがインターネットゲートウェイを使用してインターネットに接続できないのはなぜですか?

SSH を使用した Amazon EC2 Linux インスタンスへの接続に関する問題をトラブルシューティングするにはどうすればよいですか?

プライベートサブネット内の EC2 インスタンスが NAT ゲートウェイを使用してインターネットに接続できないのはなぜですか?

インターネットから Amazon VPC 内の Amazon EC2 インスタンスに接続できないのはなぜですか?

Amazon VPC の使用を開始する

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ