文章目录
- 创建一个可以外网访问的VPC
- CIDR
- 主路由表
- Destination
- Target
- 主网络ACL
- 入站规则
- 出站规则
- 子网
- 创建EC2测试连接
- 创建互联网网关(IGW)
- 编辑路由表
- 参考资料
在 《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连接,就可以登录到刚创建的机器上。
参考资料
- https://zh.wikipedia.org/zh-hans/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1
- https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/vpc-network-acls.html
- https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_Route_Tables.html