Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用NAT实例提供对私有Ec2实例的internet访问_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Amazon web services 使用NAT实例提供对私有Ec2实例的internet访问

Amazon web services 使用NAT实例提供对私有Ec2实例的internet访问,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我能够通过NAT实例将我的私有Ec2实例连接到internet。 wget google.com是成功的。 但是当我将一个NACL连接到我的私有子网时,我无法连接到internet。有人能告诉我NACL有什么问题吗。 10.0.1.0/24和10.0.2.0/24是公子网的CIDR(具有NAT实例) 专用入站规则 专用出站规则 另外,当我添加规则以接受来自internet的所有流量时,它也可以工作。添加此规则是否正确?基于注释 问题是由于阻止了入站internet流量(0.0.0.0/0)。

我能够通过NAT实例将我的私有Ec2实例连接到internet。 wget google.com是成功的。 但是当我将一个NACL连接到我的私有子网时,我无法连接到internet。有人能告诉我NACL有什么问题吗。 10.0.1.0/24和10.0.2.0/24是公子网的CIDR(具有NAT实例)

专用入站规则

专用出站规则

另外,当我添加规则以接受来自internet的所有流量时,它也可以工作。添加此规则是否正确?

基于注释

问题是由于阻止了入站internet流量(0.0.0.0/0)。在AWS文档中,要使用NAT启用实例的internet访问,必须确保以下几点:

确保与专用子网和公共子网关联的网络ACL没有阻止入站或出站internet流量的规则。为使ping命令起作用,规则还必须允许入站和出站ICMP通信

评论中的问题:

但只有一个问题:在这种情况下,白名单将如何工作。如果我只想使用internet下载某些库而不允许任何api请求

如果您知道这些库将要从中下载的公共服务器的IP范围,则可以将internet流量限制为仅这些范围。但如果范围不固定或未知,则必须允许规则中的所有(0.0.0.0/0)internet流量


通常,安全组被用作控制网络流量的主要方式。NACL由于其否认能力而很好。安全组不能显式拒绝通信,因此NACL在需要显式拒绝某些IP的情况下非常有用。但在你的情况下,你只允许交通。因此,我认为使用默认NACL就足够了,可以考虑。

您还需要指定传出规则吗?你做到了吗?是的,我也指定了出境规则。让我附加屏幕快照,以便所有内容都与默认NACL一起工作?只有当您使用自定义网络连接时,才能连接到internet?如果要允许您的实例访问internet流量,必须允许它。From:“确保与专用子网和公用子网关联的网络ACL没有阻止入站或出站internet流量的规则”。@Marcin根据文档,入站和出站端口上都必须允许internet流量。如果它在文档中,那么我认为这可能是最好的做法。但只有一个问题,在这种情况下,白名单将如何工作。如果我只想使用internet下载某些库而不允许任何api请求?另外,请添加此作为答案,以便我可以接受