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:
最為簡單的應用。一台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 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/
atai
2014.11.16