私は以下のステップを踏みました:
私はこれをすべて実行しましたが、まだインスタンスにpingまたはsshできません。同じ手順でVPCビットを差し引いた場合、問題なく設定できます。どのステップが欠けていますか?
VPCの外部と通信するには、デフォルト以外の各サブネットにルーティングテーブルとそれに関連付けられたインターネットゲートウェイが必要です(デフォルトのサブネットには、デフォルトで外部ゲートウェイとルーティングテーブルが割り当てられます)。
VPCでパブリックサブネットを作成した方法によっては、明示的に追加する必要がある場合があります。 VPCの設定は、シナリオ1- 単一のパブリックサブネットを持つプライベートクラウド(VPC)、およびインターネット経由の通信を可能にするインターネットゲートウェイ に一致するように聞こえます== AWS VPCドキュメントから。
VPCにインターネットゲートウェイを追加する必要があり、パブリックサブネットのルーティングテーブル内にassign 0.0.0.0/0
(デフォルトルート)は、割り当てられたインターネットゲートウェイに移動します。ドキュメント内に、正確なネットワークトポロジの素晴らしい図があります。
また、詳細については、 VPC Internet Gateway AWSのドキュメントを確認してください。残念ながら、それは少し厄介で、自明ではありません。
接続の問題の詳細については、 インスタンスへの接続のトラブルシューティング も参照してください。
インスタンスが作成されるアベイラビリティーゾーンに注意する必要があると思います(そう思います)。サブネット、ネットワークインターフェース、インスタンスは同じアベイラビリティーゾーンにある必要があります。そうでない場合、パブリックIPに接続する方法はありません。そのインスタンスのために。
私は間違っているかもしれません-しかし、私はそうは思いません、これは私が理解するために私に12時間の仕事を費やしました。
これが他の誰かを助けることを願っています。
これが正確にこのケースであるかどうかはわかりませんが、パブリックサブネットとプライベートサブネットでVPCを作成したところ、同じセキュリティグループ名と同じ送信元アドレスを持つデフォルトのセキュリティグループがあることに気付きました。効果的にアクセスできません。このソースをAnywhereに変更する必要があり、機能し始めました。
ENIを割り当て、Elastic IPをこのENIに割り当てる必要があります。また、このENIをVPCに割り当てる必要があります。外部パケットをVPCに正しく転送するには、ルートテーブルも正しい必要があります。
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