AWS Service Networking Architecture -AWS网络服务架构
- AWS服务网络架构(Overlay):既AWS能向客户所提供网络服务(Network As A Service)
- AWS Cloud Infrastructure(Underlay):AWS底层基础网络架构, 设想一下。假设你是AWS的Network Architecturer。 你将会怎样总体规划和构建基础网络来满足客户的各种不同的网络服务需求。 (待续)
AWS服务网络架构。 既AWS能向客户所提供网络服务(Network As A Service)以及各种不同的服务须要的网络架构。如个人客户可能仅仅有一台EC2 虚拟机。那他仅仅须要一个基本Internet Gateway就可以; 企业客户可能在AWS上构建自己的企业网络。须要Firewall,Loadbalancer等。 有的企业客户构建混合云,将部分业务搬到AWS上,此时可能须要VPN/Directconnect 将AWS和企业内部的设备连接起来;
本文想通过下面几个方面来学习了解AWS能提供哪些网络服务已经典型的网络网络架构来满足这些服务,
1,AWS VPC 应用场景。
2,AWS 网络服务基本架构。
3,AWS 网络服务;
首先。我们来看看客户会如何使用AWS的网络服务。 AWS官方将应用场景分类为下面四种:
- VPC with a Public Subnet Only
- VPC with Public and Private Subnets
- VPC with Public and Private Subnets and Hardware VPN Access
- VPC with a Private Subnet Only and Hardware VPN Access
Scenario 1: VPC with a Public Subnet Only:
最为简单的应用。一台EC2虚拟机,其它全部网络配置默认。 面对internet提供服务。适合个人blog。
Scenario 2: VPC with Public and Private Subnets:
多台EC2虚拟server。面向internet提供服务,同一时候内部多台DBserver仅仅向EC2server提供服务,不向internet提供服务,适合提供公共訪问的web服务。在这个topo里,须要用到主要的vSwitch, vRouter,Internet Gateway 外。还会用到安全特性vFirewall(Security group or ACL),假设有须要的,可能须要Loadbalancer (下图并未列出)用来提供为多台EC2 or DB server提供负载均衡和冗余备份。
Scenario 3: VPC with Public and Private Subnets and VPN Access:
企业混合云。在Scenario 2的基础上通过VPN将AWS的公有云和企业的私有云连接在一起。适合在aws上扩展IT设备。并通过网络将企业已有网络和aws网络互联。 且AWS上的公有云能面向internet提供服务。
Scenario 4: VPC with a Private Subnet Only and VPN Access:
企业混合云。单纯的企业私有云扩展到AWS上,AWS并不面向internet提供服务。
在Scenarios 3 和 Scenarios 4中须要和外部网络相连的topo又可分为下面3种连接方式:
- Network – Amazon VPC -[Network -VPN or Direct Connect- VPC]
- Amazon VPC – Amazon VPC -[VPC – VPN – VPC]
- Intertal User – Amazon VPC -[Remote user -VPN- VPC]
其次, 来看一下AWS服务网络基本组建概念和架构。 已场景3为例,
vSwitch:VPC内同一subnet之间的EC2通过隐藏的vSwitch进行通信。(概念太小,AWS未提起这个概念)
vRouter:同为隐藏属性。可是用户能够查看和配置路由表。 vRouter为VPC内全部subnet提供路由,且为怎样出VPC去internet or VPN网络提供路由; 默认情况下,同一VPC下的全部subnet君能够互相通信;
Internet Gateway: 为VPC提供internet和其它AWS服务如S3网络服务;
NAT Instance: VPC内部的subnet能够直接连接到Internet Gateway通往internet, 还能够使用NAT instance中转。再由NAT instance连接到Internet Gateway通往internet。(一般用于不正确外提供服务的服务器,但又拥有主动訪问internet的权限,如DB server。 还能够用于多个EC2使用同一个NAT instance中转并对外提供服务,节省EIP使用)。
Elastic IP(Internet IP): 为VPC提供从外到内的服务; (使用NAT instance能够降低Elastic IP的个数。)
Routing Table: 对于public subnet来说,仅仅有local和指向Internet Getway的表项; 对于VPN-only subnet,仅仅有local和指向VPN-Gateway的表项;
Security Group:基于EC2 instance的vFirewall。 控制instance 的进出流量。 默认情况下创建的EC2会被放入默认的Security Group中。 默认的规则同意全部的流量主动出VPC并丢弃全部从外到内的主动流量;
ACL: 基于subnet的vFirewall,控制subnet的进出流量; 默认情况下创建的EC2也会被放入到默认的ACL中,默认的规则同意VPC下全部的subnet能够互相通信;
Security Group |
ACL |
Operates at the instance level (first layer of defense) | Operates at the subnet level (second layer of defense) |
Stateful | Stateless |
Rule will be added between instance based on inbound and out bound | |
Only allow rules can be added | Allow and deny rules can be added |
One instance can be attached up to 5 security groups |
最后,我们来看一下AWS提供其它网络服务:
DHCP & DNS:默认情况下。DHCP options 将会随VPC的创建被自己主动配置,DHCP的请求会被透传导AWS的DHCPserver,并获取指定的AWSDHCP和DNS服务;关于私有网络的DNS设置请參考Working with Private Hosted Zones (Amazon Route 53)。
Dedicated Instances: 既Bare metal server,专门为客户提供物理隔离的EC2 instance;
VPN CloudHub:是Network – AWS VPC网络类型的一种, 当用户有多个网络时, 这些网络能够通过VPN和AWS上的EC2 instance相连。且这些网络本身能够通过AWS的VPN CloudHub实现互相訪问。
AWS VPN gateway通过和每个network建立BGP连接。并通告从其它network学习到的路由信息。 达到多个Customer network通过AWS VPN CloudHub互通的目的。
Direct Connect: 用于建立一个可连接本地网络设施和 AWS 的专线网络。提高网络带宽和质量;AWS Direct Connect 产品具体信息
VPC Peering: Peering指VPC的点对点连接。能够为全连接或星型连接,详细參考AWS Peering Guide;
Elastic Loadbalancing: AWS Elastic Loadbalancing可用来在多个EC2 instances中间自己主动分配传入Web 流量, 借助于Elastic Load Balancing,您能够依据需
要的变化来加入和删除EC2 实例,而不会中断总体信息流。 详细提供了的功能有, 为EC2负载均衡; 为EC2提供冗余备份。 将原本须要在EC2上进行的加密解密功能。提前加密解密,提升EC2的服务性能; 该功能有很大的价值,如创业公司飞速的用户增长的同一时候还能保证服务质量, 如dropbox, instagram 等。 详细參考AWS Elastic Load Balancing
ps:
AWS还支持购买更高级别的第三方网络插件产品。 如vyatta vRouter, Citrix Netscare Load Balancer 等。
小结:
AWS为客户提供丰富的IT服务, 基本能满足从个人到超大型企业的需求; 网络作为这一切服务的基础,为客户提供基于网络虚拟化,SDN Overlay以及传统网络相结合的各种网络服务以满足不同客户的需求。思考一下, 假设你是AWS的网络架构师,你将怎样部署Underlay的网络?
Reference:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html
http://aws.amazon.com/cn/elasticloadbalancing/