VPCのEC2インスタンスに接続できません(Amazon AWS)


46

次の手順を実行しました。

  1. VPCを作成しました(単一のパブリックサブネットを使用)
  2. VPCにEC2インスタンスを追加しました
  3. エラスティックIPを割り当てました
  4. エラスティックIPをインスタンスに関連付けました
  5. セキュリティグループを作成し、インスタンスに割り当てました
  6. ポート22で受信ICMPエコーとTCPを許可するようにセキュリティルールを変更しました

これをすべて実行しましたが、インスタンスにpingまたはsshを実行できません。同じ手順に従ってVPCビットを引いた場合、問題なくセットアップできます。どのステップが欠けていますか?


2
VPCサブネットにゲートウェイとルートを割り当てましたか?
ゾルレム

インターネットゲートウェイにアクセスすると、VPCに割り当てられたゲートウェイがあります。ルートが割り当てられているかどうかを確認するにはどうすればよいですか?
ライアンリンチ

ルートはルートテーブルですか?
ライアンリンチ

2
はい、「インターネットゲートウェイ」をパブリックルーティングテーブルに割り当てる必要があります。
ゾルレ

1
素晴らしい、ありがとう。あなたが答えの形でそれを置くならば、私はそれを受け入れます。あなたの答えでは、ルートテーブルに何を正確に入れるかを指定できますか?0.0.0.0/0とターゲットをインターネットゲートウェイとして設定しましたが、それは正しいことのようには聞こえません。
ライアンリンチ

回答:


75

VPCの外部と通信するには、デフォルト以外の各サブネットにルーティングテーブルとそれに関連付けられたインターネットゲートウェイが必要です(デフォルトサブネットは、デフォルトで外部ゲートウェイとルーティングテーブルを取得します)。

VPCでパブリックサブネットを作成した方法によっては、パブリックサブネットを明示的に追加する必要がある場合があります。VPCセットアップは、シナリオ1- 単一のパブリックサブネットを持つプライベートクラウド(VPC)、および AWS VPCドキュメントからインターネット経由の通信を可能にするインターネットゲートウェイに一致するように聞こえます。

あなたはします、あなたのVPCにインターネットゲートウェイを追加する必要があるとパブリックサブネットのルーティングテーブル内の割り当て0.0.0.0/0割り当てられたインターネットゲートウェイに移動するには(デフォルトルート)。ドキュメント内には、正確なネットワークトポロジのわかりやすい図があります。

また、詳細については、VPC Internet Gateway AWSのドキュメントを確認できます。残念ながら、それは少し厄介で、自明でない落とし穴です。

接続の問題の詳細については、「インスタンスへの接続のトラブルシューティング」も参照してください。


2
インターネットゲートウェイにデフォルトルートを割り当てることに加えて、サブネットをルーティングテーブルに関連付ける必要がありました。しかし、これらの2つのことを終えると、稼働しました。ありがとう。
サム・ケニー

4
VPC管理>ルートテーブル> [ルート]> [追加]、0.0.0.0/0、あなたのインターネットゲートウェイを選択するドロップダウン
スコットR.フロスト

私はこれを、インターネットが私の間違いから学ぶために放り出します。インターネットゲートウェイへのルートの宛先が0.0.0.0/32の場合、機能しません。Zorlemの回答で指定されているように、ルートを0.0.0.0/0に変更する必要があります。
ダグラス

4

これがまさにこのケースであるかどうかはわかりませんが、パブリックサブネットとプライベートサブネットでVPCを作成したところ、同じセキュリティグループ名と同じ送信元アドレスを持つデフォルトのセキュリティグループがあることに気付きました。効果的にはアクセスできません。このソースをAnywhereに変更する必要があり、機能し始めました。


こんにちは、私もそのシナリオ2をテストしています。パブリックおよびプライベートサブネットのパブリックおよびプライベートインスタンス。ポイントは、プライベートインスタンスがインターネットにアクセスしてソフトウェアを更新する方法を理解していないことです。
ワン

おかげで、これは私の問題だった、私はVPC内の手段すべてのインスタンスがアクセス持っていたことを、仮定した
Santthosh

3

インスタンスが作成されるアベイラビリティーゾーンに注意する必要があることに気づきました。サブネット、ネットワークインターフェース、およびインスタンスは同じアベイラビリティーゾーンにある必要があります。そうでない場合、パブリックIPに接続する方法はありません。そのために。

私は間違っているかもしれません-しかし、私はそうは思わない、これは私に理解するのに12時間の仕事を費やしました。

これが他の誰かに役立つことを願っています。


そのとおりです。作成した場所シナリオ1は、答えで述べたように、ある/16VPCを作成して、/24各AZにあなたが仕事をしたい
Machavity

1

ENIを割り当て、Elastic IPをこのENIに割り当てる必要があります。また、このENIをVPCに割り当てる必要があります。外部のパケットをVPCに正しく転送するには、ルートテーブルも正しくなければなりません。


インスタンスに追加のネットワークインターフェースが必要な場合、デフォルトでは1つのNICが付属している場合、ENIを追加する必要があると思います。
ゾルレ

0

SSHはステートフルプロトコルであるため、ネットワークACLに次のOUTBOUNDルールがあることを確認する必要があります。

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.