external-dns: AWS Route53 Failover Configuration
This is a feature request to handle AWS failover entries by external dns.
Preface
AWS Route 53 has an option to create primary and secondary records for same DNS. The benefit of which is that if the health checks associated with primary dns fail, AWS will redirect it to the secondary dns where you would have set up your maintenance page or back up site.
More information:
- https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html
- https://www.youtube.com/watch?v=PHKoAr8QCDE
Problem faced
I have been doing this step manually after external-dns had created entries in route 53, I updated the record to type failover
, set it to Primary
and added the Secondary
record for that dns as well.
The problem I faced is after this configuration, if external dns wants to update this particular record set, it fails prompting that the record set already exists. It is probably failing due to the manual change made to the record type and secondary
record added.
Proposed Solution
I think this can be implemented by adding annotations to ingresses like:
- In case of failover type primary record:
ingress.kubernetes.io/routing-policy: failover,
ingress.kubernetes.io/failover-record-type: Primary
- In case of failover type secondary record with s3 static website as maintenance page:
ingress.kubernetes.io/routing-policy: failover,
ingress.kubernetes.io/failover-record-type: Secondary
ingress.kubernetes.io/alias-target: s3-website-us-west-2.amazonaws.com.
Or something in the lines of this
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 16
- Comments: 19 (5 by maintainers)
@korenyoni I have gone through the code and that should be sufficient to fulfill this use case. This issue can be closed now imo.
Has this not been resolved via? https://github.com/kubernetes-sigs/external-dns/commit/6681a3a3585ffe404a2147d4ec6a2d7ebcd2d822
It’s a closed issue, yes, but only because it’s been automatically been closed by bots.