aws-samples / aws-lambda-ddns-function

Dynamically create Route 53 resource records using CloudWatch Events and Lambda
Apache License 2.0
236 stars 116 forks source link

Guarantees of using EventBridge and alternatives #42

Open chusteven opened 2 years ago

chusteven commented 2 years ago

Hello! I'm grateful for this example but did want to ask a few clarifying questions:

1/ How reliable is this approach? The documentation on EventBridge says:

Events are produced on a best-effort basis

Bad DNS records could result in clients being routed to dead instances :/ Would a good workaround be to schedule a cron job or something to periodically check the validity of all the values a record points to?

2/ Are lifecycle hooks a more appropriate solution? Maybe lifecycle hooks -> SNS/SQS -> Lambda? This documentation at least doesn't use phrases such as "best effort" 😅 (no shade, I promise -- just trying to understand guarantees). So assuming it is more reliable, my main concern would be whether or not something could happen in between autoscaling:EC2_INSTANCE_LAUNCHING and an actual successfully running instance? I can't glean too much from the state diagram unfortunately so wanted to ask -- especially in regards to the above concern about potentially adding a DNS record for an instance that almost but didn't launch successfully.

🙏