第 9 章 · 03 网络与DNS 云上的每个资源都挂在网络上:VPC 划出私有边界,子网决定可用区,IGW/NAT 决定出入方向——但用户找到你的第一站永远是 DNS。本节先讲 VPC 网络设计,再完整拆解 DNS:域名层级、解析八步、记录类型、TTL,最后落到 Route 53 的七种路由策略与 CDN 的分工。 学习目标 理解 VPC、子网、IGW、NAT 的角色与保留 IP 的坑 拆解 FQDN 层级并复述 DNS 解析八步 掌握 A/AAAA/CNAME/MX/NS/PTR/TXT/SOA 记录类型 理解 TTL 的语义 掌握 Route 53 七种路由策略与 CNAME/Alias 的边界 一、VPC:云上的私有网络 VPC(Virtual Private
云上的每个资源都挂在网络上:VPC 划出私有边界,子网决定可用区,IGW/NAT 决定出入方向——但用户找到你的第一站永远是 DNS。本节先讲 VPC 网络设计,再完整拆解 DNS:域名层级、解析八步、记录类型、TTL,最后落到 Route 53 的七种路由策略与 CDN 的分工。
VPC(Virtual Private Cloud)是账户专属的、逻辑隔离的虚拟网络。关键设计规则:
子网完全位于一个 AZ;同一 VPC 的不同子网可在不同 AZ。每子网保留 5 个 IP:前 4 个(网络地址、VPC 路由器、DNS、预留)+ 最后 1 个(广播)——规划 CIDR 必须扣除,例如 /27 有 32 个地址但只有 27 个可用。
IGW(Internet Gateway):VPC 与互联网通信的组件;高可用冗余;本身不提供上网——还需在路由表添加路由;一个 VPC 只能挂一个 IGW。
NAT:私有子网里的实例要出站访问互联网、又不想被公网直连——通过 NAT 网关/实例转发出站流量,不允许入站。云安全的经典姿势:实例放私有子网 + NAT 后面,经负载均衡器或堡垒机暴露入口。
Elastic IP:静态 IPv4;免费前提是已关联到运行中的实例(未关联反而收费);最佳实践是尽量不用——优先负载均衡器或 DNS。
DNS(Domain Name System)把域名转换为 IP 地址:网络通信用 IP,人记名字,DNS 就是"巨型电话簿"。DNS resolution 是翻译过程,Name Server 是负责应答查询的服务器。
域名层级(以 www.blipblop.com 为例,解析从根向叶子):
| 层级 | 例子 | 说明 |
|---|---|---|
| 根 | . | 一个点 |
| 顶级域 TLD | .com | |
| 二级域 SLD | blipblop.com | |
| 完整域名 FQDN | www.blipblop.com |
一个易错认知:域名归注册局所有,用户只是"租赁",注册商(Registrar)只提供注册服务——注册商与 DNS 服务是两个不同的东西。
| 类型 | 作用 |
|---|---|
| A | 主机名 → IPv4 |
| AAAA | 主机名 → IPv6 |
| CNAME | 主机名 → 另一个主机名(别名,目标必须有 A/AAAA 记录) |
| PTR | IP → 域名(反向解析) |
| MX | 邮件交换服务器(邮件投递) |
| NS | 能响应查询的名称服务器 |
| TXT | 任意文本(域名所有权验证、SPF 反垃圾) |
| SOA | 区域起始授权记录(每个区域必须一条) |
CNAME 与 Alias 的边界(Route 53):CNAME 映射主机名到任意主机名,不能用于根域;Alias 映射主机名到 AWS 资源,可用于根域,仅 A/AAAA 类型,不能指向 EC2 DNS 名。
TTL(Time To Live):告诉解析器缓存查询结果多长时间——是"缓存多久"而非"记录多久失效";改记录后旧值在 TTL 内仍会被命中。DNS 查询用 UDP 53;区域传送(zone transfer)用 TCP。
Zone(区域):保存某域名全部资源记录的逻辑容器;主区域(读写)、辅助区域(只读副本)、存根区域(精简信息省流量)。
AWS 的 DNS 服务(名称来自 53 端口):注册域名、DNS 解析、健康检查三合一。记录由 域名/子域、值、类型、TTL、路由策略 五要素组成。七种策略:
| 策略 | 行为 | 要点 |
|---|---|---|
| Simple 简单 | 单记录(可多值返回由客户端选) | 默认 |
| Weighted 加权 | 按权重分流 | 多条记录须同名同类型;全 0 则均分 |
| Latency 延迟 | 路由到延迟最低 | 基于实测延迟 |
| Failover 故障转移 | 主备切换 | 配合健康检查 |
| Geolocation 地理 | 按用户地理位置 | 建议配默认记录兜底 |
| Geoproximity 邻近 | 按资源地理位置 + bias | 需 Traffic Flow |
| Multi-Value 多值 | 多值健康记录 | 客户端侧负载均衡,不是 ELB 替代品 |
常见混淆:注册商(买域名)与 DNS 服务(管记录)不是一回事;geolocation 基于用户位置 vs latency-based 基于实测延迟。
健康检查:基于端点/CloudWatch 告警自动故障转移;Calculated Health Checks 合并多个检查结果。跨区域高可用 = 多区域部署 + 健康检查 + Failover 策略。
CDN(如 CloudFront)靠边缘节点缓存内容、就近交付。DNS 负责把用户请求解析到最近的边缘节点(或 LB/源站),二者协同:DNS 做寻路与调度,CDN 做缓存与加速。CloudFront 三概念:Origin(源站)、Edge Location(边缘节点)、Distribution(分发);对象按 TTL 缓存。
本节补上了云与网络的最后一块地基:VPC 划边界、子网定可用区、IGW/NAT 定出入方向;DNS 用层级化的分布式查询把域名变成 IP,解析八步与记录类型构成一切网络服务的地基;Route 53 的七种路由策略把 DNS 从"查表"升级为"调度";CDN 与 DNS 协同实现全球加速。至此,DevOps 的"构建-部署-运行"全链路已完整——最后一章回到"运行"的度量:可观测性与数据。
第 10 章《可观测性与数据》将讲解可观测性三大支柱、SLI/SLO/错误预算、Prometheus 与 Grafana,以及数据库与 Kafka 的核心概念。