Amazon CloudFront - Cách thiết lập CloudFront để hoạt động với S3
Giả sử bạn điều hành một trang web hoặc blog bị buôn bán cao và bạn gặp phải các vấn đề sau:
- Phục vụ nội dung chậm - Nội dung (html, hình ảnh, tệp tải xuống) đang phục vụ ở tốc độ cực chậm, đặc biệt là khi lưu lượng truy cập tăng đột biến
- Trả tiền và không sử dụng - Bạn đang trả tiền cho máy chủ web của bạn nhiều hơn những gì bạn đang thực sự sử dụng. Điều đó có nghĩa là, bạn có thể đang trả tiền cho gói lưu trữ web với 50Gb dung lượng web và 1Tb băng thông, nhưng bạn hầu như không sử dụng một nửa trong số họ.
- Tập tin / thư mục lộn xộn - Tài khoản web đang ở trong một mớ hỗn độn. Thư mục hình ảnh, thư mục mục có thể tải xuống không được tổ chức đúng cách.
Tất cả những điều này có thể được giải quyết dễ dàng với Amazon CloudFront. Đám mây là một dịch vụ mới được Amazon ra mắt, được hỗ trợ bởi công nghệ điện toán đám mây. Sử dụng Amazon S3 làm bộ lưu trữ, CloudFront phục vụ trên các nhóm và phân phối nội dung ở tốc độ cao hơn nhiều với độ trễ thấp hơn. Nhấn vào đây để đọc thêm.
Nếu bạn đã sử dụng Amazon S3 để phục vụ các tệp cho trang web, Đám mây thực sự là một cái gì đó bạn nên kiểm tra. Bây giờ chúng tôi sẽ hướng dẫn bạn cách thiết lập CloudFront để phục vụ các tệp web.
-
Đầu tiên và Formost
Nhận một Amazon S3 tài khoản (đọc tại đây), sau đó đăng ký dịch vụ Amazon CloudFront. Kiểm tra email của bạn để đảm bảo dịch vụ được kích hoạt cho bạn.
-
Tạo phân phối
Các ứng dụng bạn sử dụng để quản lý các thùng Amazon S3 có thể khác nhau, nhưng chúng tôi sẽ cố gắng sử dụng một công cụ miễn phí - Firefox S3, trình quản lý tệp S3 có CloudFront được hỗ trợ. Kết nối với tài khoản của bạn với S3 Firefox, nhấp chuột phải vào tên nhóm (giả sử các tệp và thư mục bên trong đây là / sẽ có thể truy cập web) và chọn Quản lý phân phối.
Phân phối là một URL duy nhất của loại mà bạn có thể sử dụng để tham chiếu một tệp. Bạn sẽ có được một bức ảnh đẹp hơn khi nó được tạo ra. Bấm vào Tạo phân phối để tạo phân phối đầu tiên của bạn cho xô.
Khi bạn đã tạo, bạn sẽ nhận thấy một Tên miền mới: XXXXX.cloudfront.net đang được tạo ra cho bạn. Trạng thái sẽ chuyển từ Trong tiến trình đến Đã triển khai khi nào nó hoàn thành. Bạn cũng có thể nhấp vào nút Làm mới để cập nhật trạng thái.
Nếu trước đây bạn có tài sản sau:
- https://assets.hongkiat.com/uploads/folder1/imageA.jpg, bây giờ có thể được truy cập bằng URL
- http://XXXXX.cloudfront.net/folder1/imageA.jpg
Bạn vẫn có thể phân phát các tệp với URL đầu tiên nhưng cái sau được cung cấp bởi CloudFront và nó nhanh hơn.
-
Tạo CNAME
URL phân phối bắt đầu bằng http://XXXXX.cloudfront.net/ và chúng tôi không nghĩ có bất kỳ cách nào để quyết định những gì đi trước .cloudfront.net. Tuy nhiên, để làm cho URL đơn giản hơn, đẹp hơn và dễ nhớ hơn, chúng ta có thể sử dụng CNAME để ánh xạ URL này tới bất cứ điều gì chúng ta muốn. Điều này đòi hỏi truy cập vào bảng điều khiển lưu trữ web. Trong ví dụ này, chúng tôi sẽ chỉ cho bạn cách lập bản đồ:
- http://XXXXX.cloudfront.net/ đến
- https://assets.hongkiat.com/uploads/
Nếu bạn không quen thuộc với CNAME, chúng tôi khuyên bạn nên yêu cầu máy chủ web làm điều đó cho bạn. Bạn sẽ có một cái gì đó tương tự như thế này, với URL phân phối của riêng bạn.
Việc này có thể mất 24 giờ để truyền bá, nhưng trong thời gian đó, đã lấp đầy CNAME trong S3 Firefox.
Khi nó được truyền đúng cách (bạn có thể kiểm tra bằng cách ping URL), bạn có thể phục vụ các tệp bằng cách sử dụng https://assets.hongkiat.com/uploads/*.
-
So sánh hiệu suất
Tất cả chúng ta đều biết các tệp phục vụ Amazon S3 nhanh và hiệu quả như thế nào, nhưng chúng tôi nghĩ rằng bạn sẽ thấy một so sánh sau khi CloudFront được triển khai trên đầu phục vụ để bạn biết rằng mỗi chi tiêu đều đáng giá. Để so sánh công bằng về sự khác biệt về tốc độ tải, chúng tôi đã lấy một nội dung blog, tải hai lần; một lần với hình ảnh được lưu trữ dưới hongkiat.s3.amazonaws.com, lần khác với hình ảnh dưới tĩnh.hongkiat.com (CloudFront) và theo dõi nó với Công cụ Pingdom. Bấm vào hình ảnh để xem lớn hơn.
hongkiat.s3.amazonaws.com - 41 hình ảnh được tải ở 6,5 giây.
tĩnh.hongkiat.com (CloudFront) - 41 hình ảnh được tải trong 3,5 giây.