查询数千条 Route 53 记录的响应缓慢



我需要查询包含数千条记录的 Route 53 记录集。

我需要一种方法来过滤掉源中以"ip-"等字符串开头的记录,以便可以在合理的时间内下载记录。

目前,我正在使用aws命令行与JMESPath查询结合使用:

$ date ; aws route53 list-resource-record-sets --hosted-zone-id $hosted_zone_id --query 'ResourceRecordSets[?starts_with(Name, `ip-`)==`false`].Name' | head -4 ; date
Thu May 11 19:16:53 AEST 2017
[
    "foo-pilot.example.com.",
    "foo-pilot.example.com.",
    "bar-dev.foo-pilot.example.com.",
Thu May 11 19:17:04 AEST 2017

可以看出,这需要 11 秒,并且在应用程序中需要其中的几个查询,结果是执行时间慢得令人无法接受。

不幸的是,aws route53 list-resource-record-sets命令(文档,另请参阅 API 文档(不像其他一些命令那样接受--filter

有没有办法快速获取 Route 53 记录的过滤子集?

有没有办法快速获取 Route 53 记录的过滤子集?

维护缓存...或者创建一个单独的权威系统来处理使用 Route 53 的所有事务,并改为查询该系统。

ListResourceRecordSets API 似乎仅用于扫描,而不用于查询,因此您必须对结果进行分页才能找到所需的内容。

事实上,Route 53 API

似乎不适合大批量使用,因为 Route 53 API 的每个 AWS 账户限制为 5 req/s。

最新更新