能否列出AWS Route 53托管区中最近24小时创建的DNS记录?
获取AWS Route 53托管区最近创建的DNS记录(过去24小时)
可以实现,有两种可靠的方法:
方法一:利用Route53托管区版本历史
Route53的每个托管区会保留变更版本记录(最多100个),每个版本对应一次记录集变更,包含创建时间。通过对比版本差异可提取新增记录:
- 获取目标托管区ID:
从返回结果中找到对应托管区的aws route53 list-hosted-zonesId字段值。- 拉取托管区所有版本历史,筛选过去24小时内的版本:
aws route53 list-hosted-zone-versions --hosted-zone-id YOUR_ZONE_ID | jq '.VersionSummaries[] | select(.CreateDate >= (now - 86400) | strftime("%Y-%m-%dT%H:%M:%SZ"))'- 获取指定版本的完整记录集,与上一版本对比,提取新增的DNS记录:
可通过文本对比工具(如aws route53 get-hosted-zone-version --hosted-zone-id YOUR_ZONE_ID --version-id TARGET_VERSION_IDdiff)找出两个版本间的新增记录。
方法二:通过CloudTrail查询变更事件
Route53的所有记录集变更操作(ChangeResourceRecordSets)会被CloudTrail记录,可直接筛选出24小时内的CREATE动作:
- 执行以下命令查询目标时间段内的变更事件:
aws cloudtrail lookup-events --start-time $(date -d "-24 hours" +%Y-%m-%dT%H:%M:%SZ) --end-time $(date +%Y-%m-%dT%H:%M:%SZ) --lookup-attributes AttributeKey=EventName,AttributeValue=ChangeResourceRecordSets - 在返回的事件结果中,定位到对应托管区的条目,查看
requestParameters.changeBatch.changes字段,其中Action为CREATE的即为新增的DNS记录。
注意事项
- 托管区版本仅保留最近100次变更,若24小时内变更超过100次,早期版本会被覆盖,此时优先用CloudTrail方法。
- CloudTrail默认保留90天日志,若需长期留存需配置日志存储到S3桶。
内容的提问来源于stack exchange,提问作者pgier
相关产品推荐
相关产品推荐

