把内网服务域名化
私有解析区把自定义域名(例如 internal.corp)解析到 VPC 内的地址,让实例用域名访问内网服务,替代到处手写 IP 或逐台维护 hosts。它支持绑定多个 VPC 与跨账号关联,记录变更即时生效,是把「服务地址」与「配置」解耦的常用手段:换实例只改解析,应用配置不用动。
基本信息
| 形态 | 私有解析区,绑定 VPC,按域名维护内网记录 |
|---|---|
| 记录类型 | 常用 A 与 CNAME,另可支持 MX、TXT 等,具体以厂商文档为准 |
| 对比 hosts | 集中管理、改动即时生效、多个 VPC 共享 |
| 跨账号 | 可通过关联授权把解析能力共享给其他账号的 VPC |
| 生效前提 | VPC 需关联解析区,且实例使用的 DNS 必须是 VPC 内 DNS |
| 典型场景 | 内网服务域名化、数据库只读域名、灰度切流 |
典型使用场景
- 内网服务域名化,摆脱 IP 写死在各处配置文件里
- 数据库读写分离用不同域名分别指向主库与只读实例
- 灰度与切流:改一条解析就能把流量引到新实例
- 跨 VPC 共享解析,多套环境使用统一域名规范
- 迁移过渡期用解析指向新地址,避免全量改配置与重启
内网域名验证
内网域名验证
dig db-readonly.internal.corp A +short # 查 A 记录
dig service-a.internal.corp CNAME +short # 查 CNAME
dig @<VPC 内 DNS 地址> db-readonly.internal.corp A +short # 指定 VPC DNS 验证
cat /etc/resolv.conf # 确认实例使用的是 VPC 内 DNS
resolvectl query db-readonly.internal.corp # systemd 环境查看解析来源私有解析与 hosts 对比
| 维度 | 私有解析区 | hosts 文件 |
|---|---|---|
| 管理方式 | 集中维护,控制台或 API 变更 | 逐台维护,新增机器容易漏 |
| 生效延迟 | 受记录 TTL 影响,通常分钟级 | 改完本机立即生效 |
| 覆盖范围 | 关联的多个 VPC 共享同一份记录 | 只对本机生效 |
| 切流能力 | 改记录即可切换 | 需要逐台改文件并确认 |
| 故障定位 | 需检查关联关系与 DNS 配置 | 需检查文件内容与解析顺序 |
内网域名加私有解析是把 IP 写死在各处配置的解药:改解析即可切流,无需改应用配置。前提是实例统一使用 VPC 内 DNS,否则解析行为会跟着实例的 DNS 配置变化。
内网域名与公网域名重名时要确认解析优先级:处于解析区内的实例会按内网记录解析,不在关联范围内的实例可能解析到公网地址,出现「部分机器走到公网或直接不通」的现象。