前段时间我拿到了一个Take Home Project,其中一个题目的内容和在AWS VPC中规划子网(Subnet)有关。借此机会我们可以了解一下AWS的网络架构。
上图是一个典型的AWS网络架构,本文中我们将介绍上图中各组件的概念及用途。
区域(Region)与可用区(Availability Zone)
每个AWS区域是一个单独的地理区域,比如位于North Virginia的us-east-1和位于North California的us-west-1。每一个区域完全独立。
每个区域中包含若干可用区(图中橙色虚线),使用形如us-east-1a的标识。每个可用区都是独立的,但区域内的可用区通过低延迟链接相连。
Virtual Private Cloud
VPC是AWS网络组件的重要组成部分。VPC使用户可以自行创建一个与AWS网络逻辑隔离的私有网络,并且控制整个私有网络的配置,包括IP地址分配,子网,路由表以及网关。我们可以将其理解为一个私有的局域网。VPC不能横跨区域,但可以横跨同一区域内的多个可用区。
当创建VPC时,默认的配置如下:
When we create a default VPC, we do the following to set it up for you:
- Create a VPC with a size /16 IPv4 CIDR block (172.31.0.0/16). This provides up to 65,536 private IPv4 addresses.
- Create a size /20 default subnet in each Availability Zone. This provides up to 4,096 addresses per subnet, a few of which are reserved for our use.
- Create an internet gateway and connect it to your default VPC.
- Create a default security group and associate it with your default VPC.
- Create a default network access control list (ACL) and associate it with your default VPC.
- Associate the default DHCP options set for your AWS account with your default VPC.
Elastic IP
弹性 IP 地址 是专门用于进行动态云计算的静态、公有 IPv4 地址。弹性 IP 地址可以与任意 VPC 的任何实例或网络接口相关联。
Elastic IP可以让我们得到一个固定的IP地址,不像随EC2的IP地址那样随着实例被销毁而被回收,并且可以随意将该IP地址指向任意的EC2实例或VPC。一个典型的使用场景是可以讲IP地址从一个故障的实例指向另一个可用的实例,用于屏蔽出现故障的实例或网络。
Internet Gateway
默认情况下VPC不能访问Internet,有了Internet Gateway之后,VPC中的出站流量会被默认路由到Internet Gateway,使VPC内部可以访问Internet。同时Internet Gateway也用于VPC中分配了公网IP地址的实例进行NAT。
子网
当创建VPC的时候,我们需要为这个VPC分配一个IP地址块,如10.0.0.0/16
。之后,我们可以为VPC中的每个可用区分配一个或多个子网,子网不能横跨可用区。
然后我们可以为子网分配IP地址块,子网的CIDR块必须是VPC CIDR块的子集。例如我们为VPC分配了10.0.0.0/16
,其中包含65025个IP。我们可以在其中创建两个子网,分别为10.0.1.0/24
和10.0.2.0/24
。
下图是一个典型的VPC网络架构,其中包含一个公有子网和一个私有子网。
公有子网是的有指向Internet网关的路由的子网。公有子网中的实例可以直接访问互联网,而私有子网不可以。但是私有子网中的实例可以通过公有子网中的NAT路由访问互联网。
NAT Gateway
默认情况下,子网无法访问Internet。可以为子网添加一个NAT Gateway或者使用一个实例作为NAT Instance来实现outbound Internet访问。但是NAT Gateway不能提供入站访问。
防火墙
VPC和EC2可以使用安全组(Security Group)作为防火墙。和普通防火墙一样,我们可以设置入站/出站流量的来源IP,端口及协议(TCP/UDP)。
Access Control List,简称ACL。作用和Security Group类似,区别在于ACL用于子网,而Security用于EC2实例和VPC。
Reference
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-subnet-basics
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html
发表回复/Leave a Reply