2017-05-20 8 views
0

수천 개의 레코드가 포함 된 Route 53 레코드 집합을 쿼리해야합니다.수천 개의 Route 53 레코드를 쿼리하는 데 느린 응답

소스에서 "ip-"와 같은 문자열로 시작하는 레코드를 필터링하여 합리적인 시간에 레코드를 다운로드 할 수있는 방법이 필요합니다. 나는 JMESPath 쿼리와 결합 aws 명령 줄을 사용하고있는 순간

:

$ 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 명령 (docs, API doc 참조)은 다른 명령과 마찬가지로 불행히도 --filter을 허용하지 않습니다.

Route 53 레코드의 필터링 된 하위 집합을 신속하게 가져올 수있는 방법이 있습니까?

답변

1

Route 53 레코드의 필터링 된 하위 집합을 빠르게 얻을 수있는 방법이 있습니까?

캐시 유지 ... 또는 Route 53와의 모든 트랜잭션을 처리하고 대신 해당 시스템을 쿼리하는 별도의 신뢰할 수있는 시스템을 만듭니다.

ListResourceRecordSets API는 쿼리하는 것이 아닌 검색만을위한 것으로 보이므로 원하는 결과를 찾기 위해 페이지 매김을해야합니다.

Route 53 API는 전체적으로 AWS 계정 당 제한이 5 req/s이므로 실제 사용량이 많지 않은 것으로 나타났습니다.