- Newest
- Most votes
- Most comments
Please take the following approach:
- Application Load Balancer (ALB) Security Group Configuration • Ingress Restriction for Public Traffic: Restrict inbound traffic to the ALB’s security group by allowing only HTTPS (or the specified application port) connections originating from the CloudFront origin-facing prefix list. This configuration ensures that all user requests from the internet are routed through CloudFront before reaching the ALB. • Outbound Settings: Maintain unrestricted outbound rules in the ALB’s security group, or explicitly allow traffic to the target groups. This ensures that the ALB can forward incoming end-user requests and health check probes to the backend targets without interruption.
- EKS Fargate Targets Security Group Configuration • Allow Health Check Traffic from the ALB: Modify the security group associated with your EKS Fargate targets to permit inbound traffic on the designated health check port(s) (e.g., 80 or 443) from the ALB’s security group. To achieve this, specify the ALB’s security group as the source for these inbound rules.
• Type: Ingress • Protocol: TCP • Port: (Configured health check port, e.g., 80 or 443) • Source: [Security group assigned to the ALB]
Hey,
Hope you're keeping well.
When you restrict ALB ingress to only the CloudFront origin-facing prefix list, you’re also blocking the ALB’s own health check traffic because those checks originate from the ALB’s VPC subnets, not from CloudFront. The solution is to keep the CloudFront prefix list rule for port 443, but also add an ingress rule in the target group’s security group that allows the ALB’s security group itself as a source on the health check port. In AWS terms, the EKS Fargate pod’s security group should allow inbound from the ALB’s security group, and the ALB’s security group should allow inbound from the CloudFront prefix list for public traffic.
Thanks and regards,
Taz

WOW! it works!! thank you!!!!!