Amazon Web Services VPC设置

sou*_*ics 1 amazon-ec2 subnet amazon-web-services amazon-vpc

在此输入图像描述

我对上面的设置感到有点困惑.根据我的理解,在公共子网内,有四个实例(3个webservers + 1个NAT).为什么他们都有公共(弹性)IP地址?为什么网络服务器有公共IP地址?它们不应该通过NAT实例访问吗?我的意思是所有内容(入站或出站)应该通过NAT实例,对吗?这是否意味着网络服务器和外部世界之间存在绕过NAT的直接路径?我在这里错过了什么?"路由器"和"互联网网关"也是EC2实例吗?

Mat*_*ser 5

互联网网关

Internet网关不是EC2实例.它是您添加到VPC的组件.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html

其功能是为VPC公共子网提供对互联网的访问.

路由器

您将找不到实际的组件.它只是图表中用来表示您可以创建的各种路径表的假项目.

公共子网

公有子网是直接连接到Internet网关的子网.基本上它意味着它可以直接连接到互联网.

生活在公有子网内的任何EC2实例都能够:

  1. 建立与互联网的传出连接,和
  2. 接收来自互联网的传入连接.

但是为了做其中任何一个,它必须有一个公共IP地址.这可以是自动分配的公共IP地址或弹性IP地址.

NAT

这可以是NAT实例(您运行的EC2实例),也可以是NAT网关(AWS提供的组件).

NAT类似于Internet网关,除了它们不提供入站连接.

NAT的目的是为私有子网提供出站Internet访问.它可以帮助私有子网到达互联网,但NAT本身必须驻留在公共子网中(因此它本身可以使用Internet网关访问互联网).

私人子网

私有子网是VPC子网,无法直接访问Internet.它用于保护组件免受外人的侵害.可以放入私有子网的项目包括(但不限于):

  • 数据库
  • 工人实例
  • 使用其他组件将流量定向到它们的Web服务器(例如Elastic Load Balancer)
  • 其他私人服务器

在您的图表中,如果数据库服务器需要建立到Internet的出站连接,那么这些连接将通过NAT发送.

最后的笔记

直接回答你的问题:

为什么他们都有公共(弹性)IP地址?

因为,在这种情况下,他们都需要直接访问互联网.

它们不应该通过NAT实例访问吗?

否.与Web服务器的传入连接将通过Internet网关实现.NAT纯粹是为了私有子网的利益.

我的意思是所有内容(入站或出站)应该通过NAT实例,对吗?

不可以.只有来自私有子网的出站连接才会使用NAT.没有其他的.

这是否意味着网络服务器和外部世界之间存在绕过NAT的直接路径?

是.

"路由器"和"互联网网关"也是EC2实例吗?

没有.

路由器使用您的VPC路由表表示在AWS内部发生的事情.除了路由表之外,没有其他组件.

Internet网关是您添加到VPC的AWS组件.