-
Notifications
You must be signed in to change notification settings - Fork 29
Description
When running this Lambda function to mirror a zone containing a large amount of DNS records (~43500), it reaches max Lambda timeout limit of 5 minutes inside function diff_zones().
The DNS AXFR request returns within 500 to 1000 milliseconds with dig, returning the 40k records very fast. The problem lies in the python code which needs to parse through all the dns.zone.Zone nodes, records, etc... and diff them to build the differences list.
The code never even gets to the looping over differences and running update_resource_record() to make changes to Route53.
It's hard to believe that the python code is so slow to generate a list of DNS zone differences. I can imagine a simple bash script using dig and diff that would be much more efficient to perform the same function for this portion of the Lambda code.