同VPC内EC2实例B解析实例C域名延迟5分钟,求排查方向
本地DNS缓存不一致
虽然A和B基于相同AMI,但B的本地DNS缓存可能留存了旧的无效记录,或是缓存TTL设置导致刷新滞后。比如B之前解析过同主机名的旧实例记录,缓存未到期前不会主动请求VPC DNS获取新记录;而A此前未解析过该主机名,直接从VPC DNS拿到最新结果。可在B上执行dig +trace <C的主机名>对比A的解析路径,或清空本地缓存(如systemctl restart systemd-resolved、nscd -i hosts,依系统而定)测试是否立即恢复。DNS客户端配置差异
检查B的/etc/resolv.conf,确认是否存在与A不同的DNS配置:比如B额外添加了外部DNS服务器且优先级高于VPC默认DNS(169.254.169.253),导致解析请求先发送到无法解析VPC内部主机名的外部DNS,超时后才转向VPC DNS;或是resolv.conf中的timeout、attempts参数设置更保守,延长了重试等待时间。VPC DNS注册的子网/可用区同步延迟
实例C启动后,其主机名注册到VPC DNS的过程可能存在子网或可用区(AZ)级的同步延迟。如果B和C不在同一AZ,而A和C在同一AZ,A所在AZ的DNS节点会先同步到C的注册信息,B所在AZ的节点则需要额外时间完成同步。可检查A、B、C的AZ分布,或在B上直接请求VPC DNS服务器(dig @169.254.169.253 <C的主机名>),判断是本地缓存还是VPC DNS同步问题。到VPC DNS服务器的临时网络异常
B到VPC DNS服务器(169.254.169.253)的网络可能存在临时丢包或延迟,导致解析请求超时,直到多次重试后成功。可在B上执行ping 169.254.169.253持续测试连通性,或用traceroute 169.254.169.253检查链路是否有异常节点。实例元数据服务(IMDS)临时访问延迟
如果B的IMDS访问存在临时延迟,可能影响其获取最新的DNS配置(如VPC DNS服务器地址)。可在B上测试curl http://169.254.169.254/latest/meta-data/local-hostname的响应速度,对比A的响应时间,判断是否存在IMDS访问瓶颈。
内容的提问来源于stack exchange,提问作者uylmz

