Key Requirements:
Host the frontend on AWS as a static website.
Protect the application from common web vulnerabilities.
Minimal operational overhead.
Analysis of Options:
Option A:
Hosting the frontend on EC2 with an ALB introduces unnecessary complexity for serving static content.
AWS WAF rules can protect the ALB, but managing EC2 instances adds operational overhead.
Incorrect Approach:High operational complexity for a simple static website.
Option B:
Amazon CloudFront:Acts as a global CDN, reducing latency and protecting against DDoS attacks.
Multiple Origins:Allows static content to be served from S3 while routing API traffic to the on-premises backend.
AWS WAF:Integrates with CloudFront to provide web application protection.
Correct Approach:Offers low operational overhead with optimal security and performance.
Option C:
Using NLB and Network Firewall is unnecessary for a static website. This approach increases cost and complexity without addressing the frontend requirements effectively.
Incorrect Approach:Over-engineered solution.
Option D:
Hosting the frontend on S3 and using API Gateway is a viable option, but managing AWS WAF rules separately for both the S3 bucket and the REST API increases complexity.
Incorrect Approach:Less efficient than using CloudFront with multiple origins.
AWS Solution Architect References:
Amazon CloudFront Overview
AWS WAF with CloudFront
Submit