文章目录
在 《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 地址发起到子网中的资源的连接。