Data Transfer Cost từ trước đến nay luôn là chủ đề nóng hổi khi các bạn xây dựng các hệ thống AWS, từ cơ bản cho tới phức tạp. Hiện nay, mới đây AWS còn cho phép chúng ta Free 100 GB Data Transfer Out to the Internet, nên phần này lại càng hot hơn. Tại sao lại như vậy, chúng ta thử tìm hiểu về cách tính chi phí Data Transfer của AWS nhé.
– Chi phí Data Transfer của AWS nhìn chung rất phức tạp, đặc biệt là với những người mới tiếp cận và làm việc với AWS. Ngay cả những người đã làm việc lâu năm với AWS, cũng thường buffer 1 lượng chi phí khoảng 30% đối với chi phí này. Chúng ta sẽ đi qua 1 vài điểm chính và nhận định về hệ thống của mình.
– Nhìn chung, AWS miễn phí chi phí đưa dữ liệu lên trên hệ thống AWS. Điều này có nghĩa là, khi chúng ta upload file nào đó nặng nặng lên AWS, thì chúng ta không mất chi phí đưa lên AWS. Chúng ta dùng dịch vụ nào (lưu trữ, tính toán EC2, …) thì chỉ mất tiền sử dụng dịch vụ đó. Mọi thứ đưa lên AWS không mất phí.
– Chi phí cho dữ liệu đi ra khỏi AWS thì sẽ mất phí. Chi phí chi tiết thì chúng ta sẽ phải xem bảng giá các loại dịch vụ tại các Region khác nhau. Có một số loại hay được sử dụng để giao tiếp với bên ngoài Internet nhất, đó là: EC2, S3, Cloudfront, RDS, Direct Connect. Chúng ta sẽ đi qua từng loại nhé.
1. CloudFront
CloudFront không tính phí khi đưa dữ liệu từ các bên liên quan tới CloudFront, nhưng sẽ tính phí dữ liệu đi từ CloudFront ra ngoài. Các case điển hình là:
– Internet <-> EC2/S3 : tính Data Transfer Out của EC2/S3 ra ngoài Internet
– Internet <-> CloudFront <-> EC2 / S3 : tính Data Transfer Out của CloudFront ra ngoài Internet.
Trong các case này, Chi phí Data Transfer Out sẽ thay đổi đôi chút. Nhìn chung, chúng ta tiết kiệm được khoảng 20-40% Cho DT của CloudFront thấp hơn EC2/S3 1 chút.
2. Các dịch vụ cấp AZ: Đối với người học và làm việc với AWS thì RDS và EC2 là các dịch vụ cấp AZ điển hình. Các dịch vụ này giao tiếp với nhau thông qua AZ.
– Khi các dịch vụ này nằm trong cùng AZ : Free
– Khi các dịch vụ cross AZ: Bị tính phí Transfer In/Out của AZ
– Khi các dịch vụ cross VPC nhưng cùng Region: Bị tính phí Transfer Out, nhưng không tính chi phí Transfer In.
– Khi các dịch database như RDS và Aurora synchronize data: Free
– Khi các dịch vụ cross Region: Cũng bị tính phí Transfer In/Out, nhưng giá cao hơn
3. Các dịch vụ cấp Region: S3, SQS, DynamoDB, EFS, … là các dịch vụ điển hình cấp Region.
– Các dịch vụ cấp Region có đặc điểm chung là không chia ra các AZ. Do đó:
– Các dịch vụ cấp Region giao tiếp với các dịch vụ cấp Region khác : Free
– Các dịch vụ cấp Region giao tiếp với Các dịch vụ cấp AZ trong cùng Region: Free
– Giao tiếp Cross Region: mất phí Transfer Out giá khá chát với phí ra khỏi Region.
4. Một vài nguyên tắc tính phí:
- Khi dữ liệu đi ra khỏi vị trí này sẽ tính Data Transfer Out tại đó, và đi vào 1 vị trí khác (như Region khác) sẽ tính Data Transfer In tại đó. Do vậy khi Data di chuyển, sẽ bị tính 2 lần.
- Việc di chuyển dữ liệu giữa các Region nhìn chung là tốn kém. Do vậy bất cứ khi nào có thể, chúng ta hãy dùng Synchronize, auto backup, … Để giảm thiểu việc di chuyển dữ liệu quá nhiều lần.
Về phương án ước lượng dữ liệu đi tới. Đây là việc tương đối khó khăn, đối với cả những người đã có kinh nghiệm. Vì chúng ta sẽ cần estimate theo lượng request, size trung bình của các request để tính ra dung lượng cần thiết, từ đó, đưa ra con số hợp lý. Khi estimate, các bạn nên buffer khoảng 1,5 lần con số estimate a được, hoặc dựa vào số lượng request đo đạc được từ các phase trước đó.
Ok, hy vọng bài viết này có thể giúp mọi người hình dung đôi chút về khoản chi phí Data Transfer Out của AWS.
Nếu như bạn vẫn chưa hình dung được làm thế nào để tính chi phí Data Transfer Out của AWS thì nên tham gia một khóa học AWS cơ bản để được hướng dẫn chi tiết nội dung này nhé. Các bạn cũng có thể tìm hiểu về khóa học AWS Basic ở CodeStar tại đây: https://codestar.vn/product/aws-co-ban/