刚通过考试,以下内容覆盖率相当高。
基础知识
OSI模型和TCP/IP模型对比 https://zh.wikipedia.org/wiki/TCP/IP协议族
AS 路径和AS 路径前置 https://www.noction.com/blog/as-path-and-as-path-prepending
词汇表
客户网关,Customer Gateway
建立Site-to-Site VPN时的用户侧设备。
虚拟私有网关, 虚拟专用网关,Virtual Private Gateway,VGW
单个VPC可以绑定一个VGW,以接受Site-to-Site VPN 连接或者 Direct Connect连接。
Direct Connect 连接,Direct Connect Connection
一条Direct Connect连接。
Direct Connect 位置,Direct Connect Location
一个承载了DX路由器的ISP机房。如果用户的数据中心也使用该机房,则可以通过楼内跳线连接到DX网关。否则,用户数据中心可能需要通过专线连接该机房,或寻求APN帮助。
Direct Connect 网关,Direct Connect Gateway
一个Global服务,帮助本Region的DX Connection 连接到其他Region。
中转网关,Transit Gateway
用于在单个Region的多个VPC、VPN、Direct Connect 中创建网状连接。
虚拟接口,Virtual Interface,VIF
附加到Direct Connect 连接以使用本Region的 VP
CloudHub
当用户有多个数据中心/办公地点并都通过VPN/DX连接到AWS时,可以用过CloudHub彼此连接。
PrivateLink
支持接口终端节点和终端节点服务的技术
VPC终端节点,VPC Endpoint
网关终端节点和接口终端节点的统称
网关终端节点,Gateway VPC Endpoint
允许在VPC内通过私网连接S3和DynamoDB。需要更改路由表,仅支持IPv4
接口终端节点,Interface VPC Endpoint
允许在VPC内直连大量具有公网IP的AWS服务。也用于连接其他用户或Marketplace提供的终端节点服务,仅支持IPv4
终端节点服务,VPC Endpoint Service
允许一个用户将其VPC内的服务打包,并允许其他用户通过接口终端节点访问,仅支持IPv4
VPC
NTP: 169.254.169.123
Matadata: 169.254.169.254
CIDR
每个VPC默认具有一个IPv4 CIDR,称为主CIDR。可以添加/16~/28的IPv4 CIDR,且有复杂的限制。VPC可以添加一个IPv6 CIDR。大小固定为/56。子网IPv6 CIDR固定为/64。
每个子网的前4个IP和最后一个IP由AWS预留。对于子网10.0.0.0/24:
- 10.0.0.0 为网络地址
- 10.0.0.1 为路由器
- 10.0.0.2 为DNS预留,但只有VPC的主CIDR有Name Server,其他地址均空置。
- 10.0.0.3 目前未使用,预留
- 10.0.0.255 为默认广播地址,预留(VPC不支持广播)
路由表
一个子网绑定一个路由表。主路由表是VPC的默认路由表,当VPC中的子网没有明确关联路由表时,自动与主路由表关联。可以替换主路由表,无法删除主路由表。
如果当前VPC链接了虚拟私有网关,则在路由表上启用路由传播后,DX和Site-to-Site VPN的路由会自动添加到路由表。路由表中可以存在重叠路由,优先级如下:
- 本地路由(VPC CIDR)永远优先于传播路由,无视最长前缀匹配。本地路由由AWS预置,无法新增、修改、删除。
- 应用最长前缀匹配。
- 静态路由优先于传播路由。
安全
安全组:有状态,控制实例出入站流量,只有允许规则。ACL无状态,控制子网出入站流量,有允许和禁止规则。单个连接受单向安全组规则及双向ACL规则影响。注意,两个ACL的端口不同。例如,一个EC2 instance打开了80端口供http访问。则一条公网http传入连接受以下规则影响:(从某公网IP的临时端口连接到EC2 instance的80端口)
- 安全组上80端口的入站流量
- ACL上80端口的入站流量
- ACL上临时端口的出站流量
DNS
一个VPC绑定一个DHCP选项集。
Name Server位于 VPC主CIDR +2,比如10.0.0.0/16的VPC,NS在10.0.0.2。
Name Server不能穿过Direct Connect被客户数据中心访问。如果需要的话,在子网内放置DNS转发服务器或SimpleAD
弹性网络接口,Elastic Network Interface,ENI
ENI的主私有IP创建后无法变更。可以绑定多个辅助私有IP。辅助私有IP可以变更或移除。
只有EC2实例的主ENI的主私有IP可以自动分配公有IP;任何辅助私有IP以及用户创建的ENI的主私有IP只能关联弹性IP。
ENI属于单个子网。安全组绑定到ENI,也就是说ENI上的所有IP都受影响。
EC2可以绑定同VPC同AZ的ENI(可以位于其他子网)。绑定多个ENI不会增加实例带宽。EC2不能解绑主ENI。
VPC流日志,VPC Flow Log
可以收集单个VPC、单个子网、单个网络接口的日志。Name Server、NTP、Matadata的流量无法检测。该特性不能检测数据包。要检测数据包,建议使用Marketplace中的第三方解决方案。
连接到VPC
- 软件VPN
- AWS管理的VPN(全托管)
- Direct Connect(性能稳定,传输价格便宜)
- 通过Direct Connect的VPN,提供额外的安全机制。
- Transit VPC,用于连通多个VPC和用户机房。是AWS于2016年推出的软件解决方案,基于Cisco Cloud Services Router(CSR)和Site-to-Site VPN。现建议迁移至Transit Gateway。
- Transit Gateway,用于代替Transit VPC的全托管服务。支持最多5000个VPC,单个VPC最多50Gbps。
ELB
- Classic Load Balancer:支持TCP、SSL/TLS、HTTP(S)协议。支持自定义安全策略。
- Network Load Balancer:支持TCP、UDP、TLS。支持弹性IP。后端接收到原始IP。空闲连接超时时间固定为TCP 350秒,UDP 120秒。
- Application Load Balancer:支持HTTP(S)。支持基于HTTP协议层面的路由。
连接链路
Site-to-Site VPN
Customer Gateway -> Virtual Private Gateway
Direct Connect
- 连接AWS公网服务:
DX Connect -> Public VIF - 直连VPC:
DX Connect -> Private VIF -> 本Region Virtual Private Gateway - 连接其他Region VPC:
DX Connect -> Private VIF -> DX Gateway -> 其他Region Virtual Private Gateway - 连接Transit Gateway:
DX Connect-> Transit VIF -> Transit Gateway
DX Connect-> Private VIF -> DX Gateway -> Transit Gateway - 通过DX的托管VPN:(不支持IPv6)
Customer Gateway -> DX Connect -> Public VIF -> Virtual Private Gateway(可连接任意Rgion的托管VPN)
有状态防火墙导致的问题
当客户数据中心具有多条到AWS的连接,且分别部署了有状态防火墙时,可能出现以下情况:
- 到AWS的流量在多条连接中平均分配。这导致同一个连接(TCP或UDP)的流入流出数据包随机通过不同连接
- 由于客户数据中心和AWS对于多条连接的优先级理解不同,导致从客户中心发送的流量和从AWS发送的流量分别流经不同连接
有状态防火墙在建立连接后允许同一端口的响应流量。如上配置下,响应流量抵达另外一条连接的防火墙并被其丢弃。见官方样题第三题。
“多条连接”可以是VPN和Internet,或者两条为高可用部署的DX。
AWS Managed Site-to-Site VPN
基于IPSec。从Customer Gateway发起,到Virtual Private Gateway (VGW)终结。VGW具有公网IP。不支持IPv6。
只能从客户网关启动隧道。默认情况下,10s没有流量时,隧道即关闭。可以使用网络监控工具(如使用 IP SLA)来生成保持连接 Ping 信号。
如果客户网络处存在防火墙,确保打开了双向UDP 500(Internet 密钥交换,IKE)和IP 50(封装安全载荷,ESP)端口。
NAT-T
IPSec的校验包含IP和端口。当客户VPN网关位于NAT设备后时,发送到VPN网关的包的IP和端口号改变了,无法通过校验。NAT-T技术可以解决该问题。需要打开UDP 4500端口。
Direct Connect, DX
参考
连接类型
- 标准连接:AWS提供的 1G或10G连接。可以绑定多个VIF,多个VIF之间共享该连接的网速。
- 托管连接,Hosted Connection:由APN提供的低于1G的连接,可以绑定1个VIF。
- 托管VIF,Hosted Virtual Interface:由APN或其他AWS账户提供的VIF。与其所属的DX连接上的其他VIF共享网速。
虚拟接口(Virtual Interface, VIF)
必须创建虚拟接口才能从客户机房通过Direct Connect与AWS网络连接。速度低于1G的DX连接只支持一个VIF。
- Public VIF:连接拥有任何属于AWS的公网IP(除中国外)。包含任何Region的公有服务、托管VPN,以及被其他用户使用的AWS公网IP。不支持巨型帧
- Private VIF:连接本Region VPC,不包含VPC的DNS服务器,不包含endpoint网关。支持9001 MTU
- Transit VIF:连接本Region中转网关。支持8500 MTU
BGP社区
使用DX连接AWS公有服务时,可以选择AWS将用户公有IP传播多远(范围 BGP 社区)
7224:9100
— 本地 AWS 区域7224:9200
— 一个大陆的所有 AWS 区域(例如,北美范围内)7224:9300
— 全球(所有公有 AWS 区域)
当拥有多个同一地区的DX Connection时,可以在使用专用虚拟接口和中转虚拟接口时,使用BGP社区标签控制虚拟接口优先级。BGP社区标签优先级高于AS_PATH。
- 7224:7100 – 低优先级
- 7224:7200 – 中优先级
- 7224:7300 – 高优先级
VPN over DX
对于AWS托管VPN来说,由于流量需要终结于具有公网IP的VGW,因此需要Public VIF。
如果是Customer VPN,则流量终结于VPC内的EC2实例,应使用Private VIF。
高可用
使用冗余连接提供高可用。冗余连接可以是第二条DX或者Site-to-Site VPN。如果用户有多个相连的数据中心,为了更加完全的高可用,建议不同的连接起始于不同的数据中心(如果客户只有一个数据中心,则建议使用两个硬件网关);如果使用多条DX,则建议终结于不同的DX Location。所有连接需要连接到同一个虚拟专用网关Virtual Private Gateway。
Active/Active DX connect
建议使用更具体路由的方式传递路线偏好。
Active/Passive DX connect
建议将两条路线的路由设置为相同,设置不同的AS-Path长度以确定哪个连接为主动连接。
DX with Backup VPN
为VPN和DX创建相同的路由前缀。AWS将首选DX,无论AS-Path设置。
ELB
空闲连接超时
ALB和CLB:默认60秒,1-4000可配置
NLB:TCP为350秒,UDP为120秒,不可配置。
访问日志
ALB和NLB:5分钟
CLB:默认60分钟(15分钟延迟),可更改为5分钟
启用高性能网络
增强联网
某些机型支持single root I/O virtualization (SR-IOV,单根I/O虚拟化) 提供高性能网络。增强联网需要HVM虚拟化,操作系统也需要配置相应驱动程序。
早期机型(C4、M4等)使用Virtual Function (VF) interface技术,最多10Gbps。新机型(C5、M5、T3等)使用Elastic Network Adapter (ENA)技术,最多100Gbps。ENA可以通过cli禁用。
集群置放群组
可以将多个EC2实例在单个集群置放群组中启动(这些实例必须处于同一AZ),以获得这些实例互相通讯时单个流10Gbps、单机100Gbps的网络性能。只有能够启用增强联网的实例类型可以放入集群置放群组,同时建议在实例上启用增强联网。
由于集群置放群组尝试在单个机柜中启动实例,所以可能发生容量不足错误。尝试在已有实例的集群置放群组中添加实例,或者放置不同类型的实例都会增加容量不足的可能性。因此,建议使用相同实例类型,并一次启动所有需要数量的实例。
巨型帧(9001MTU)
启用巨型帧(Jumbo Frames)可以减少网络流量中控制数据的大小,从而提升网络性能。巨型帧需要从OS层面配置;某些驱动程序不支持巨型帧。
单个VPC内部支持巨型帧;Direct Connect可以配置为支持巨型帧;经典网络、AWS到Internet、VPC对等不支持巨型帧。
C1、CC1、T1 和 M1实例不支持巨型帧。
Route53
白标签Name Server
通过CLI、SDK或API创建可重用委托集 create-reusable-delegation-set
别名,ALIAS
指向ELB时应该使用别名。别名解析不付费,CNAME付费。
WorkSpaces
需要部署在两个可用区中。建议部署在两个具有NAT的私有子网中。
客户端:通过443/TCP、4172/UDP&TCP 连接WorkSpaces主机。
Web浏览器:通过53、80、443连接,同时将启用一个高位端口用于传输视频流。默认不允许从Web浏览器登陆,需要管理员启用。浏览器不能连接到Linux。
IP访问控制组
单个目录可以与最多25个IP访问控制组关联。以作为虚拟防火墙控制允许访问WorkSpace的IP地址。每个IP控制组可以与多个目录关联,最多创建100个IP控制组。
其他
- Redshift默认通过Internet传送流量。启用增强型VPC路由Enhanced VPC Routing以通过VPC传送数据,并使用安全组、ACL、终端节点、Internet网关等特性
- S3存储桶启用了网站托管后可以从网站终端节点访问。这是一个额外的域名,仅支持HTTP。该存储桶仍可以从Rest API终端节点访问。
- CloudFront的源设置为S3桶时,则源协议策略不可配置且固定为匹配查看器。可以手动输入S3桶网站终端节点的域名,此时源协议策略可配置,但仅应配置为“仅HTTP”
- 使用RADIUS服务器为Microsoft AD、WorkSpace 等服务启用多因素认证。
- 使用BFD(双向转发侦测路由协议)快速检测DX中的故障