Amazon Web ServicesCloud

AWS——创建VPC

《AWS攻略——VPC初识》一文中,我们在AWS默认的VPC下部署了一台可以SSH访问的机器实例。这篇文章我们将修改一个“变量”——创建一个简单的VPC,并使用 《AWS攻略——VPC初识》相似的步骤,部署另外一个可以SSH访问的机器实例。

创建一个可以外网访问的VPC


我们还是选用弗吉尼亚北部(us-east-1)区域,执行相关的部署。

登录到VPC管理页面,点击“创建VPC”。

这儿有一个非常重要的设置:CIDR

CIDR



无类别域间路由(英语:Classless Inter-Domain Routing,简称CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

简单来说,CIDR是一种表达IP地址段的方式。
一般我们看到的CIDR都是结合IP一起使用的,比如上图中100.0.0.0/24。

其中IP部分表示这段IP的起始地址,长度是2(32-24)=256。即上例代表的IP端是100.0.0.0~100.0.0.255。
这个知识点很重要,因为在后续规划子网(subnet)时会用到。

只要记住:IP表示起始地址,CIDR用于计算长度,计算规则是2(32-cidr)

主路由表


创建VPC时,会自动创建“主路由表”。它用于定义子网或者网关流量可以流向何处。
本例中的主路由表如下

Destination:

The range of IP addresses where you want traffic to go (destination CIDR). For example, an external corporate network with the CIDR 172.16.0.0/12.

Target:

The gateway, network interface, or connection through which to send the destination traffic; for example, an internet gateway. 

简单来说,就是让Destination和Target连接上,流量可以在它们之间传输。就本例而言,Target是local,它表示VPC内之间可以相互访问。

Every route table contains a local route for communication within the VPC. This route is added by default to all route tables. 

主网络ACL


ACL的全称是“access control list”,它相当于一个防火墙,可以通过规则控制进出VPC和子网的流量。本例是主网络ACL,就整个VPC的ACL。我们还可以针对子网设置ACL。
ACL有一个非常重要的特性——没有任何状态,即入站和出站的流量是单独的规则,并不会因为因为入站的流量被放行,而其出站的流量也会被放行。

入站规则

出站规则

这儿有个一个需要注意的点,就是Rule number为的规则。它表示不符合其他Rule number条件的流量该执行什么规则。上例中号表示:如果不符合其他规则的流量都会被禁止。

子网

我们可以在VPC中创建多个子网,即规划多段IP地址段。本例中,我们就规划一个占用VPC所有地址段的子网。

可以看到,我们在IPv4 CIDR中填入的值和规划VPC时是一样的,这样就不会浪费为VPC规划的任何一个IP。
《AWS攻略——VPC初识》一文中,我们特别提到“子网只能在一个可用区中”,于是这儿我们选用us-east-1a。

创建子网时,也会自动创建子网路由和子网ACL。因为默认的路由和ACL是都放开的,所以我们先不用关心它们的配置。

创建EC2测试连接


其他配置可以参见《AWS攻略——VPC初识》

但是,此时我们无法SSH到这台机器上。

其原因是该VPC没有和互联网互通。

创建互联网网关(IGW)


IGW创建页面键入名称。

然后附加到我们创建的VPC上。

编辑路由表


修改子网的路由表,让子网内所有IP(0.0.0.0/0)都和上一步创建的互联网网关连通。

这样我们再测试SSH连接,就可以登录到刚创建的机器上。
整体的结构图如下:

知识点


  • CIDR:一种IP地址段分配的表示方法。
  • ACL(网络访问控制列表):允许或拒绝特定的入站或出站流量的规则。
  • Router(路由):路由表包含一组被称为路由的规则,决定了来自您的子网或网关的网络流量将指向何处。
  • Internet Gateway(互联网网关):Internet 网关是一种横向扩展、冗余且高度可用的 VPC 组件,支持在 VPC 和 Internet 之间进行通信。它支持 IPv4 和 IPv6 流量。它不会对您的网络流量造成可用性风险或带宽限制。
  • 借助互联网网关,公有子网中具有公有 IPv4 地址或 IPv6 地址的资源(例如 EC2 实例)可以连接到互联网。同样,互联网上的资源也可以使用公有 IPv4 地址或 IPv6 地址发起到子网中的资源的连接。