39298


AWS内に作成したEC2からインターネットのアクセスができない事象が発生しております。  
構築したサーバのルーティング設定周りが怪しいと思っておりますが、原因を特定できておりませんので、AWS構築に詳しい方がいらっしゃいましたら、ご教授ください。

実行したコマンドは下記のとおりです。  
■コマンド実行結果

[code]

     # curl http://google.com
    curl: (7) Failed to connect to google.com port 80: Connection timed out
    
[/code]

今回環境を構築した手順は下記のとおりです。  
■構築手順  
・AWSにてVPCを作成し、その後パブリックサブネット(10.0.1.0/24)を作成いたしました。  
・インターネットゲートウェイを作成し、VPCにアタッチいたしました。  
・インターネットに向けて設定として、ルートテーブルにDestinationに0.0.0.0/0、Targetに上記で作成したインターネットゲートウェイを指定いたしました。  
・その後、EC2を作成し、グローバルIPアドレスとしてEIPをアタッチしております。  
・構築方法については、下記URLで紹介されている手順を参考にして構築しております。  
（参考）  
<https://qiita.com/shunsuke227ono/items/23dbf4f3bc663a2875f0>

■パケットキャプチャ  
上記コマンドを実行した際にパケットキャプチャを取得したところ、google.comへのSYNパケットを投げているのですが、その後、ACKパケットが返却されず、SYNパケットを再送しているような状況でした。

■routeコマンド結果

[code]

     # route
    
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         ip-10-0-1-1.ap- 0.0.0.0         UG    0      0        0 eth0
    default         ip-10-0-1-1.ap- 0.0.0.0         UG    10001  0        0 eth1
    10.0.1.0        *               255.255.255.0   U     0      0        0 eth0
    10.0.1.0        *               255.255.255.0   U     0      0        0 eth1
    
[/code]


CC BY-SA 3.0
2017-11-04T12:09:24.800
39289
2021-03-08T02:03:04.193
2021-03-08T02:03:04.193
3060
8489
question
amazon-ec2
AWS内に作成したEC2からインターネットのアクセスができない


EC2 インスタンスに eth0, eth1 と
2つのネットワークインターフェース(ENI)が存在していて、おそらく、eth0:プライベートIPアドレスのみ、eth1:プライベートIPアドレス＋EIP
となっていて、ルーティング設定により eth0 から outbound パケットを出そうとしているのだと思います。

eth1 を優先するようルーティングを設定するか、eth1 を削除し eth0 のみとし、eth0 に EIP を付けるといいと思います。

eth0 のグローバルIPアドレスが固定でなくてもいいならば、EIP
ではなく、起動時に自動的で設定されるグローバルIPアドレス/パブリックIPアドレスを使ってもいいです。


CC BY-SA 3.0
2017-11-04T15:07:54.183
39298
2017-11-04T15:07:54.183
4603
39289
answer