0

[AWS] Tối ưu hóa chi phí khi sử dụng Amazon EC2

Xin chào mọi người,

Amazon Elastic Compute Cloud (EC2) là dịch vụ cốt lõi của AWS, cung cấp khả năng tính toán linh hoạt và mạnh mẽ. Tuy nhiên, chi phí EC2 có thể tăng cao nếu không được quản lý hiệu quả. Dựa trên tài liệu phân tích chi phí AWS từ đối tác, sau đây là các phương pháp thực tế để tối ưu hóa chi phí EC2 trong khi vẫn duy trì hiệu suất.

1. Xóa bỏ các tài nguyên không sử dụng

- Xóa Elastic IPs không sử dụng

Elastic IP là địa chỉ IP tĩnh được phân bổ cho các phiên bản EC2. Nếu không được gắn vào phiên bản đang chạy, chúng vẫn phải chịu phí. Theo hình ảnh, việc xóa các Elastic IP không sử dụng có thể tiết kiệm đáng kể

Hành động cụ thể:

  • Kiểm tra danh sách Elastic IPs trong AWS Management Console (VPC > Elastic IPs).
  • Xác định các IP không được đính kèm vào bất kỳ trường hợp hoặc tài nguyên nào.
  • Xóa các IP không cần thiết sau khi đảm bảo chúng không ảnh hưởng đến hệ thống.

- Xóa các EBS Volumes không sử dụng

Elastic Block Store (EBS) là các đĩa lưu trữ được gắn vào các phiên bản EC2. Các ổ đĩa không sử dụng vẫn phải chịu chi phí. Hình ảnh làm nổi bật việc xóa 9 ổ đĩa EBS không sử dụng:

Hành động cụ thể:

  • Sử dụng AWS Console (EC2 > Volumes) để liệt kê các ổ đĩa ở trạng thái "Có sẵn" (không được đính kèm vào bất kỳ phiên bản nào).
  • Đánh giá xem ổ đĩa có còn cần thiết hay không trước khi xóa.
  • Xóa các ổ đĩa không sử dụng để tránh chi phí không cần thiết.

2. Tối ưu hóa việc sử dụng các gói tiết kiệm

Savings Plans là mô hình định giá AWS giúp giảm chi phí bằng cách cam kết sử dụng một mức tài nguyên nhất định. Tuy nhiên, việc sử dụng không hết các cam kết này có thể dẫn đến lãng phí. Hình ảnh một số Gói tiết kiệm có tỷ lệ sử dụng thấp (thấp tới 13% đối với một số gói nhất định), dẫn đến chi tiêu không hiệu quả.

Hành động cụ thể:

  • Kiểm tra mức sử dụng của Savings Plans: Sử dụng AWS Cost Explorer để xem xét tỷ lệ sử dụng của Savings Plans. Các gói có mức sử dụng dưới 100% (ví dụ: 32% hoặc 38%) cho biết tài nguyên EC2 chưa được sử dụng hết.
  • Điều chỉnh Kiểu phiên bản: Chuyển sang kiểu phiên bản phù hợp hơn với nhu cầu thực tế. Ví dụ, nếu gói Savings Plans cho phiên bản "r6g" chỉ được sử dụng 31%, hãy cân nhắc chuyển các instance khác sang phiên bản này để sử dụng tối ưu hơn.
  • Đánh giá nhu cầu sử dụng: Tiến hành khảo sát mục đích sử dụng EC2 để đảm bảo các loại phiên bản và Savings Plan phù hợp với yêu cầu khối lượng công việc.

3. Xem xét và tối ưu hóa việc sử dụng tài nguyên EC2

- Giảm chi phí Data Transfer

Chi phí Data Transfer liên quan đến EC2 có thể tăng đột biến do dữ liệu di chuyển giữa các Vùng khả dụng (AZ) hoặc thông qua Elastic IPs/Elastic Load Balancers (ELB).

Hành động cụ thể:

  • Hợp nhất tài nguyên vào một AZ duy nhất: Di chuyển các phiên bản EC2 đến cùng một AZ để giảm chi phí truyền dữ liệu giữa các AZ.
  • Sử dụng CloudFront: Tích hợp AWS CloudFront để lưu trữ đệm và phân phối nội dung tĩnh, giảm việc truyền dữ liệu trực tiếp từ EC2.
  • Xem lại cấu hình ELB: Đảm bảo ELB chỉ phục vụ các yêu cầu cần thiết để tránh truyền dữ liệu quá mức.

- Tối ưu hóa CloudWatch cho EC2

CloudWatch được sử dụng để theo dõi EC2, nhưng các lệnh gọi API thường xuyên như GetMetricData có thể làm tăng chi phí.

Hành động cụ thể:

  • Giảm khối lượng số liệu: Xem xét và giới hạn số lượng số liệu được thu thập từ CloudWatch chỉ ở mức cần thiết cho việc theo dõi.
  • Điều chỉnh tần suất thu thập: Giảm tần suất gọi API GetMetricData, ví dụ: từ mỗi phút xuống 5 phút nếu không yêu cầu dữ liệu thời gian thực.
  • Sử dụng CloudWatch Logs Insights: Thay vì các cuộc gọi API liên tục, hãy tận dụng các công cụ như CloudWatch Logs Insights để phân tích nhật ký hiệu quả hơn.

4. Chọn đúng loại phiên bản

Việc lựa chọn loại phiên bản phù hợp là rất quan trọng để tối ưu hóa chi phí. Tài liệu đề xuất điều chỉnh các loại phiên bản để phù hợp với Kế hoạch tiết kiệm đã mua, đặc biệt là khi các loại như "t3" có chi phí thấp hơn các kế hoạch đã cam kết.

Hành động cụ thể:

  • Sử dụng AWS Compute Optimizer để nhận đề xuất cho các loại phiên bản dựa trên mô hình workload.
  • Chuyển sang các phiên bản thế hệ mới hơn (ví dụ: t3, m5) nếu đang sử dụng các loại cũ hơn (ví dụ: t2, m4) để có hiệu suất tốt hơn với chi phí thấp hơn.
  • Hãy cân nhắc sử dụng Spot Instances cho các khối lượng công việc không quan trọng, có thể tiết kiệm tới 90% so với giá On-Demand.

5. Kết luận

Tối ưu hóa chi phí EC2 trên AWS không chỉ giúp giảm chi phí tổng quát mà còn cải thiện hiệu quả sử dụng tài nguyên. Dựa trên tài liệu của đối tác cung cấp, các hành động chính bao gồm:

  • Xóa các Elastic IP và ổ đĩa EBS không sử dụng để tiết kiệm ngay 280,86 đô la/tháng (Trích từ tài liệu dự án thực tế).
  • Tối ưu hóa Savings Plans bằng cách điều chỉnh loại hình và xem xét tỷ lệ sử dụng.
  • Giảm chi phí truyền dữ liệu và CloudWatch thông qua việc cấu hình lại tài nguyên và điều chỉnh tần suất thu thập dữ liệu.
  • Lựa chọn loại phiên bản phù hợp với nhu cầu thực tế.

Chú ý: Trước khi thực hiện thay đổi, hãy đánh giá kỹ lưỡng các tác động tiềm ẩn để đảm bảo hoạt động của hệ thống không bị ảnh hưởng. Tận dụng các công cụ như AWS Cost Explorer và Compute Optimizer để hỗ trợ quy trình tối ưu hóa.

https://dev.to/namlahai9/aws-cost-optimize-when-using-amazon-ec2-12cm


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.