aws-samples / aws-samples/aws-lambda-mirror-dns-function

Lambda function reaches max timeout limit (5min) in diff_zones()

オープン
#8 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
41
フォーク
29
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。