openplanning

Tạo bản phân phối CloudFront cho S3 Bucket

  1. Tạo CloudFront Distribution
  2. Cần phải làm gì tiếp?
Trong bài học trước chúng ta đã tạo một Amazon S3 Bucket.
Trong bài viết này, tôi sẽ hướng dẫn bạn tạo một bản phân phối CloudFront để phân phối nội dung trên một S3 Bucket tới người dùng nhanh hơn.
Về cơ bản có 2 cách để kết nối CloudFrontS3 Bucket.
Cách thứ nhất là kết nối trực tiếp CloudFront vào S3 Bucket thông qua S3 Rest API Endpoint.
  • S3 Rest API Endpoint: {bucket-name}.s3.amazonaws.com
Cách thứ hai là kết nối CloudFront với S3 Bucket thông qua S3 Website Endpoint nếu Bucket này đã được bật tính năng "Static Website hosting".
  • S3 Website Endpoint: {bucket-name}.s3-website.{s3-region-id}.amazonaws.com
Kết nối CloudFront vào một S3 Bucket thông qua S3 Website Endpoint được khuyến khích sử dụng. Vì có nhiều tính năng của một "S3 Static Website" thực sự có ích, chẳng hạn nó cho phép thiết lập các quy tắc chuyển hướng (redirection) với nhiều điều kiện khác nhau.

1. Tạo CloudFront Distribution

Trước hết, đăng nhập vào Amazon CloudFront Console:
Nhấn vào nút "Create distribution" để tạo ra một Distribution (bản phân phối) cho S3 Bucket của bạn.
Lựa chọn giá trị cho "Origin domain" từ một danh sách, thực chất nó là danh sách các "S3 Rest API Endpoints" (Tương ứng với các Buckets của bạn).
Nếu S3 Bucket của bạn đã được bật tính năng "Static Website hosting", một gợi ý sẽ được hiển thị để bạn kết nối CloudFront vào S3 Static Website thay vì kết nối trực tiếp vào S3 Bucket.
  • S3 Rest API Endpoint: {bucket-name}.s3.amazonaws.com
  • S3 Website Endpoint: {bucket-name}.s3-website.{s3-region-id}.amazonaws.com
Tắt tính năng Web Application Firewall (WAF), sử dụng tính năng này bạn phải trả thêm chi phí. Nếu muốn sử dụng bạn có thể cấu hình sau.
Chọn trang chủ mặc định cho website.
Cuối cùng, chấp nhận tất cả các tuỳ chọn mặc định khác và nhấn nút "Create distribution".
Sau khi nhấn nút "Create distribution", bản phân phối của bạn sẽ được tạo ra gần như ngay lập tức. Sau đó nó tự động được triển khai, quá trình này có thể tốn vài phút.
Sau khi quá trình triển khai kết thúc bạn có thể truy cập vào website của bạn thông qua tên miền con của CloudFront, giống thế này:
  • https://{lowercase-distribution-id}.cloudfront.net

2. Cần phải làm gì tiếp?

Ở trên chúng ta đã tạo một bản phân phối CloudFront cho S3 Bucket với các tuỳ chọn mặc định. Vẫn cần thêm các cấu hình khác để có một bản phân phối CloudFront hoàn chỉnh, dưới đây là một vài bài viết được đề xuất cho bạn:
Error pages:
Nếu bạn truy cập vào một đường dẫn không tồn tại, có thể có thông báo lỗi giống dưới đây. Để tránh điều này xẩy ra bạn cần phải cấu hình các trang lỗi cho CloudFront.
Web Application Firewall (WAF)
AWS WAF là tường lửa ứng dụng web giúp bảo vệ các ứng dụng web khỏi các cuộc tấn công bằng cách cho phép bạn định cấu hình các quy tắc, cho phép, chặn hoặc giám sát (đếm) yêu cầu web dựa trên các điều kiện mà bạn xác định. Các điều kiện này bao gồm:
  • IP, HTTP headers, HTTP body, URI strings, SQL injection, cross-site scripting
  • Amazon CloudFront WAF

Các hướng dẫn Amazon Web Services

Show More