TL;DR TCP traffic was blocked internally, that's why I couldn't do the requests at that time
I'm having some troubles trying to make HTTP / HTTPS requests from a EC2 instance on AWS.
The instance public IP is working, and I can connect via SSH.
IT WORKS When I try to ping or nslookup a domain:
[root@my-instance etc]# ping google.com
PING google.com (172.217.15.110) 56(84) bytes of data.
BUT when I try to curl an url I've got this:
# curl -v https://google.com
* Rebuilt URL to: https://google.com/
* Trying 172.217.164.174...
* TCP_NODELAY set
* Trying 2607:f8b0:4004:803::200e...
* TCP_NODELAY set
* Immediate connect fail for 2607:f8b0:4004:803::200e: Network is unreachable
* Trying 2607:f8b0:4004:803::200e...
* TCP_NODELAY set
* Immediate connect fail for 2607:f8b0:4004:803::200e: Network is unreachable
* Trying 2607:f8b0:4004:803::200e...
...
I've got other instances associated to the same VPC and with the same outbound settings, this is the only one which blocks the outgoing requests.
Some details about the network:
Instance Security Group Outbound settings:
The Subnet attached is also connected to an Internet Gateway:
And these are the ACL traffic settings (which are the same ACL for other instances)
This instance has an Elastic-IP associated and it's on a VPC (which other instances are also connected and the outbound traffic is OK),
I've tried to attach a new security group (a clone from the original) to that instance.
Does anyone has any ideas what's happening?
nslookup
ordig
proves almost nothing, and neither does the ability to get an IP from a hostname usingping
, because the VPC network is designed in a way that happens to make DNS resolution extremely difficult to break.