为什么我的 Amazon EC2 实例无法使用互联网网关连接到互联网?

1 分钟阅读
0

我在公有子网中的 Amazon Elastic Compute Cloud(Amazon EC2)实例具有公有 IP 地址或互联网网关,但无法接入互联网。

简短描述

要解决 Amazon EC2 无法接入互联网的问题,请执行以下操作:

  • 验证 EC2 实例是否满足所有先决条件。
  • 验证实例是否具有公有 IP 地址。
  • 验证防火墙是否未阻止接入。

解决方法

验证实例是否满足所有先决条件

实例必须满足以下条件:

验证实例是否具有公有 IP 地址

如果公有子网中的实例没有公有 IP 地址,则无法在其所在的虚拟私有云(VPC)外部访问实例。即使实例具有互联网网关,也是如此。

要允许实例连接到互联网,请分配弹性 IP 地址,然后将此弹性 IP 地址与实例关联

验证防火墙是否未阻止访问

如果实例满足上述条件并且互联网连接问题仍然存在,则操作系统中可能正在运行本地防火墙。最佳实践是使用安全组,而不是在操作系统中安装本地防火墙。确保禁用本地防火墙不会影响您的工作负载。

# For Uncomplicated Firewall
sudo ufw disable

# For firewalld
sudo systemctl disable firewalld --now

如果您必须使用防火墙,则互联网连接问题通常与输出链相关。您可以通过运行以下命令来允许传出流量:

sudo iptables -P OUTPUT ACCEPT
sudo iptables -I OUTPUT 1 -j ACCEPT

Windows Server:

对于 Windows Server 默认防火墙,运行以下命令:

netsh advfirewall firewall show rule name=all

如果前面的命令显示流量被阻止,则移除旧规则或添加允许该特定端口的流量的新规则。有关详细信息,请参阅 Microsoft 文档了解具有高级安全规则的 Windows 防火墙

相关信息

使用互联网网关连接到互联网

使用安全组控制流向您的 AWS 资源的流量

为什么私有子网中的 Amazon EC2 实例无法使用 NAT 网关连接到互联网?

AWS 官方
AWS 官方已更新 2 年前