1. 课程导入与架构全景

在传统数据中心里,负载均衡往往是一台硬件设备,弹性伸缩往往是一组运维脚本,DNS 和 CDN 则常常由不同团队分别维护。进入 AWS 之后,这些能力被拆解为可组合的托管服务:流量从用户发起,经过 DNS 解析、边缘缓存、负载均衡器分发,最终到达可自动伸缩的计算资源。理解这些服务各自"站在哪一层、解决什么问题、彼此如何衔接",是后续所有配置与排障工作的基础。

本节不急于进入具体参数,而是先建立一张端到端的架构地图。只有先看清流量路径与伸缩控制路径,后面学习监听器规则、目标组健康检查、启动模板、扩展策略时,才能知道每个配置项在整个系统中处于什么位置。

一、AWS 负载均衡与弹性架构的服务分层

AWS 中与本课程相关的核心服务可以按"流量入口层、流量分发层、计算伸缩层、控制与观测层"来理解。

流量入口层包括 Route 53 与 CloudFront。Route 53 是权威 DNS 服务,负责把域名解析到具体入口,支持简单路由、加权路由、延迟路由、故障转移路由和地理位置路由等策略。CloudFront 是内容分发网络,把静态或可缓存内容提前放到离用户更近的边缘节点,同时也能作为动态请求的加速入口,并可与 AWS WAF、Shield 配合做边缘防护。

流量分发层是三种负载均衡器:ALB(Application Load Balancer)、NLB(Network Load Balancer)和 GWLB(Gateway Load Balancer)。ALB 工作在应用层(HTTP/HTTPS),能识别路径、主机头、请求头,适合 Web 应用和微服务;NLB 工作在传输层(TCP/UDP/TLS),追求超低延迟与超高吞吐,适合数据库代理、游戏、IoT 等场景;GWLB 工作在网络层,专门用于把流量透明地交给第三方安全设备或防火墙集群,常用于集中式安全检测。

计算伸缩层是 EC2 Auto Scaling 与更上层的容器/无服务器弹性能力。Auto Scaling 组(ASG)通过启动模板定义实例规格与镜像,通过期望容量、最小容量、最大容量控制规模,再通过目标跟踪、步进、简单等扩展策略响应负载变化。负载均衡器与 ASG 的衔接点就是目标组(Target Group):ASG 把新实例注册进目标组,负载均衡器只把流量发给健康的目标。

控制与观测层包括 CloudWatch、CloudTrail、VPC Flow Logs 等。弹性架构的"弹性"不是自动发生的,它依赖指标采集、告警触发和策略执行这条闭环。没有观测,扩展策略就是盲目的。

二、端到端流量路径与伸缩控制路径

把上述服务串起来,可以得到两条并行的主线。

第一条是用户请求路径:用户 → Route 53 解析 → CloudFront 边缘节点(命中缓存则直接返回)→ 回源到 ALB/NLB → 按监听器规则转发到目标组 → 目标组内的 EC2 实例或容器 → 返回响应。这条路径决定了延迟、可用性和安全边界。

第二条是伸缩控制路径:CloudWatch 采集 ALB 的请求数、目标响应时间或 ASG 的 CPU 利用率 → 触发扩展策略 → ASG 调整实例数量 → 新实例通过启动模板创建并注册到目标组 → 健康检查通过后开始接收流量。这条路径决定了系统能否在负载上升时及时扩容、在负载下降时回收成本。

两条路径的交汇点非常关键:负载均衡器既是流量的分发者,也是伸缩决策的指标来源;目标组既是流量的接收端,也是实例生命周期的注册表。理解这一点,就能明白为什么"健康检查配置不当"会同时影响可用性和伸缩行为。

AWS 负载均衡与弹性架构全景 蓝色:用户请求路径 绿色:伸缩控制路径 橙色:指标与观测 用户请求 浏览器 / 客户端 Route 53 DNS 解析 / 路由策略 CloudFront 边缘缓存 / 加速 流量分发层 ALB HTTP/HTTPS NLB TCP/UDP/TLS GWLB 安全设备引流 目标组 Target Group 健康检查 · 注册实例 · 路由规则终点 EC2 Auto Scaling 组 启动模板 · 期望/最小/最大容量 EC2 实例 EC2 实例 EC2 实例 CloudWatch 指标与告警 请求数 · 响应时间 · CPU 利用率 触发扩展策略 / 告警通知 CloudTrail 记录 API 调用 指标 关键交汇点: ① 负载均衡器既是流量分发者,也是伸缩决策的指标来源;② 目标组既是流量接收端,也是实例生命周期注册表; ③ 健康检查同时影响可用性与伸缩行为——不健康实例被摘除后,ASG 需要补充容量才能维持期望服务能力。

三、为什么必须先建立全景视角

很多初学者在配置 ALB 时只关注监听器和目标组,却忽略了安全组、子网和健康检查的联动;在配置 Auto Scaling 时只关注扩展策略,却忽略了启动模板里的 AMI 是否包含应用、实例是否能通过目标组健康检查。这些问题的根源,都是把服务当成孤立组件来学。

建立全景视角后,排障思路会变得清晰。例如用户反馈"网站间歇性 502",可以沿请求路径逐段排查:Route 53 解析是否正常、CloudFront 是否缓存了错误响应、ALB 目标组是否有不健康目标、实例是否因健康检查失败被反复摘除、ASG 是否在频繁扩缩容导致实例不稳定。每一段都有对应的指标和日志可查。

再例如"大促期间响应变慢",可以沿伸缩控制路径检查:CloudWatch 是否采集到了正确的指标、扩展策略的冷却时间是否过长、启动模板创建实例的速度是否成为瓶颈、目标组健康检查阈值是否过于严格导致新实例迟迟不能接流量。这些判断都依赖对两条路径的完整理解。

学习建议:后续每一节学习具体服务时,都回到这张全景图,问自己三个问题——这个配置项位于哪一层?它影响的是请求路径还是伸缩路径?如果它出错,会在哪个环节表现出症状?坚持这样做,零散的知识点会逐渐连成可操作的架构能力。

四、本课程的组织逻辑

接下来的内容将沿着这张全景图展开:先深入 ALB 与 NLB 的监听器、规则、目标组与健康检查;再进入 Auto Scaling 的启动模板、扩展策略与生命周期钩子;然后讨论 Route 53 的路由策略与故障转移、CloudFront 的缓存与回源优化;最后通过综合案例把负载均衡、弹性伸缩、DNS 与 CDN 组合成完整的端到端架构,并覆盖成本、安全与可观测性等工程化议题。

需要强调的是,AWS 的弹性架构不是"配置完就结束"的一次性工作。真实系统需要持续观察指标、调整阈值、验证故障转移、评估成本。本课程会尽量给出可参考的示例参数和判断依据,但这些数值属于教学示例或合理假设,实际生产环境必须结合自身业务压测与观测数据来确定。

现在,请先记住这张全景图里的两条主线:用户请求从边缘到计算,伸缩控制从指标到容量。后面的每一节,都是在为这两条主线补充细节。