EC2实例无法访问互联网。

4
我使用terraform创建了一个新的EC2实例来安装vertica,但是无法访问Internet或在实例内ping google.com。
我已经设置了一个带有私有子网的EC2实例,并设置了具有公共子网的nat网关。
主路由表允许将0.0.0.0/0作为目的地并将其目标设置为nat网关。另一个路由表将子网关联为私有子网10.103.2.0/24。Internet网关也附加到VPC。
我的EC2实例的安全组允许以下目的地的Redshift和ssh流量:10.83.0.0/16、10.100.0.0/16和所有出站流量:10.83.0.0/16、10.100.0.0/16。
我的问题:
1. 任何路由表都应该将Internet网关作为目标吗? 2. 安全组是否还应该允许icmp? 3. 请简要说明我应该如何排除故障以及我应该检查什么?
3个回答

2

这个声明

EC2实例具有私有子网

与这个声明相矛盾

我已经为路由表设置了互联网网关

如果您有一个子网,该子网具有到互联网网关的路由,则您拥有一个公共子网。如果满足以下所有要求,则您的实例将拥有Internet访问权限:

  1. EC2实例具有公共IP地址。
  2. 网络ACL允许所需端口的入站出站流量。网络ACL类似于无状态防火墙。仅允许出站连接是不够的。
  3. 您的安全组应允许所需端口的出站流量。

如果您的实例没有公共 IP地址,则需要部署NAT网关。


2
我正在使用NAT网关,而EC2实例已经设置为私有子网。 - user6826691
对我来说,我的ACL配置不当导致我的EC2无法访问互联网(至少是HTTP和HTTPS)。这个答案以及下面的官方文档中的ACL示例帮助了我:https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html - Zgore

1

3
互联网网关被定义并附加到虚拟私有云(VPC)中。 - user6826691

-2

2
你能写得更详细一些吗?因为链接将来可能会失效 :) - STA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接