什么是互联网网关?什么是NAT实例?他们提供什么服务?
阅读AWS VPC文档,我收集他们都将私有IP地址映射到传出请求的Internet路由地址,并将来自Internet的传入响应路由到子网上的请求者 .
那么它们之间有什么区别呢?我使用NAT实例代替(或除此之外)Internet网关的场景是什么?它们本质上是运行某些网络应用程序的EC2实例,还是像路由器这样的特殊硬件?
您可以通过添加一些关于公共和私有子网的背景来解释这些,而不是简单地指向AWS文档链接,因此任何对网络知识有限的初学者都可以轻松理解这些内容吗?我何时应该使用NAT网关而不是NAT实例?
附:我是AWS VPC的新手,所以我可能会在这里将苹果与橙子进行比较 .
3 回答
Internet Gateway
Internet网关是 logical connection between an Amazon VPC and the Internet . 它不是物理设备 . 每个VPC只能关联一个 . 它不限制Internet连接的带宽 . (带宽的唯一限制是Amazon EC2实例的大小,它适用于所有流量 - VPC内部和Internet . )
如果VPC does not 具有Internet网关,则VPC中的资源 cannot be accessed from the Internet (除非流量通过公司网络和VPN / Direct Connect流动) .
如果子网具有将流量定向到Internet网关的路由表,则该子网被视为 Public Subnet .
NAT Instance
NAT实例是配置为将流量转发到Internet的Amazon EC2实例 . 它可以从现有的AMI启动,也可以通过用户数据进行配置,如下所示:
要访问Internet的私有子网中的实例可以通过路由表配置将其Internet绑定流量转发到NAT实例 . 然后,NAT实例将向Internet发出请求(因为它位于公共子网中),并且响应将被转发回私有实例 .
发送到NAT实例的流量通常会发送到与NAT实例本身无关的IP地址(它将发往Internet上的服务器) . 因此,关闭NAT实例上的 Source/Destination Check 选项非常重要,否则将阻止流量 .
NAT Gateway
AWS引入了一个可以取代NAT实例的 NAT Gateway Service . 使用NAT网关服务的好处是:
这是一个完全托管的服务 - 只需创建它并自动运行,包括故障转移
它可以突发高达10 Gbps(NAT实例仅限于与EC2实例类型相关的带宽)
然而:
安全组 cannot 与NAT网关关联
每个AZ都需要一个,因为它们只在一个AZ中运行
至于NAT网关与NAT实例,要么都可以工作 . NAT实例可以稍微便宜一些,但NAT网关完全由AWS管理,因此它的优点是不需要仅为NATing维护EC2实例 .
但是,对于需要可用于Internet的实例,NAT网关/实例不是您要查找的 . NAT将允许私有实例(没有公共IP)访问Internet,但不允许其他方式访问Internet . 因此,对于需要可用于Internet的EC2实例,您需要分配公共IP . 如果您确实需要将EC2实例保密,则有一种解决方法 - 您可以使用弹性负载 balancer 器来代理请求 .
互联网网关
Internet网关是您的VPC连接到Internet的方式 . 您使用带有路由表的Internet网关告诉VPC互联网流量如何到达互联网 .
Internet网关在VPC中仅显示为名称 . 亚马逊管理网关,没有任何你真正的发言权(除了使用与否之外;记住你可能想要一个根本无法访问互联网的完全分段的子网) .
公有子网表示通过AWS的Internet网关路由Internet流量的子网 . 公共子网内的任何实例都可以分配一个公共IP(例如,启用了“关联公共IP地址”的EC2实例) .
私有子网意味着实例不能从Internet公开访问 . 他们没有公共IP地址 . 例如,您无法通过SSH直接访问它们 . 实例私有子网仍然可以自己访问互联网(即通过使用NAT网关) .
Internet网关用于将vpc连接到Internet,NAT网关用于将私有子网连接到Internet(这意味着流量将来到私有子网实例,它将转发到NAT网关) . 您需要将路由表中的流量转发到NAT
路由表0.0.0.0/0