Home Assistant使用Let's Encrypt时Google DNS变更处于PENDING问题咨询
Google Cloud DNS变更长期PENDING问题排查方案
可能的故障原因
- 权限配置不全:提交请求的服务账号
famderidder-service-account@dns-hosting-330318.iam.gserviceaccount.com仅拥有提交变更的权限,缺少变更执行、记录修改的必要权限,导致请求进入队列后无法推进。 - 变更队列阻塞:日志显示存在两条针对同一域名的PENDING变更(删除旧TXT记录、新增新TXT记录),前序变更未完成或触发校验失败时,后续同记录的变更会被挂起,始终显示PENDING。
- 托管区状态异常:对应托管区
managedZones/5133864168634041253可能存在配置错误,包括域名NS服务器未切换到Google DNS、托管区被限制操作、账号欠费导致云服务功能受限等。 - 记录格式校验不通过:TXT记录值的转义、长度不符合Google DNS要求时,变更会卡在预校验环节,不会返回明确错误,仅显示PENDING状态。
定位故障的操作步骤
- 执行
gcloud dns record-sets changes describe [变更ID] --zone=[你的托管区名称]查询指定变更的详情,可获取PENDING状态对应的具体错误原因,比控制台默认日志信息更详细。 - 检查服务账号IAM权限:确认账号被授予
dns.changes.get、dns.resourceRecordSets.update、dns.changes.create权限,最小权限可直接使用dns.managedZoneEditor角色。 - 清理积压变更:手动取消所有当前PENDING的DNS变更,先单独提交一条简单的TXT记录变更测试,排除队列阻塞问题。
- 验证托管区配置:检查域名的公共NS记录是否和Google Cloud DNS托管区提供的NS服务器地址完全一致,确认账号无欠费、托管区处于正常运行状态。
附本次问题相关日志摘要:
变更ID:20 操作类型:删除TXT记录 域名:_acme-challenge.famderidder.com. 记录值:"mhJ0sTjvBx2yghsY-yI4vGt6-XoZUqvnx-PTdyz1u4M" 状态:PENDING 变更ID:1 操作类型:新增TXT记录 域名:_acme-challenge.famderidder.com. 记录值:"xW0iwr-zSJBAN5cFE1Lripv7mBKRXWIu57JljkNkQ5g" 状态:PENDING 操作账号:famderidder-service-account@dns-hosting-330318.iam.gserviceaccount.com 托管区ID:managedZones/5133864168634041253
内容的提问来源于stack exchange,提问作者ridderr
相关产品推荐
相关产品推荐

