Trong bước này, bạn sẽ CloudFront distribution và cấu hình dịch vụ này phục vụ s3 Bucket mà chúng ta đã tạo trước đó.
Cách ưu tiên để cho phép truy cập vào S3 Bucket là thông qua Origin Access Identity. Nhưng nếu S3 bucket được config như là một website endpoint, thì chúng ta phải dùng Custom Headers để giới hạn quyền truy cập vào S3 Bucket.
Trong lab này, chúng ta sẽ khai báo User-Agent header trong Cloudfront với một khóa bí mật (secret key), giúp block truy cập tới bucket từ mọi người khác, và sẽ chỉ cho phép CloudFront (có header mang thông tin khóa) sẽ được truy cập S3 bucket.
Trong Cloudfront distribution, chúng ta không thể sử dụng trực tiếp S3 bucket endpoint cho static website. Tên Origin Domain nên được trỏ tới S3-website endpoint tại đúng region.
Tại Add custom header - optional, click Add header:
Tại phần Default cache behavior > Viewer protocol policy, tích chọn Redirect HTTP to HTTPS.
Tại phần Web Application Firewall (WAF), chọn Enable security protections.
Trong phần Settings, chọn Use only North America and Europe (Rẻ nhất).
Tại Alternate domain name (CNAME), điền domain name của website.
Tại Custom SSL certificate, trỏ vào Request certificate, một cửa sổ mới request certificate của ACM hiện lên. Chúng ta sẽ tạm dừng để setting cho SSL certificate trước:
Sau khi đã tạo certificate mới thành công, tiếp tục với mục Setting của Cloudfront Distribution, tại Custom SSL certificate, bấm biểu tượng reload > chọn ACM certificate vừa tạo.
Kiểm tra lại thông tin config và click Create distribution.
Đợi vài phút để CloudFront Distribution được deploy thành công. Trong lúc chờ, bạn có thể thực hiện bước 5.2. Cập nhật S3 bucket policy.