AWS Service Networking Architecture -AWS服务网络架构

AWS Service Networking Architecture -AWS网络服务架构



 AWS在cloud中的地位目前无可撼动,基本能满足从个人到大型企业的IT需求。 本文是系列AWS Networking Architecture and Service -AWS网络架构和服务 的一部分, 原篇说道,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:
"
This scenario includes a virtual private cloud (VPC) with a single public subnet, and an Internet gateway to enable communication over the Internet. We recommend this configuration if you need to run a single-tier, public-facing web application, such as a blog or a simple website.
"
最为简单的应用,一台EC2虚拟机,其他所有网络配置默认, 面对internet提供服务。 


Scenario 2: VPC with Public and Private Subnets:
"

This scenario includes a virtual private cloud (VPC) with a public subnet and a private subnet. We recommend this scenario if you want to run a public-facing web application, while maintaining back-end servers that aren‘t publicly accessible. A common example is a multi-tier website, with the web servers in a public subnet and the database servers in a private subnet. You can set up security and routing so that the web servers can communicate with the database servers.

"
多台EC2虚拟服务器,面向internet提供服务,同时内部多台DB服务器只向EC2服务器提供服务,不向internet提供服务。在这个topo里,需要用到基本的vSwitch, vRouter,Internet Gateway 外,还会用到安全特性vFirewall(Security group or ACL),如果有需要的,可能需要Loadbalancer (下图并未列出)用来提供为多台EC2 or DB 服务器提供负载均衡和冗余备份。 




Scenario 3: VPC with Public and Private Subnets and VPN Access:
"

This scenario includes a virtual private cloud (VPC) with a public subnet and a private subnet, and a virtual private gateway to enable communication with your own network over an IPsec VPN tunnel. We recommend this scenario if you want to extend your network into the cloud and also directly access the Internet from your VPC. This scenario enables you to run a multi-tiered application with a scalable web front end in a public subnet, and to house your data in a private subnet that is connected to your network by an IPsec VPN connection.

"
企业混合云,在Scenario 2的基础上通过VPN将AWS的公有云和企业的私有云连接在一起,且AWS上的公有云能面向internet提供服务,同时也能为remote办公提供条件。



Scenario 4: VPC with a Private Subnet Only and VPN Access:
"

This scenario includes a virtual private cloud (VPC) with a single private subnet, and a virtual private gateway to enable communication with your own network over an IPsec VPN tunnel. There is no Internet gateway to enable communication over the Internet. We recommend this scenario if you want to extend your network into the cloud using Amazon‘s infrastructure without exposing your network to the Internet. 

"
企业混合云,单纯的企业私有云扩展到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的DHCP服务器,并获取指定的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/


atai
2014.11.16

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。