5 điểm bởi GN⁺ 2024-01-16 | 1 bình luận | Chia sẻ qua WhatsApp

Cách giảm 99% chi phí truyền dữ liệu trên AWS

  • Khi truyền dữ liệu trên AWS, rất dễ vô tình chi quá nhiều tiền; đặc biệt nếu không chú ý đến truyền dữ liệu thì chi phí có thể tăng cao.
  • AWS áp dụng các mức phí truyền dữ liệu như sau:
    • Khi truyền dữ liệu từ AWS ra Internet công cộng, phí dao động từ $0.09 đến $0.154 cho mỗi GB tùy theo khu vực.
    • Truyền dữ liệu giữa các khu vực AWS bị tính từ $0.02 đến $0.147 cho mỗi GB; đây là chi phí cho việc truyền dữ liệu không rời khỏi mạng AWS.
    • Truyền dữ liệu giữa các Availability Zone trong cùng một khu vực AWS có giá $0.01 cho mỗi GB, và mức này giống nhau ở mọi khu vực.

Tận dụng AWS PrivateLink và VPC Endpoint

  • Sử dụng AWS PrivateLink và VPC Endpoint có thể giúp dữ liệu không rời khỏi mạng AWS; điều này hữu ích không chỉ về giá mà còn về mặt bảo mật.
  • Các tính năng này không miễn phí, đồng thời có những giới hạn riêng và cấu trúc giá phức tạp; có thể xem chi tiết hơn trên AWS và Vantage.

Lách chi phí truyền dữ liệu bằng S3

  • Phần lớn các lớp lưu trữ của S3 lưu dữ liệu theo cấp khu vực, không phải theo Availability Zone.
  • Một số lớp lưu trữ như S3 One Zone-Infrequent Access và S3 Express One Zone chỉ lưu dữ liệu trong một Availability Zone duy nhất.
  • Dữ liệu được lưu trong bucket S3 tiêu chuẩn có thể được sử dụng ngang nhau từ mọi AWS Availability Zone, và việc tải dữ liệu xuống từ S3 là miễn phí (chỉ khi truyền dữ liệu liên vùng hoặc ra Internet công cộng mới phát sinh phí truyền dữ liệu tiêu chuẩn).

Demo

  • Tạo một tài khoản AWS mới để tránh nhiễu khi đo giá.
  • Tiến hành hai thí nghiệm:
    1. Ở thí nghiệm thứ nhất, đặt hai EC2 instance trong một VPC có private subnet, rồi truyền tệp 1TB từ instance us-east-1a sang instance us-east-1b.
    2. Ở thí nghiệm thứ hai, đặt hai instance trong một VPC có S3 Gateway Endpoint, tải tệp 1TB từ instance us-east-1a lên bucket S3, sau đó tải tệp xuống từ instance us-east-1b.

Kết quả

  • Thí nghiệm truyền dữ liệu tiêu chuẩn phát sinh chi phí đúng như dự đoán là $20.
  • Thí nghiệm truyền dữ liệu dựa trên S3 chỉ phát sinh vài xu tiền lưu trữ, và trên thực tế hoàn toàn không bị tính phí lưu trữ S3.

Kết luận

  • AWS sao chép dữ liệu S3 giữa các Availability Zone, và chi phí này đã được bao gồm trong phí lưu trữ S3.
  • Bằng cách tải dữ liệu lên S3 rồi xóa ngay sau đó, có thể đạt mức tiết kiệm chi phí 99%.
  • Cách này không thay thế mã truyền dữ liệu hiện có, và có thể có độ trễ cao hơn so với kết nối mạng trực tiếp, nhưng nếu mối quan tâm chính là tiết kiệm chi phí thì đây là một phương pháp hiệu quả.

Ý kiến của GN⁺

  • Bài viết này đưa ra một cách tiếp cận sáng tạo để giảm chi phí truyền dữ liệu trên AWS, từ đó có thể mang lại mức tiết kiệm lớn cho doanh nghiệp hoặc cá nhân sử dụng dịch vụ đám mây.
  • Đặc biệt, phương pháp truyền dữ liệu tận dụng S3 là một chiến lược hiệu quả để giảm đáng kể chi phí phát sinh khi di chuyển dữ liệu bên trong AWS.
  • Đây là thông tin rất hữu ích cho các cloud architect hoặc system administrator của doanh nghiệp đang muốn tối ưu hạ tầng đám mây.

1 bình luận

 
GN⁺ 2024-01-16
Ý kiến trên Hacker News
  • Cách tận dụng instance Lightsail

    • Instance Lightsail có thể được dùng để "proxy" dữ liệu từ các tài nguyên AWS (ví dụ: instance EC2 hoặc bucket S3).
    • Mỗi instance Lightsail cung cấp một lượng truyền dữ liệu nhất định đã bao gồm trong giá ($3.5 instance là 1TB, $5 instance là 2TB, v.v.).
    • Instance $10 cung cấp 3TB lưu lượng nên có hiệu quả chi phí tốt nhất.
    • 3TB lưu lượng trên EC2 tốn $276.48, còn trên bucket S3 là $69.
    • Nhược điểm: khi dùng instance Lightsail, cả lưu lượng vào và lưu lượng ra đều được tính là "traffic".
  • Cảnh báo về các mẹo cắt giảm chi phí

    • Có nhiều mẹo khác nhau để giảm chi phí và tận dụng tài nguyên miễn phí.
    • Những cách này tuy khôn ngoan nhưng độ tin cậy thấp.
    • Đây là kiểu hack tương tự như đào tiền mã hóa trên GitHub Actions thông qua các kho OSS.
    • Hãy xem đây như một bài tập hack thú vị, và đừng triển khai vào sản phẩm thực tế vì có nguy cơ tài khoản AWS bị đình chỉ.
  • Cân nhắc dùng giải pháp cloud thay vì VPS

    • Khi dùng VPS thì giải quyết vấn đề High Availability như thế nào?
    • Ngay cả doanh nghiệp nhỏ cũng cần phải luôn hoạt động.
    • Thông thường sẽ thiết lập cùng một hạ tầng trên từ hai instance VPS trở lên và thực hiện cân bằng tải.
  • Tính chi phí lưu trữ S3

    • Chi phí lưu trữ S3 được tính theo đơn vị GB-tháng.
    • Nếu 1TB dữ liệu ở trong bucket trong một giờ thì chi phí sẽ vào khoảng 3 cent.
    • Chi phí có thể còn thấp hơn ngay trước khi dữ liệu bị xóa.
    • Giá trị TimedByteStorage trong báo cáo chi phí và sử dụng là yếu tố quyết định.
  • GCP đã vá lỗ hổng tương tự

    • GCP đã vá một lỗ hổng tương tự vào năm 2023 do bị người dùng lạm dụng.
    • Nếu hành vi này trở nên phổ biến, AWS cũng được dự đoán sẽ có động thái tương tự.
  • Mẹo bổ sung để tiết kiệm chi phí cloud

    • Nếu là khách hàng AWS lớn, bạn có thể yêu cầu chiết khấu.
    • Đặt mọi thứ trong một Availability Zone (AZ) có thể giúp giảm chi phí.
    • Khi dùng nhiều AZ, hãy cân bằng AZ có tính đến tải.
  • Các lựa chọn thay thế cloud

    • Một phương án khác là tự host, dùng dịch vụ không tính phí truyền dữ liệu như Cloudflare, hoặc dùng dịch vụ hosting VPS giá rẻ thay vì cloud phức tạp và đắt đỏ.
    • Nếu đã đến mức cần phân tích chi phí cloud, hãy cân nhắc lại việc sử dụng cloud.
  • Độ phức tạp của AWS và bài toán tối ưu hóa

    • AWS rất phức tạp, khiến khách hàng khó tối ưu chỉ một yếu tố.
    • Nếu quá nhiều người dùng các mẹo này, AWS có thể sẽ đóng lỗ hổng đó.
  • Các lựa chọn khác khi dùng nhiều băng thông

    • Hãy cân nhắc các dịch vụ có giá băng thông rẻ hơn nhiều như Leaseweb, PhoenixNAP, Hetzner, OVH.
    • Trong một số trường hợp, giá băng thông của AWS thậm chí không thể thương lượng.
  • Mẹo dùng ECR

    • Dùng ECR có thể truyền miễn phí tối đa 5TB ra Internet mỗi tháng.
    • Container image phải ở chế độ công khai, nhưng nội dung bên trong có thể được mã hóa.
    • Điều này hữu ích khi lưu trữ kho media archive trên Glacier.