Amazon CloudFront Là Gì ?
Amazon CloudFront là mạng phân phối nội dung (CDN) được cung cấp bởi Amazon Web Services. Bằng cách sử dụng CDN, các công ty có thể tăng tốc phân phối tệp cho người dùng qua Internet đồng thời giảm tải cho cơ sở hạ tầng của chính họ. CloudFront là giải pháp CDN riêng của AWS tích hợp với các sản phẩm AWS khác, vì vậy rất thuận tiện cho các công ty đã chạy trên AWS.
Amazon CloudFront Hoạt Động Như Nào
CloudFront hoạt động như một bộ nhớ cache phân tán cho các tệp của bạn, với các vị trí bộ nhớ cache trên khắp thế giới. Nó tìm nạp các tệp của bạn từ vị trí nguồn của chúng (“origin” trong thuật ngữ CloudFront) và đặt các bản sao của tệp ở các vị trí cạnh khác nhau trên khắp Châu Mỹ, Châu Âu, Châu Á, Châu Phi và Châu Đại Dương.Khi làm như vậy, CloudFront tăng tốc độ truy cập vào các tệp của bạn cho người dùng cuối của bạn. Tại sao điều này đáng làm?
Ví dụ: hãy tưởng tượng rằng nguồn gốc dữ liệu của bạn nằm ở Brazil và một trong những khách hàng của bạn ở Nhật Bản muốn truy cập dữ liệu này. Nếu không có CloudFront (hoặc một giải pháp tương tự), khách hàng này sẽ cần phải gửi yêu cầu đến bên kia thế giới, chuyển các tệp từ một vị trí rất xa. Điều này sẽ dẫn đến yêu cầu đến đích chậm cũng như tải tệp xuống chậm. Việc để khách hàng của bạn đợi lâu hơn để lấy dữ liệu thường khiến trải nghiệm khách hàng kém hơn. Tuy nhiên, với CloudFront, các tệp được hệ thống CloudFront tìm nạp định kỳ từ địa điểm ở Brazil và được đặt vào một tập hợp các máy chủ trên khắp thế giới, bao gồm cả một ở Nhật Bản. Khi người dùng ở Nhật Bản tải xuống tệp, yêu cầu giờ đây sẽ được máy chủ gần đó phục vụ với độ trễ thấp hơn, tốc độ tải xuống cao hơn và trải nghiệm khách hàng tốt hơn.
Lợi ích Của Amazon CloudFront
- Khả năng mở rộng: CloudFront tự động mở rộng quy mô với số lượng yêu cầu mà tệp của bạn đang nhận được và không yêu cầu thay đổi cấu hình để đáp ứng khi tải tăng lên, làm cho CloudFront trở thành lựa chọn tuyệt vời để phân phát nội dung tĩnh của trang web hoặc ứng dụng phát triển nhanh.
- Dễ dàng sử dụng và cài đặt : Cài đặt CloudFront khá dễ dàng khi sử dụng S3 hoặc thậm chí là điểm cuối HTTP / HTTPS tùy chỉnh làm nguồn gốc tệp. Sau khi thiết lập, CloudFront không cần bảo trì để tiếp tục hoạt động. Bảo trì thấp có nghĩa là có thêm thời gian cho các nhiệm vụ năng suất hơn như xây dựng logic kinh doanh của ứng dụng của bạn.
- Cấu hình linh hoạt: Bạn có thể tùy chỉnh các bản phân phối CloudFront của mình để có các chính sách bộ nhớ đệm khác nhau dựa trên loại tệp bạn đang phân phối. Vì vậy, ví dụ: nếu bạn có các loại nội dung khác nhau đang được phân phát từ cùng một miền và bạn muốn áp dụng các quy tắc hết hạn tệp khác nhau trong bộ nhớ cache CloudFront cho các phần khác nhau của trang web hoặc ứng dụng của mình, bạn có thể làm như vậy ở cấp độ rất chi tiết.
- Bảo mật nội dung cao: AWS CloudFront là Mạng phân phối nội dung (CDN) có độ bảo mật cao, có bảo vệ từng cấp độ ứng dụng và mạng. Tất cả khách hàng của CloudFront đều thích các biện pháp bảo vệ tự động của tiêu chuẩn lá chắn AWS, miễn phí. CloudFront cũng được tích hợp liền mạch với AWS WAF và AWS shield Advanced để hỗ trợ bảo vệ các ứng dụng của bạn khỏi nhiều mối đe dọa và các cuộc tấn công DDoS đã được tinh chỉnh. Cơ sở hạ tầng và quy trình của CloudFront đều tuân thủ PCI, DSS, HIPAA và ISO để xác nhận việc cung cấp thông tin nhạy cảm nhất của bạn một cách an toàn. Người dùng cung cấp các API hoặc ứng dụng an toàn với sự trợ giúp của SSL / TLS và các tùy chọn SSL nâng cao sẽ tự động bật. Người dùng sử dụng Trình quản lý chứng chỉ AWS (ACM) để chỉ cần sản xuất một số chứng chỉ SSL hải quan nếu cần và ngay lập tức triển khai chúng cho các bản phân phối CloudFront của bạn mà không có giá trị nào khác. ACM xử lý một cách máy móc việc gia hạn chứng chỉ, loại bỏ chi phí và giá cả của phương pháp gia hạn thủ công.
- Hiệu suất cao: Mạng phân phối nội dung AWS CloudFront tối ưu hóa để có độ trễ thấp và tốc độ truyền thông tin cao. Vị ngữ định tuyến thông minh của CloudFront dựa trên các phép đo độ trễ trong thế giới thực liên tục được thu thập từ các trang web tiêu chuẩn cũng như Amazon.com. CloudFront đang kết nối trực tiếp với nhiều ISP của người dùng cuối và với sự trợ giúp của mạng trục AWS để tăng tốc phân phối nội dung từ đầu đến cuối. 1,8 triệu máy học dự án máy tô màu cổ điển CloudFront cũng cung cấp các vị trí bộ nhớ cache cạnh khu vực như một phần của chất lượng được cung cấp, để đảm bảo rằng tỷ lệ truy cập bộ nhớ cache cao có hệ thống trên toàn thế giới.
- Cơ sở hạ tầng phát triển: Mạng phân phối nội dung AWS CloudFront được xây dựng trên cơ sở hạ tầng AWS quốc tế ngày càng tăng, hiện bao gồm 55 khu vực có thể truy cập ở khoảng cách mười tám khu vực địa lý hiện nay. Amazon có kế hoạch giới thiệu thêm mười hai khu vực khả dụng và bốn Khu vực bổ sung ở Bahrain, Đặc khu hành chính Hồng Kông và Thụy Điển, tương tự như Khu vực AWS GovCloud thứ hai ở Mỹ. AWS CloudFront có 132 điểm hiện diện (121 vị trí cạnh và 11 vị trí cạnh khu vực) tại 59 thành phố trên 26 quốc gia. Mạng lưới vị trí Edge của chúng tôi giúp đảm bảo rằng các ứng dụng của bạn mang lại tính khả dụng, khả năng mở rộng và hiệu suất cao cho tất cả khách hàng của bạn từ bất kỳ nơi nào trên thế giới.
Hạn Chế của Amazon CloudFront
- Chi phí cao theo quy mô: Định giá CloudFront là trả tiền cho mỗi lần sử dụng. Điều này có nghĩa là bạn phải trả rất ít nếu lưu lượng truy cập vào trang web hoặc ứng dụng Serverless của bạn thấp. Tuy nhiên, khi lưu lượng truy cập ngày càng tăng, chi phí sử dụng CloudFront có thể tăng rất nhanh. Bạn có thể tránh bất ngờ với các hóa đơn CloudFront bằng cách thiết lập một quy trình để thường xuyên xem xét việc sử dụng CloudFront của bạn và thông báo cho nhóm kế toán của bạn nếu có bất kỳ sự gia tăng đáng kể nào trong lưu lượng CloudFront (và do đó chi phí) khi bạn phát triển ứng dụng của mình. Mình cũng khuyên bạn chỉ nên sử dụng CloudFront cho các tệp mà thời gian và tốc độ phân phối thực sự quan trọng, chẳng hạn như nội dung cho các trang tiếp thị trên trang web chính của bạn. Có khả năng là hầu hết các tệp bạn phân phối cho người dùng của mình có thể được chia sẻ trực tiếp từ S3 hoặc một giải pháp lưu trữ tệp khác mà không ảnh hưởng nhiều đến trải nghiệm của khách hàng. Hóa đơn khách hàng, nội dung video do người dùng tạo và nội dung tồn tại trong thời gian ngắn có thể không cần phải là một phần của các bản phân phối CloudFront của bạn.
- Khó khăn khi đi sâu vào bên dưới hệ thống : Khi sử dụng một dịch vụ được quản lý, tính dễ sử dụng và cấu hình thường đổi lấy quyền kiểm soát mà bạn thường có đối với cơ sở hạ tầng bên dưới. CloudFront là một giải pháp độc quyền và mặc dù Amazon cung cấp hướng dẫn về cách tối ưu hóa hiệu suất bộ nhớ đệm của CloudFront, nhưng bạn không có nhiều khả năng hiển thị chính xác bộ nhớ đệm đang hoạt động như thế nào ở mọi khu vực và cho mọi loại yêu cầu. Điều này đôi khi có thể dẫn đến hiệu suất chậm hơn so với giải pháp tự lưu trữ tương tự mà bạn có thể điều chỉnh cho trường hợp sử dụng chính xác của mình. Nói như vậy, có rất ít trường hợp sử dụng thực sự đảm bảo việc xây dựng giải pháp CDN của riêng bạn vì lý do hiệu suất. Đối với hầu hết các nhóm, sử dụng dịch vụ được quản lý như CloudFront sẽ hoạt động tốt. Tất nhiên với người dùng bình thường thì điểm này có vẻ không là bất lợi tuy nhiên với developer như chúng ta thì điểm này là một bất lợi khá lớn vì khi muốn đào sâu tìm hiểu để cải tiến hay nâng cao hệ thống sẽ khó khăn.
Các Dịch Vụ Tương Tự Khác
CloudFront là dịch vụ CDN duy nhất do AWS cung cấp, nhưng có các dịch vụ khác từ Amazon và từ các nhà cung cấp khác mà bạn có thể sử dụng để đạt được mục tiêu tương tự — cho phép người dùng của bạn truy cập nhanh vào các tệp tĩnh của bạn trên quy mô lớn.
- Amazon S3: là một giải pháp lưu trữ tệp trên đám mây của Amazon và mặc dù nó không phải là CDN như CloudFront, nó có thể hoạt động tốt cho mục đích phân phối tệp cho người dùng cuối của bạn. Với cả CloudFront và S3, cốt lõi của chi phí là truyền dữ liệu từ bộ lưu trữ tệp đến người dùng cuối của bạn. S3 có thể rẻ hơn, vì bạn sẽ chỉ trả tiền truyền dữ liệu từ khu vực xuất xứ của mình, trong khi với CloudFront, bạn sẽ trả tiền truyền dữ liệu ở tất cả các khu vực nơi người dùng của bạn truy cập tệp. Tất nhiên, điều này có thể bao gồm các khu vực nơi truyền dữ liệu rất tốn kém, ví dụ: Nam Mỹ hoặc Úc. Nhưng việc sử dụng S3 cũng có thể sẽ chậm hơn đối với người dùng cuối của bạn, trừ khi tất cả họ đều ở gần khu vực lưu trữ bộ chứa S3 của bạn. Tóm lại, sử dụng S3 trực tiếp (không có CloudFront) có thể là một lựa chọn tốt cho những trường hợp người dùng của bạn có thể chấp nhận được một lượng nhỏ độ trễ bổ sung.
- Google Cloud CDN: cung cấp chức năng rất giống với chức năng của CloudFront. Sự khác biệt chính là cấu trúc giá cả: Google Cloud CDN tiết lộ chi tiết hơn về cấu trúc bộ nhớ cache và các khoản phí cho việc tra cứu bộ nhớ cache, truyền dữ liệu lấp đầy bộ nhớ cache và truyền dữ liệu ra vào bộ nhớ cache. Tổng chi phí sử dụng Google Cloud CDN phải ở cùng phạm vi với CloudFront, vì phần lớn chi phí vẫn nằm ở phí truyền dữ liệu và truyền dữ liệu có giá tương tự cho cả hai dịch vụ. Khả năng hiển thị thêm mà bạn có được khi biết chi tiết về cách Google Cloud CDN hoạt động thông qua mô hình định giá của họ có thể cho phép bạn giảm chi phí của CDN và tối ưu hóa hiệu suất của nó.
Bài viết được tham khảo tại : https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html