Hello,
"Evaluate Target Health" works with Alias Records that support health checks, CloudFront is not a service supported as it does not return health checks.
I think a better option for you is to use CloudFront's custom error responses. This way if there is an error coming from the ALB, it can redirect traffic to a custom static page hosted on an S3 bucket.
See documentation here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GeneratingCustomErrorResponses.html
Another option is to front the site with CloudFront and use an origin group with one origin being the ELB and the other origin being the S3 static page. You would use the NoCache policy so that each request is sent to the origin instead of caching. See: Optimizing high availability with CloudFront origin failover.
Relevant questions
Will Route 53-with-Failover Based on CloudWatch Work With A Private API-Gateway REST-API?
asked 8 months agoadding a subdomain to route 53 with cloudfront
asked 5 months agoRoute 53 Active-Passive Failover Goes Back And Forth Between Primary and Secondary Due To Unstable Primary, i.e. Does Not Settle
Accepted Answerasked a month agoSeamlessly switch between CloudFront distributions using Route 53?
Accepted Answerasked 2 years agoCDK and Route 53 Failover
asked 6 months agohow to set up CloudFront using my domain
Accepted Answerasked 7 months agoRoute 53 Health Checks works once and then switches to Failed immediately
asked 2 years agoUsing Route53 Health Checks and Failover in front of CloudFront Distribution
Accepted Answerasked a month agoHost S3 website with on-premises DNS server without Route53
Accepted Answerasked 5 months agoMultiple Regions behind Load Balancer - how is traffic distributed?
asked 6 years ago
This should work nicely, though I'm having a hard time making it work. Thank you!