Check ID:
Provider: AWS
Service:
Severity: LOW
Categories:
Resource type:
cloudfront_distributions_multiple_origin_failover_configuredProvider: AWS
Service:
cloudfrontSeverity: LOW
Categories:
resilienceResource type:
AwsCloudFrontDistributionWhat this check verifies
CloudFront distributions are evaluated for an origin group configured with at least2 origins to support automatic origin failover.
Risk
Without origin failover, the origin becomes a single point of failure. Origin outages, regional incidents, or targeted DoS can cause downtime, elevated error rates, and latency, degrading availability and impacting user experience and SLAs.Recommendation
Enable origin failover by defining an origin group with primary and secondary origins. Distribute origins across independent zones or providers, set clear failover criteria (e.g., HTTP codes/timeouts), monitor health, and routinely test failover. Align with resilience and defense-in-depth to protect availability.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws cloudfront get-distribution-config —id <DISTRIBUTION_ID> —output json > current-config.json && echo ‘Manually edit current-config.json to add OriginGroups with two origins and FailoverCriteria, then run:’ && echo ‘aws cloudfront update-distribution —id <DISTRIBUTION_ID> —distribution-config file://current-config.json —if-match $(aws cloudfront get-distribution-config —id <DISTRIBUTION_ID> —query “ETag” —output text)’
References
- https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating
- https://docs.aws.amazon.com/securityhub/latest/userguide/cloudfront-controls.html#cloudfront-4
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/CloudFront/origin-failover-enabled.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = cloudfront_distributions_multiple_origin_failover_configured. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks