ウィザードでAmazon VPCを「パブリック専用ネットワーク」として設定しているため、すべてのインスタンスはパブリックサブネットにあります。
Elastic IPが割り当てられたVPC内のインスタンスは、問題なくインターネットに接続します。
ただし、エラスティックIPのないインスタンスはどこにも接続できません。
インターネットゲートウェイが存在します。 AWSコンソールのルートテーブルは次のようになります
Destination Target
10.0.0.0/16 local
0.0.0.0/0 igw-nnnnn
内部インスタンスショーからのルート
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
default 10.0.0.1 0.0.0.0 UG 100 0 0 eth0
インスタンスが属するセキュリティグループの0.0.0.0/0へのすべてのインバウンドおよびアウトバウンドトラフィックを開こうとしました。まだ成功していません。
~$ ping google.com
PING google.com (74.125.224.36) 56(84) bytes of data.
^C
--- google.com ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5017ms
他に何ができますか?
Elastic IPを持たないインスタンスから外に出る唯一の方法は次のとおりです。
したがって、NATを追加するだけでは十分ではありません。インスタンスを停止し、別のサブネットから別のIPに移動する必要があります。
ドキュメントでは、 NATインスタンス を追加する必要があると指示されています
Q。 EIPのないインスタンスはどのようにインターネットにアクセスしますか?
EIPを持たないインスタンスは、2つの方法のいずれかでインターネットにアクセスできます。EIPを持たないインスタンスは、NATインスタンスを介してインターネットにアクセスします。これらのインスタンスは、NATインスタンスはインターネットを横断します。NATインスタンスはアウトバウンド通信を許可しますが、インターネット上のマシンがNATを使用してプライベートアドレスのマシンへの接続を開始することはできません。
http://aws.Amazon.com/vpc/faqs/
Natインスタンスのセットアップ方法の詳細な手順については、こちらをご覧ください: http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
または、パブリックVPC内でNATインスタンスを作成し、そのNATインスタンスに静的ルートを追加します
route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.5 eth0
ここで、10.0.0.5はnatインスタンスです。NATインスタンスが含まれるセキュリティグループが、インターネットアクセスが必要なボックスからの内部トラフィックを受け入れることができることを確認してください。
EIPを備えたVPCの任意のインスタンスで実行できます。 here で説明したいくつかの指示が役立ちます。ところで:送信元/送信先を無効にすることを忘れないでください。チェック
EIPを持たないインスタンスは、2つの方法のいずれかでインターネットにアクセスできます。EIPを持たないインスタンスは、NATインスタンスを介してインターネットにアクセスします。これらのインスタンスは、NATインスタンスはインターネットを横断します。NATインスタンスはアウトバウンド通信を許可しますが、インターネット上のマシンがNATを使用してプライベートアドレスのマシンへの接続を開始することはできません。
https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html
彼らはNATこれを行うゲートウェイと呼ばれる比較的新しい製品を持ち、パブリッシュ/プライベートサブネットのエッジにマネージドNATインスタンスを作成します。
セキュリティグループ->送信
* ALL Traffic ALL ALL 0.0.0.0/0 Allow
Google.comなどの外部サーバーに接続する場合、または更新する場合でも、Outboundを許可してください-Sudo apt-get update
AWSフロントエンドgotoセキュリティグループ->アウトバウンドを使用してアウトバウンドを許可できます
AWSインスタンスに適切なグループを選択していることを確認してください
サブネット上のネットワークACLを確認しましたか?
セキュリティグループのルールをクロスチェックします。
ルートテーブルは正常に見えます。動作するはずです。
これは私のために働いています:
行うには:
root @ gw:〜#sysctl -q -w net.ipv4.ip_forward = 1 net.ipv4.conf.eth0.send_redirects = 0
root @ gw:〜#iptables -t nat -C POSTROUTING -o eth0 -s 172.20.222.0/24 -j MASQUERADE 2>/dev/null || iptables -t nat -A POSTROUTING -o eth0 -s 172.20.222.0/24 -j MASQUERADE
動作する場合、この2行を/etc/rc.localに追加します
この問題を修正するために必要なことは、NATを行うように設定したインスタンスの「ソース/宛先チェック」を無効にすることだけです。これは、AWSコンソールの[インスタンスアクション]で実行できます。