Bài này chúng ta sẽ tìm hiểu về cách tạo một CDN CloudFront trong trong Amazon Web Services qua các ví dụ cụ thể.

1. Bước 1: Tạo nhóm và tải nội dung lên trong nhóm.

  • Đăng nhập vào Bảng điều khiển quản lý AWS.
  • Nhấp vào các dịch vụ S3 trong Bảng điều khiển quản lý AWS.
  • Nhấp vào nút “Tạo nhóm”.
  • Trong hộp thoại tạo, hãy nhập tên nhóm.

Tôi đã cung cấp “jtpbucket” làm tên nhóm.

  • Chọn một khu vực cho nhóm của bạn. Theo mặc định, nhóm Amazon S3 lưu trữ đối tượng ở khu vực Đông Hoa Kỳ (Ohio).
  • Bấm vào nút Tạo(Create).
  • Chọn nhóm của bạn và sau đó nhấp vào nút Tải lên(Upload).
  • Nhấp vào Thêm tệp(Add file) và chọn tệp từ thiết bị của bạn mà bạn muốn tải lên.
  • Bật quyền truy cập công khai vào đối tượng đã được tải lên thành công.
  • Sau khi tải tệp lên, bạn có thể điều hướng đến đối tượng bằng cách sử dụng URL được cung cấp bên dưới: https://s3.us-east-2.amazonaws.com/jtpbucket/jtp.jpg

2. Bước 2: Tạo bản phân phối CloudFront

  • Mở CloudFront Console bằng cách sử dụng liên kết https://console.aws.amazon.com/cloudfront/.
  • Nhấp vào Tạo phân phối(Create Distribution)
  • Chọn phương thức phân phối cho nội dung của bạn, trong Phân phối web(Web Distribution), hãy nhấp vào nút Bắt đầu(Get Started).

2.1 Cài đặt nguồn

Ở đâu,

Tên miền gốc(Origin Domain Name): Nó xác định nguồn gốc đến từ đâu. Tên miền gốc là jtpbucket.s3.amazonaws.com trong đó jtpbucket là một nhóm mà chúng ta đã tạo trong S3.

Đường dẫn nguồn gốc(Origin Path): Có thể có nhiều nguồn gốc trong một bản phân phối. Đường dẫn gốc là một thư mục trong nhóm S3. Bạn có thể thêm các thư mục trong nhóm S3 và đặt nó vào Đường dẫn gốc, có nghĩa là gốc đến từ các thư mục khác nhau chứ không phải từ chính nhóm. Tôi để lại Đường dẫn gốc với một giá trị mặc định.

ID gốc(Origin ID): Đây là tên của gốc. Trong trường hợp của chúng ta, tên của gốc là S3-jtpbucket .

Hạn chế quyền truy cập nhóm(Restrict Bucket Access): Nếu bạn không muốn URL S3 có thể truy cập công khai và bạn muốn tất cả các yêu cầu phải đi qua CloudFront, thì hãy bật điều kiện Hạn chế quyền truy cập nhóm(Restrict Bucket Access).

Danh tính truy cập gốc(Origin Access Identity): Chúng ta không có bất kỳ danh tính hiện có nào, vì vậy chúng ta nhấp vào nút Tạo danh tính mới(Create a new identity).

Cấp quyền Đọc trên Nhóm(Grant Read Permissions on Bucket): Bạn có thể cập nhật các quyền theo cách thủ công hoặc bạn muốn các quyền được cập nhật tự động. Vì vậy, chúng ta nhấp vào Có, Chính sách nhóm cập nhật .

2.2 Cài đặt hành vi bộ nhớ cache

Path Pattern: Nó sử dụng các biểu thức chính quy. Chúng ta có thể có nhiều nguồn gốc. Giả sử một người dùng của tôi muốn truy cập tệp pdf từ gốc và người dùng khác muốn truy cập tệp jpeg từ thùng S3, thì chúng ta sử dụng đường dẫn mẫu.

Chính sách giao thức người xem(Viewer Protocol Policy): Bạn có thể xem Phân phối CloudFront theo ba cách: HTTP và HTTPS, Chuyển hướng HTTP sang HTTPS và chỉ HTTPS. Tôi nhấp vào Chuyển hướng HTTP sang HTTPS(Redirect HTTP to HTTPS).

Các phương thức HTTP được phép: Bạn có thể sử dụng các phương pháp sau:

  • GET, HEAD
  • GET, HEAD, OPTIONS
  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE: tùy chọn này được sử dụng để cung cấp cho người dùng quyền truy cập tải tệp lên trong CloudFront Distribution và vị trí cạnh sẽ cập nhật vào gốc của bạn.

Hạn chế quyền truy cập của người xem(Restrict Viewer Access): Bạn cũng có thể hạn chế quyền truy cập của người xem. Ví dụ: bạn đang cung cấp khóa đào tạo cho nhân viên của mình thông qua video, bạn muốn hạn chế quyền truy cập của các nhân viên đã được xác thực. Điều này có thể đạt được bằng cách nhấp vào CÓ để hạn chế quyền truy cập của người xem(Restrict Viewer Access): điều kiện.

2.3 Cài đặt phân phối

Loại giá: Bạn có thể chọn loại giá tương ứng với dịch vụ tối đa mà bạn muốn trả cho dịch vụ CloudFront.

Tên miền thay thế: Khi chúng tôi tạo một đám mây từ bản phân phối, nó sẽ trở nên không thân thiện vì tên miền của CloudFront là một tập hợp các số và chữ cái ngẫu nhiên. Để làm cho nó thân thiện, chúng tôi thêm một tên miền thay thế chẳng hạn như cdn.acloud.guru và tên miền này con người có thể đọc được được áp dụng cho bản phân phối này.

Chứng chỉ SSL: Nếu người dùng truy cập nội dung bằng tên miền CloudFront, nó có thể sử dụng chứng chỉ CloudFront mặc định. Nếu người dùng truy cập nội dung bằng tên miền thay thế, người dùng cần sử dụng chứng chỉ SSL tùy chỉnh.

Đối tượng gốc mặc định: CloudFront yêu cầu một đối tượng mà bạn muốn từ máy chủ gốc khi người dùng yêu cầu URL gốc của bản phân phối của bạn.

Ghi nhật ký: Nếu bạn chọn BẬT có nghĩa là bạn muốn CloudFront ghi lại thông tin về từng yêu cầu cho một đối tượng và lưu trữ các tệp nhật ký trong nhóm Amazon S3.

Tiền tố nhật ký: Nó là thư mục trong thùng.

Ghi nhật ký cookie: Bạn có thể BẬT hoặc TẮT ghi nhật ký cookie. Trong ví dụ này, chúng tôi đang sử dụng Amazon S3 làm nguồn gốc của các đối tượng của bạn, vì vậy chúng tôi không cần phải BẬT ghi nhật ký Cookie.

Trạng thái phân phối: Bạn có thể bật hoặc tắt trạng thái phân phối. Khi Phân phối được bật, CloudFront sẽ xử lý các yêu cầu của người xem được liên kết với Phân phối này. Khi Bản phân phối bị vô hiệu hóa, CloudFront không chấp nhận bất kỳ yêu cầu nào đối với nội dung liên quan đến Bản phân phối này.

  • Nhấp vào nút Tạo phân phối .

3. Bước 3: Kiểm tra các liên kết của bạn

  • Sau khi Bản phân phối đã được tạo, chúng tôi nhận được tên miền của Bản phân phối CloudFront và chúng tôi cũng biết tên đối tượng mà chúng tôi đã đặt trong nhóm S3. Bây giờ, liên kết có thể được tạo như dưới đây:

“http: // tên miền / tên đối tượng”

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!