Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CDK Sample: Route53 Failover DNS Management #789

Open
1 of 2 tasks
Dringho opened this issue Jan 4, 2023 · 0 comments
Open
1 of 2 tasks

CDK Sample: Route53 Failover DNS Management #789

Dringho opened this issue Jan 4, 2023 · 0 comments
Labels
feature-request A feature should be added or improved. language/python Related to Python examples p2

Comments

@Dringho
Copy link

Dringho commented Jan 4, 2023

Describe the feature

Controlling R53 Failover DNS records + SNS notification through CDK in order to automate DNS management with IaC. Specially, Failover records are complex to implement as they aren't natively implemented in CDK (Ref: https://github.com/aws/aws-cdk/issues/4391 )
I couldn't find good samples in any Github repo so this should be of value to customers attempting to control R53 with IaC, including SNS notification.

Use Case

  • Large enterprise customer was looking to implement this and I couldn't find anywhere a good sample to give them
  • Customers with decentralized processes need a way for their teams to control all aspects of their solution, including DNS management
  • Customer implementing Disaster Recovery Plans in their solutions need to have a guideline on how to achieve DNS failover
  • Customers with automated failover need to notify their operations team when the failover mechanism was activated

Proposed Solution

Route53 DNS CNAME Records with Failover Config, Route 53 Healthcheck, Cloudwatch Alarm and SNS Topic + Subscription

zone = route53.HostedZone(...)
cloudwatch_alarm = ...
health_check = route53.CfnHealthCheck(...)
primary_record = route53.CfnRecordSet(...)
secondary_record = route53.CfnRecordSet(...)
sns_topic = ...
sns_subscription = ..

Other Information

Searched Github code for route53.CfnHealthCheck and couldn't find a good example aside from this https://github.com/DionBrNz/private-r53-failover/blob/16bb5f459b2f92c316a7f189a1a271c85b71374e/infra/lib/private-r53-failover-stack.ts and is not complete.

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Language

Python

@Dringho Dringho added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Jan 4, 2023
@kaiz-io kaiz-io added language/python Related to Python examples p2 and removed needs-triage This issue or PR still needs to be triaged. labels Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. language/python Related to Python examples p2
Projects
None yet
Development

No branches or pull requests

2 participants