Amazon là cái tên không xa lạ gì trong giới buôn bán và nó cũng không phải là một cái tên nhỏ trong làng datacenter nữa. Hôm nay, nhân ngày Giỗ của Vua Hùng và là một ngày mưa mình xin được làm một bài viết nhỏ hướng dẫn các bạn sử dụng dịch vụ Amazon Cloudfront làm CDN cho website của mình.
CDN là gì?
CDN là viết tắt của từ “Content delivery network” nói một cách đơn giản thì CDN có nghĩa là như này nhé:
CDN là một hệ thống nhiều máy chủ (máy tính) chứa những bản sao về nội dung, những máy chủ này được đặt ở nhiều nơi trên toàn thế giới và nằm trong một mạng lưới và được tối ưu hóa băng thông cho việc truy cập dữ liệu. Người dùng trên toàn thế giới có thể truy cập được vào bản sao nội dung được chứa ngay trên máy chủ gần với mình nhất, việc này nhằm giảm tình trạng nghẽn mạng khi truy cập vào website và cùng nhau truy cập vào máy chủ gốc ở cùng một thời điểm.
Dữ liệu bao gồm các ứng dụng web, file tải xuống (âm thanh, hình ảnh, tài liệu,…) và được truyền tải theo thời gian thực.
Hiện tại thì Amazon Cloudfront đang có các cụm POP ở Mỹ, Châu Âu, Hong Kong, Philippines, Hàn Quốc, Singapore, Taiwan, Japan, Australia,… nên nếu như bạn sử dụng Amazon cloudfront thì chắc chắn rằng tốc độ tải website của bạn sẽ được tăng lên một cách đáng kể từ Việt Nam.
Cách hoạt động của amazon cloudfront như nào? Mời bạn xem hình dưới nhé:
Các bạn lưu ý rằng chi phí sử dụng Amazon Cloudfront là không miễn phí nhé, các bạn có thể tự xem chi phí ở đây. Nói chung mình nhìn thì nó rất là rẻ và gần như cho không rồi đấy. Các bạn lưu ý rằng Amazon Cloudfront dùng dịch vự lưu trữ Amazon S3 để lưu file nên trong phần hóa đơn sẽ xuất hiện thêm hóa đơn của amazon s3, cũng rất rẻ và gần như là cho không.
Nào giờ đi tới hướng dẫn tạo Amazon Cloudfront nhé.
Cách tạo Amazon Cloudfront
Bước 1. Truy cập vào CloudFront Management Console và nhấn vào Create Distribution. Các bạn cần tạo 01 tài khoản và verify tài khoản trước, tạo tài khoản là miễn phí và verify bạn cần 01 thẻ thanh toán quốc tế visa hoặc master
Bước 2. Tiếp theo sẽ có 02 lựa chọn như ở dưới, vì tớ muốn làm CDN cho website của mình nên các bạn ấn vào Get Started như mình khoanh ở trong hình minh họa nhé.
Bước 3. Tại phần Origin Settings này, các bạn chú ý một số vấn đề sau.
- Origin Domain Name và Origin ID các bạn điền tên website của mình vào nhé. Như ở trên là mình tạo CDN cho website store.dung3d.blog => cái cửa hàng nhỏ nhỏ của mình ý mà.
- Origin Protocol Policy các bạn chọn Match Viewer nhé.
- Còn các phần còn lại các bạn để nguyên theo mặc định nhé.
Bước 4. Tại phần Default Cache Behavior Settings, các bạn điền theo như sau
- Viewer Protocol Policy có các lựa chọn như sau, mình sẽ giải thích từng cái 1 nhé
- HTTP and HTTPS => nếu website của bạn đang chạy song song cả http và https thì chọn cái này.
- Redirect http to https => chuyển hướng truy cập từ http => https, nếu website của bạn đang sử dụng SSL thì chọn cái này đi ^^
- HTTPS only => chỉ truy cập bằng https (ssl)
- Trong 3 cái này, bạn chọn cái nào cũng được. Chả quan trọng đâu
Nói chung là tại phần Default Cache Behavior Settings các bạn không cần phải chỉnh chọt gì cả, cứ để mặc định nhé.
Bước 5. Tại phần Distribution Settings này, có vài điểm các bạn cần phải chú ý
- Alternate Domain Names => các bạn điền custom domain vô đây. Nói chung là nhìn đẹp và chuyên nghiệp thôi. Như trong hình mình điền là CDN.STORE.DUNG3D.BLOG thì về sau các file của mình sẽ có dạng là CDN.STORE.DUNG3D.BLOG/xxx.abc. Còn nếu các bạn không tạo custom domain thì sẽ có dạng này nhé (loằng ngoằng).cloudfront.com/xxx.abc
- Enable IPv6 => Nếu server, hosting, vps của bạn chưa sử dụng IPv6 thì bạn tắt đi, mà nói chung là tắt đi nhé. Sau có dùng thì bật lại trong 1 nốt nhạc ý mà.
Tới bước này là hết rồi đó, các bạn kéo trang xuống dưới cùng và ấn vào Create Distribution để hệ thống amazon tự làm nốt nhé. Việc tạo CDN cho bạn chắc sẽ mất 10 – 15 phút gì đó và sau khi thành công các bạn sẽ thấy như này:
Trong thời gian chờ đợi Amazon làm nốt thì chúng ta tiến hành tạo một bản ghi tên miền mang tên CNAME nhé, mục đích là để sử dụng custom domain như tại bước 5 ý mà.
Mình chọn dịch vụ DNS của CloudFlare để quản lý tên miền, nếu bạn đang chọn CloudFlare thì đăng nhập vào tạo một bản ghi CNAME như trong hình nhé, các thông số thì bạn coi ở amazon nhé ^^:
Tiếp theo là cài như nào để CDN hoạt động được trên website của bạn? Nếu bạn đang sử dụng các plugin có chức năng cache như WP-ROCKET hay W3ToTal thì vào Cài đặt => CDN để thêm nhé. Như mình dùng WP-ROCKET thì cài đặt sẽ như sau
- 1. Các bạn tick vào ô “Enable Content Delivery Network”
- 2. Tại phần CDN CNAME(s) các bạn gõ vào custom domain các bạn đã chọn ở bước 5 hoặc tên miền mặc định mà amazon cung cấp cho bạn. Như trong ảnh là mình điền luôn tên miền mặc định của amazon cung cấp vì hôm nay cá mập nó cắn cáp quang rồi nên mình đếch load được cloudflare, điên vãi :D. Tại phần FILES cần sử dụng CDN các bạn cứ chọn ALL FILES nhé.
- Và cuối là ấn SAVE CHANGES => DONE
Hoặc các bạn cũng có thể sử dụng Plugin CDN Enabler – WordPress CDN Plugin để tiến hành thêm CDN.
Việc cache files từ server của bạn lên amazon là hoàn toàn tự động nhé, các bạn không phải can thiệp gì cả.
Chúc bạn thành công.