EC2实例无法访问互联网



显然,我的EC2实例无法正确访问互联网。以下是当我尝试安装Python模块时会发生的情况:
[ec2-user@ip-172-31-90-31 ~]$ pip3 install flask
Defaulting to user installation because normal site-packages is not writeable
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fab198cbe10>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/flask/

但是,托管在同一EC2实例上的网站可以使用http和https访问。

安全组配置如下:

端口范围 协议
80 TCP 0.0.0.0/0
22 TCP 0.0.0.0/0
80 TCP :/0
22 TCP :/0
443 TCP 0.0.0.0/0
443 TCP :/0

您没有列出附加到实例的安全组的出站规则的设置。你应该保留";允许所有";允许实例访问Internet的出站规则。

一般来说,您不应该修改ACL规则,使其偏离默认的";允许所有";设置,除非您有非常特殊的需求(例如创建DMZ(。我建议您首先从ACL中删除所有自定义规则,并将"all traffic"选项设置为";允许";。至少暂时尝试一下,以尝试识别问题。

例如,当建立到Internet的连接时,流量将来自随机分配的端口。您的ACL当前正在阻止所有此类端口。(需要澄清的是:您可能正在连接到远程计算机上的端口80,但该请求不是来自您自己计算机上的80。它来自随机分配的端口。(

最新更新