Như bạn đã biết, tôi bắt đầu tìm hiểu về dịch vụ của Amazon Web Services cách đây không lâu. Tôi cũng cố rút tỉa một vài kinh nghiệm khi thử nghiệm dịch vụ này và chia sẻ trên blog của mình nhằm giúp các bạn có thêm một chút kinh nghiệm khi đến với dịch vụ này. Dưới đây là một vài mẹo mà bạn có thể áp dụng cho S3 (Simple Storage Service).
Phụ mục
1. Ghi log file
S3 chủ yếu tính tiền người dùng dựa trên những gì tải về. Vì vậy, bạn cần phải chắc chắn rằng nguồn tài nguyên trên S3 của bạn chỉ được sử dụng bởi một mình bạn. Nếu không người dùng khác sử dụng tài nguyên của bạn và bạn sẽ mất tiền.
Để ghi nhận chính xác nguồn tài nguyên của mình được sử dụng như thế nào, Amazon S3 có một chức năng cho phép bạn ghi lại nhật ký sử dụng của một tài nguyên nào đó. Từ việc kiểm tra nhật ký sử dụng này bạn sẽ biết được những trang nào đang sử dụng tài nguyên S3 của bạn và đưa ra các hình thức đối phó phù hợp.
Để thiết lập log, từ bucket của mình bạn chọn Properties và chọn Tab Logging, chọn Enable để kích hoạt và Target Bucket là tên bucket cần ghi lại log, Target Prefix bạn để nguyên như mặc định.
Bật tính năng Logging cho Amazon S3Lúc này, bạn sẽ có thêm một thư mục Logs như trong hình dưới đây sau vài phút
Thư mục Log được tạoVà đây là Log giúp tôi phát hiện những website(hoặc link) nào đang sử dụng tài nguyên của tôi:
Đã phát hiện ra những website sử dụng tài nguyên của mìnhViệc xử lý tiếp theo có thể là chặn, liên hệ với người quản trị website đó để gỡ link…Tất cả tùy ở bạn.
2. Tạo giới hạn cho link
Theo mặc định của mình, dịch vụ Amazon S3 (Simple Storage Service) sẽ lưu trữ và cho phép bạn download(hoặc truy cập) vào file vĩnh viễn cho đến khi nào bạn xóa nó khỏi hệ thống thì thôi. Trong môt số trường hợp việc này sẽ là không cần thiết, ví dụ bạn muốn chạy một event mà chỉ cho phép người dùng download softwares, ebook hay các file ảnh, PDF… vào một thời điểm nhất định nào đó, sau đó vẫn muốn lưu trữ tài sản của mình trên S3.
Trong trường hợp này, S3 cung cấp cho bạn một giải pháp là sử dụng một URL để chia sẻ và URL đó có giới hạn Expired để có thể quản lý được việc download/chia sẻ dễ dàng.
Từ công cụ S3 Browser mà tôi đã chia sẻ ở bài đầu tiên khi viết về Amazon Web Service, bạn click chuột phải vào file cần chia sẻ và chọn Generate Web URL(s).
Có 2 lựa chọn cho bạn: bạn có thể lựa chọn thời gian hết hạn cho URL theo phút hoặc theo một ngày cố định nào đó mà bạn muốn.
Lựa chọn thời gian Expired cho URL3. Sử dụng subdomain
Đây là phần khá quan trọng nếu bạn nào muốn sử dụng subdomain của mình cho dịch vụ Amazon S3. Phần này tôi đã có dịp hướng dẫn trong bài viết chuyên sâu về lập trình và sử dụng S3 đã đăng trước đây. Mời các bạn đọc lại tại đây.
4. Set Expires Header
Set Expires Header có thể giúp bạn tối ưu hóa được thời gian tải trang cũng như giúp ích cho việc đỡ tốn kém tài nguyên hệ thống. Việc này có khá nhiều lợi ích!
Để làm điều này với Amazon S3, từ phần mềm S3 Browser bạn có thể lựa chọn một file để bổ sung Add một Header hoặc set Header mặc định mỗi khi upload dữ liệu lên.
S3 Browser set headerKhi thêm một Header bạn chú ý:
- Bucket name: * – không giới hạn tên.
- Filename: * – không giới hạn tên.
- Header name: Expires
- Header value: chọn ngày tháng cache sẽ hết hạn.
5. Sử dụng BitTorrent để chuyển file lớn
Nếu bạn đang có ý định phân phối một tệp tin lớn lên Internet (một bộ film chẳng hạn) thông qua Amazon S3 và bạn đang lo lắng rằng lượng băng thông mà người dùng sử dụng khi download về có thể làm ảnh hưởng đến túi tiền của bạn thì bạn có thể sử dụng những ưu điểm của giao thức chia sẻ tập tin torrent mà S3 hỗ trợ.
Sau khi người sử dụng tải về một phần của tệp tin, họ sẽ trở thành “seeder” và là nguồn phân phối phần tập tin họ đã tải về với một người dùng khác. Như vậy, phần băng thông bạn dùng cho việc download có thể được hạ xuống khá nhiều.
Khởi đầu của một tập tin được chia sẻ thông qua BitTorrent sẽ là một tập tin .torrent và bạn có thể dễ dàng tạo ra tập tin này bằng cách thêm ?torrent vào URL của tập tin.
Ví dụ, đường dẫn của tập tin trên S3 có thể là:
http://my_bucket.nhanweb.com/bo-phim-lon-nhat-lich-su-loai-nguoi.avi
Nếu sử dụng torrent sẽ là:
http://my_bucket.nhanweb.com/bo-phim-lon-nhat-lich-su-loai-nguoi.avi?torrent
Sau đó, khi đã có người seeding bộ phim này, bạn có thể ngăn chặn những truy cập vô danh(bằng cách set quyền) hoặc đơn giản là xóa bỏ luôn file trong bucket của mình.
5. Chặn Google
Tương tự như trên host, để ngăn chọn Google chỉ mục đống file của mình bạn có thể sử dụng một file robots.txt để ngăn chặn Google. Ví dụ:
User-agent: *
Disallow: /
Và bạn phải chắc chắn rằng set quyền để robots.txt có thể đọc được bởi Google. Nếu không Google nó mà không đọc được tập tin này thì coi như công cốc :)