AWS 网络服务
AWS 网络服务
考证过程里整理的 AWS 网络相关知识点,按 CDN、VPC 与子网、网关、负载均衡、安全组、跨网络连接几块归类。很多服务名字接近、用途容易混,下面尽量把容易考到的区别讲清楚。
CDN 与边缘加速
CloudFront
CloudFront 是内容分发网络(CDN),把静态和动态内容缓存到全球边缘节点,用户从离自己最近的节点取内容,从而降低延迟。
- 内容缓存:内容缓存在全球分布的边缘位置,就近访问减少延迟。
- 适用内容:网站文件(HTML、CSS、JavaScript)、媒体文件(图片、视频)以及其他可缓存的静态/动态内容、API。
- 安全性:数据加密、DDoS 保护、自定义 SSL 证书。
- 集成:与 S3、EC2、ELB 等紧密集成,方便对接源站。
需求是把网站内容快速分发给全球用户、或者在全球缓存内容以降低源站负载时,选 CloudFront。
OAI(Origin Access Identity)
OAI 是 CloudFront 用来访问 S3 源站的一种特殊身份。给 S3 桶配上 OAI 并写桶策略,就能让桶只能通过 CloudFront 访问,绕开公共 S3 URL。
要做到 S3 资源只能通过 CloudFront 访问,需要三步配合:
- 禁用 S3 桶的公共访问。
- 只给 OAI 授予读权限。
- 通过桶策略限制其他访问。
注意 OAI 本身只是身份标识,并不会阻止其他有效授权。如果桶或对象仍带公共读权限、或别的 IAM 角色有权限,照样能从其他渠道访问。只有严格写死「仅 OAI 可读」时,才真正实现 CloudFront 独占访问。
字段级加密(Field-Level Encryption)
字段级加密在应用层对 HTTP 请求里指定的敏感字段(信用卡号、密码、身份证号等)单独加密,而不是整包加密。客户端用配置的公钥加密,后端用对应私钥解密,可与 AWS KMS 集成管理密钥。
它和 HTTPS 不冲突,而是补在 HTTPS 之上:HTTPS 在传输层加密整条通道,但服务器端能看到全部明文;字段级加密保证只有持私钥的服务器才能解出特定字段,避免敏感数据在服务器端被中间组件、日志系统误用或泄露。两者结合,传输链路和服务器端处理都更安全,适合支付信息、个人身份信息这类高敏场景。
典型用途:电商加密支付字段、登录系统加密密码字段、保护提交的个人身份信息。
Global Accelerator
Global Accelerator 通过 AWS 全球网络优化用户到多区域应用的网络路径,提升性能和可用性。它不缓存内容——这是和 CloudFront 最关键的区别——专注于改善网络路径本身。
主要功能:
- 全球流量加速:把用户请求引导到最优边缘位置,再走 AWS 私有网络快速送达终端节点(EC2、ELB 等),降低延迟和抖动。
- 静态 IP:分配两个静态 Anycast IP,基础设施变更或重新部署都不影响访问入口,简化 DNS 管理。
- 自动故障切换:持续健康检查,终端节点不可用时自动把流量切到健康节点。
- 流量加权分配:按权重把流量分到多个终端节点,方便做蓝绿发布。
- 多区域支持:流量可分配到多个区域,增强灾备能力。
适合全球分布用户、多区域高可用部署,以及对延迟敏感的实时交互应用。多人游戏是个典型例子:Global Accelerator 支持 UDP 监听器和端点组,在多区域做流量管理来压低延迟和丢包;CloudFront 主要做内容分发,不适合 UDP 多人游戏。
CloudFront 与 Global Accelerator 怎么选
| 维度 | CloudFront | Global Accelerator |
|---|---|---|
| 定位 | 内容分发网络(CDN) | 网络路径优化 |
| 是否缓存内容 | 缓存到边缘节点 | 不缓存 |
| 适用内容 | 可缓存的静态/动态内容、网页、媒体 | 不适合缓存的动态内容、UDP/TCP 应用 |
| IP | 域名访问 | 两个静态 Anycast IP |
| 典型场景 | 全球网站、媒体分发 | 多区域应用加速、实时游戏、灾备切换 |
两者可单用,也能组合:CloudFront 负责缓存分发,Global Accelerator 负责动态流量的路径优化。
VPC 与子网
公网 IP、私有 IP、弹性 IP
| 类型 | 是否公网可访问 | 是否固定 | 主要用途 |
|---|---|---|---|
| 公网 IP | 是 | 否,实例停止重启后可能变化 | 临时对外访问 |
| 私有 IP | 否 | 通常固定 | VPC 内部通信 |
| 弹性 IP(EIP) | 是 | 是 | 需要固定公网 IP 的应用 |
- 公网 IP 用于实例直接和互联网通信,动态分配,重启后可能变。
- 私有 IP 是 VPC 内部地址,不可从互联网直达,只能在 VPC 内或通过 VPN / Direct Connect 访问。
- 弹性 IP 是静态固定的公网 IP,可绑定到任意 EC2 实例或网络接口,实例重启也不变,可自由关联和解绑。
弹性 IP 与公有子网的关系
弹性 IP 是「互联网地址」,公有子网是允许实例访问互联网或被访问的「网络环境」,两者解决不同层面的问题。
公有子网指 VPC 中可直接访问互联网的子网,关键在于它的路由表有一条默认路由 0.0.0.0/0 -> Internet Gateway。即便实例绑定了弹性 IP,如果所在子网没有 IGW 路由(即非公有子网),这个弹性 IP 也无法访问互联网——能不能通公网,取决于网络层的路由规则,而不只是有没有公网地址。
几种组合的结果:
| 是否有弹性 IP | 是否有动态公网 IP | 实例能否访问互联网 | 互联网能否访问实例 | IP 稳定性 |
|---|---|---|---|---|
| 有弹性 IP | 可有可无 | 能 | 能 | 稳定固定 |
| 无弹性 IP | 有动态公网 IP | 能 | 能 | 重启后可能变 |
| 无弹性 IP | 无公网 IP | 不能 | 不能 | 不适用 |
要搭一个外网用固定 IP 访问的 Web 服务器,就把 EC2 放在有 IGW 路由的公有子网,再分配一个弹性 IP 保证地址固定。
Route 53 注册域名
Route 53 是 AWS 的 DNS 服务,可在控制台直接注册域名,并把 DNS 记录指向 AWS 资源(如 API Gateway、ELB、CloudFront)。
网关
Internet Gateway(IGW)
IGW 是 VPC 连到互联网的桥梁,让公有子网内的资源和互联网双向通信。
典型场景是直接被互联网访问的 Web 服务器:EC2 放在公有子网,子网路由表有 0.0.0.0/0 -> IGW,实例绑弹性 IP 或动态公网 IP,安全组放行 HTTP/HTTPS。外部用户访问公网 IP,流量经 IGW 进入 VPC 路由到实例,响应再经 IGW 返回。
NAT 网关(NAT Gateway)
NAT 网关让私有子网里的实例能发起出站访问互联网(下载更新、调外部 API),但互联网主机无法主动连进来,实现单向出站保护。
架构上:
- EC2 放在私有子网(无公网 IP)。
- 私有子网路由表有
0.0.0.0/0 -> NAT Gateway。 - NAT Gateway 本身部署在公有子网并绑定弹性 IP。
- 私有实例访问互联网时,流量先到 NAT Gateway,再经 IGW 出网;外部响应原路返回。
适合数据库、内部应用、后端服务这类不想暴露到公网、又要访问外部资源的场景。
NAT 实例(NAT Instance)
NAT 实例是实现私有子网出网的传统方案——一台启用了 IP 转发和 NAT 规则的 EC2 实例,通常跑在公有子网。可以选预配置的特殊 AMI(如 amzn-ami-vpc-nat),并且配置时必须禁用源/目标检查。
它和 NAT 网关的区别:
| 特点 | NAT 实例 | NAT 网关 |
|---|---|---|
| 资源类型 | EC2 虚拟机实例 | AWS 托管服务 |
| 维护 | 用户自管补丁、扩展、监控 | AWS 托管,自动维护和扩展 |
| 可用性 | 需自行搭多实例做高可用 | 内置高可用,可跨可用区 |
| 费用 | 按 EC2 计费,可能更低但管理复杂 | 按流量和小时计费,自动弹性 |
| 性能 | 受实例规格限制 | 高可用、高吞吐 |
只有在需要自定义 NAT 行为(特殊流量过滤、日志、代理)、预算紧张愿意自维护、或兼容遗留架构时,才考虑 NAT 实例;大多数场景用 NAT 网关。
API Gateway
API Gateway 用来创建、发布、维护、监控和保护任意规模的 REST、HTTP 和 WebSocket API。
用它的人分两类:API 开发者创建并部署 API,必须是拥有该 API 的 AWS 账户用户;应用开发者调用这些 API 构建应用,如果 API 不需要 IAM 权限、或支持通过 Amazon Cognito 用户池等第三方联合身份授权,应用开发者甚至不需要 AWS 账户。
让第三方通过公司域名经 HTTPS 安全访问 API 的配置步骤:
- 创建区域级 API Gateway 端点,处理特定区域的请求。
- 把端点与公司域名关联,实现自定义域名访问。
- 把公司域名对应的公共证书导入到同区域的 ACM(AWS 证书管理器),用于 HTTPS。
- 把证书附加到 API Gateway 端点。
- 配置 Route 53 把域名请求路由到 API Gateway 端点。
负载均衡
AWS ELB(Elastic Load Balancing)自动把流量分发到多个目标(EC2 实例、容器、IP 地址或 Lambda 函数),提升可用性、容错和扩展能力。四种类型:
| 类型 | 工作层 | 适用场景 |
|---|---|---|
| Application Load Balancer (ALB) | 第 7 层(应用层) | HTTP/HTTPS,支持基于内容路由(路径、主机名)、WebSocket、HTTP/2,适合微服务和容器化应用 |
| Network Load Balancer (NLB) | 第 4 层(传输层) | 超高性能 TCP/UDP,低延迟,可处理每秒数百万请求 |
| Gateway Load Balancer (GWLB) | — | 部署第三方网络虚拟设备(防火墙、入侵检测),透明传递流量 |
| Classic Load Balancer (CLB) | 第 4 / 7 层 | 传统类型,旧应用用,新应用建议用 ALB 或 NLB |
ELB、Lambda、API Gateway 的选型
三者常一起出现,按应用场景和成本对比如下。
| 服务 | 典型场景 | 成本结构 | 主要成本因素 |
|---|---|---|---|
| ELB | 容器/虚拟机流量分发,HTTP/HTTPS/TCP/UDP,需要长连接和会话保持 | 按小时 + 流量(GB) + 请求数(部分类型)计费 | 流量大小、运行时间、连接/请求数 |
| Lambda | 无服务器、事件驱动、短时任务、自动伸缩 | 按请求数 + 执行时间×内存(GB-秒)计费 | 请求次数、执行时间、内存大小 |
| API Gateway | REST/WebSocket API 管理、路由、鉴权、限流、缓存 | 按调用次数 + 传输数据量计费,缓存额外收费 | 请求数、数据传输量、缓存大小 |
简单说:长期运行、需要高性能多协议分发的大型应用用 ELB,成本相对固定;间歇性、事件驱动的负载用 Lambda,省运维但高频长任务成本会上涨;要统一管理的 API 入口、配合 Lambda 构建无服务器应用用 API Gateway。
安全组与 NACL
安全组(Security Group)是 AWS 里的虚拟防火墙,控制进出 EC2 实例、数据库实例等资源的流量。
- 状态型防火墙(Stateful):允许了某个入站请求,对应的响应流量会自动放行,无需单独配出站规则,反之亦然。
- 入站规则定义允许进入的流量(哪些 IP、端口、协议),出站规则定义允许发出的流量。
- 默认拒绝所有入站、允许所有出站,需要显式加规则放行入站。
- 可绑定到一个或多个实例,一个实例也能绑多个安全组。
最小权限的关键做法:规则源/目标用安全组 ID 而非 IP 段。把应用各层组件所属的安全组 ID 设为规则源或目标,只允许组内实例互通,避免开放整个子网或 VPC 带来的冗余权限。用 IP 段或无效标识都会让权限过宽。
网络监控
VPC Flow Logs
VPC Flow Logs 捕获并记录流经 VPC 子网、网络接口(ENI)或整个 VPC 的 IP 流量元数据,用于安全审计、故障排查和性能优化。
- 记录元数据:源/目标 IP、端口、协议、数据包数、字节数、流量方向、流量状态(接受/拒绝)。
- 多级别监控:可针对整个 VPC、特定子网或单个网络接口启用。
- 存储分析:数据可发送到 CloudWatch Logs 或 S3,方便集中存储和分析。
- 用途:识别异常流量和未授权访问尝试,定位连接被允许还是拒绝的故障。
费用方面,会产生 CloudWatch Logs 或 S3 的存储和数据传输费用,取决于日志量和存储策略。
跨网络连接
Transit Gateway
Transit Gateway 是一个网络枢纽,集中管理多个 VPC 和本地网络之间的连接,避免为每对 VPC 单独建对等连接。
- 集中连接:一个网关把多个 VPC 和本地网络连起来,简化拓扑。
- 可扩展:支持成百上千个 VPC 和本地环境。
- 简化路由:自动传播路由信息,不用手动配每个连接的路由表。
- 跨区域:通过互联多个 Transit Gateway 实现跨区域 VPC 连接。
- 安全隔离:用路由表策略做流量分隔。
适合多 VPC 互联、混合云、跨区域跨账户的网络场景。
Site-to-Site VPN 与 Direct Connect
两者都用来把本地网络安全接入 AWS,区别明显。
| 维度 | Site-to-Site VPN | Direct Connect |
|---|---|---|
| 连接类型 | 走互联网的 IPsec 加密隧道 | 专用物理线路(专线),不经公网 |
| 带宽性能 | 受互联网速度限制,延迟抖动较高 | 高带宽(1/10 Gbps 及以上),低延迟稳定 |
| 安全性 | IPsec 加密,数据经公网 | 物理专线天然更安全,建议再叠加加密 |
| 可靠性 | 依赖互联网,受波动影响 | 稳定,可配冗余多线路 |
| 成本 | 低,无专线费,按使用付费 | 需专线租用费和端口费,初期投入高 |
| 部署周期 | 数小时到一天 | 通常几周到数月 |
要在一周内快速建立从本地到 AWS 的安全连接,选 Site-to-Site VPN:无需物理布线,几小时到一天就能完成,配置简单、成本低、IPsec 保证传输安全。对延迟、带宽、稳定性要求更高且能接受较长部署周期,再上 Direct Connect。实践中常见做法是先用 VPN 快速通,同时申请 Direct Connect,专线就绪后切换,VPN 留作备份通道。
其他相关服务
CloudFormation
CloudFormation 是基础设施即代码(IaC)服务,用声明式模板定义和管理 AWS 资源(EC2、S3、数据库等)及其依赖关系,让整套基础设施能在不同环境里可重复、一致地部署和管理。