NHỮNG CÁCH CẮT GIẢM CHI PHÍ TRÊN AWS
Samira Kabbour
CMO
Việc giảm thiểu chi phí trên AWS luôn là vấn đề cần quan tâm đối với các công ty vận hành hạ tầng trên AWS. Mặc dù giúp doanh nghiệp tối ưu rất nhiều trong vấn đề chi phí đầu tư cơ sở hạ tầng nhưng nếu biết cách, doanh nghiệp vẫn hoàn toàn có thể tiết kiệm và tối ưu hơn nữa với những mẹo nhỏ sau.
Sau đây là kinh nghiệm thực tế từ Back4App, họ đã tiết kiệm được hơn 500k USD trong tổng chi phí hằng năm khi vận hành trên AWS
Việc tiết giảm chi phí trên cloud luôn là vấn đề không dễ dàng, lý tưởng nhất là bạn nên thiết kế kiến trúc tối ưu trên AWS về mặt chi phí.
Một số gợi ý nhỏ cho việc tiết kiệm trên AWS:
- Đem việc truyền dữ liệu lên Cloud Front và bạn tiết kiệm được 75%
- Sử dụng Private IP (không phải Elastic IP) bạn sẽ tiết kiệm được chi phí truyền dữ liệu liên AZ
- Tiết kiệm 90% với việc sử dụng Spot Instance
- Tiết kiệm 75% nếu mua hẳn Reserved Instance trên AWS Marketplace
- Mua Reserved Elastic Cache và tiết kiệm được 77%
- Sao lưu dữ liệu trên S3 thay vì trên EBS : tiết kiệm 75%
- Cấu Hình Autoscaling cho các tài nguyên không hoạt động tạm thời (Idle)
- Nâng cấp lên những loại instance mới nhất và giảm được 20%
- Sử dụng S3 endpoint trong VPC, đồng thời bật chế độ Enhanced Network trong EC2
Sẽ không có điều gì dễ dàng khi bạn muốn tiết kiệm chi phí trên AWS, bạn phải suy nghĩ và thiết kế đúng. Công việc giảm chi phí cloud luôn phải là vấn đề mà bạn suy nghĩ hằng ngày.
Thực hiện:
- Tạo file xls cho những dịch vụ hay sử dụng với những tham số như sau:
- Những dịch vụ có tiềm năng giảm chi phí
- Độ phức tạp của những phương pháp giảm chi phí đó khi thực thi
- Ai sẽ đảm trách
- Một trong những chỗ dễ tiết kiệm nhất là chi phí EC2
Làm sao để tiết kiệm chi phí EC2:
- Tắt tất cả những instance không sử dụng. Để làm việc này bạn cần có một bảng với những tham số như sau :
- Instance cần phải luôn active
- Instance có thể được strop
- Instance có thể được ngừng sử dụng và xóa vĩnh viễn : Terminate
- ĐỪNG STOP, HÃY TERMINATE Instance: Do khi bạn terminate instance, bạn không phải chịu phí EBS
Giảm tất cả các loại tài nguyên bị cấp phát vượt mức cần thiết:
Đây là một vấn đề không đơn giản, tốt nhất là tham khảo dữ liệu lịch sử của một tuần sử dụng để ra quyết
định. Cách thực họ làm dựa trên 3 tham số cơ bản:
-
-
- Size chính xác
- Giảm Size của Instance
- Tăng size của instance
- Thực hiện : vào AWS Panel , tới phần Services , EC2, Instance , Running instance, chọn instance và chọn tab monitoring
- Giảm size của instance một cách từ từ
- Giảm kích cỡ từng bước
- Theo từng tuần : thời gian cụ thể tùy theo nhu cầu của bạn
-
Sử dụng Reserved instance:
- Lưu ý rằng, khi bạn dành sẵn Instance, bạn sẽ phải trả cho toàn bộ thời gian đã cam kết
- Bạn vẫn phải trả mặc dù bạn không sử dụng
- Có 2 loại:
- Standard : Dạng này bạn có thể bán lại trên Marketplace, không thể chuyển đổi thành dạng instance khác , rẻ hơn so với dạng thứ 2
- Convertible : Không thể bán trên Marketplace, nhưng có thể chuyển thành dạng instance khác
- Convertible Instance: bạn có thể chuyển lên dạng cao hơn, nhưng sau một thời gian xài, nếu bạn muốn chuyển lại thành dạng thấp hơn: KHÔNG ĐƯỢC. Đối với dạng instance này, nên mua dạng thấp nhất, sau một thời gian đo kiểm kỹ lưỡng bạn có thể chuyển lên dạng khác cao hơn
- Lý do nên chọn Standard:
- Rẻ hơn
- Có thể bán bất kỳ thời điểm nào
- Có thể mua trên Marketplace với giá ưu đãi
- Sử dụng Marketplace :
- Quan trọng là, bạn có thể mua reserved instance với giá rẻ hơn nữa trên Marketplace
- Nó tựa như thị trường chứng khoán, có những người lỡ mua instance, nay họ muốn chuyển đổi qua dạng khác, họ sẽ bán. Tất nhiên là giá phải rẻ hơn giá tiêu chuẩn.
- Marketplace có điều khoản mua rất linh hoạt
- Không phải là thời gian chuẩn như 12/36 tháng
- Bạn có thể mua (ví dụ): thời hạn 15 tháng là thời hạn còn lại của hợp đồng cũ của người bán
- Khó khăn khi mua trên Marketplace là tìm những instance thích hợp.
- Tips là: Tìm không giới hạn trong vùng mà bạn đang đặt instance hiện tại
- Sau khi mua xong, có thể chuyển AZ về AZ thích hợp, và chuyển hóa thành instance dạng vùng
- Marketplace dành cho thế giới( không phải Mỹ)
- Bạn chỉ có thể bán instance khi bạn thuộc về một công ty có pháp nhân Mỹ
- Chỉ có thể mua
- Sử dụng Spot Instance
- Mọi người đều thích dạng instance này vì giá rẻ
- Nhưng: AWS có thể terminate instance này bất cứ lúc nào (với thời gian cảnh báo 2 phút)
- Do đó: nên sử dụng dạng instance này đối với những dạng công việc thích hợp
- Dùng Spotinst để chạy Spot Instance
- Cách thức an toàn nhất để chạy Spot Instance là tự động hóa toàn bộ các khâu liên quan
- Spotinst Platform tự động hóa hết tất cả các khâu này
- Giá mà Spotinst tính cho bạn: bằng 20% số tiền bạn tiết kiệm được( so sánh giữa Spot và On-Demand instance)
- Cách sử dụng tuyệt vời nhất cho Spotinst là chạy một database thứ cấp, hay là những application cần tính năng autoscale
- Điểm mạnh của spotinst là bạn không phải lo về thời gian 2 phút gián đoạn nói trên nữa
- Dùng Autoscale (Đối với Iddle Instance và tự động bật tắt EC2 Instance )
- Tính năng Autoscaling của AWS sẽ giám sát tài nguyên của bạn và đưa ra quyết định về điều chỉnh tài nguyên
- Autoscaling sẽ giám sát: CPU, API Request, thời gian bật tắt
- Cách sử dụng tốt nhất là kết hợp:
- Autoscaling + Spot Instances + Reserved Instance
- Sử dụng Reserved Instance như là base line ( cho những workload luôn cần)
- Hiểu được workload nào là quan trọng đối với hạ tầng của bạn
- Chọn lựa một sự kết hợp giữa 12/36 tháng Reserved và Spot
- Tinh chỉnh giữa scale theo chiều dọc và chiều ngang
- Chọn vùng để tiết giảm chi phí
- Tùy theo workload của bạn và nhu cầu
- Có thể chọn đúng vùng để tiết giảm chi phí
- Nâng cấp lên loại instance mới ra:
- Thông thường những loại instance mới ra của AWS khi tính toán giữa hiệu năng và chi phí có thể sẽ hiệu quả hơn về giá so với instance cũ
- Ở đây bạn cần một đội ngũ kỹ sư chuyên nghiệp , hoặc một nhà cung cấp dịch vụ tư vấn có kinh nghiệm trong vấn đề này
- Cách sử dụng EBS:
- Do EBS chỉ có thể tăng chứ không thể thu nhỏ kích cỡ khi sizing
- Nên bắt đầu từ EBS với size nhỏ sau tăng từ tứ
- Nên Terminate instance hơn là Stop
- Vì Stop vẫn giữ EBS snapshot, bạn phải chịu chi phí cho snapshot này
- Xóa những volume không gắn với instance nào
- Cách sử dụng elasticache
- Mua Reserved
- 1 năm hay 3 năm
- Lưu ý: việc này rất quan trọng trong trường hợp ứng dụng của bạn xài Elasticache nhiều, vì giá của dịch vụ này tương đối đắt
- KHÔNG có MARKETPLACE để mua bán Elasticache
- Truyền dữ liệu (Data Transfer)
- Đây là dạng chi phí nguy hiểm nhất nếu không lập kế hoạch kỹ lượng
- Cách làm:
- Sử dụng S3 Endpoint tới CLoudflare hay dịch vụ CDN khác
- Elastic IP : Chọn Private IP khi cần , tiết kiệm tiền data transfer liên vùng , liên AZ
- Sử dụng 1 AZ
- Nếu bạn sử dụng nhiều Data Transfer : hỏi AWS về discount hằng tháng
- Sử dụng Cloud Front
- Làm sao để monitor :
- Cost Explorer
- Billing
- Và lọc theo những tiêu chí cần thiết liên quan đến truyền dữ liệu
- Sử dụng cloud Front :
- Vẫn có 2 dạng giá: On Demand và Private Contract
- Khi bạn xài nhiều Cloud Front: sẽ tự động discount cho bạn
- Sử dụng S3
- Xóa phần lưu trữ không cần thiết
- Dùng S3 API để monitor
- Dùng S3 endpoint khi cần
- Giám sát một cách khôn ngoan tài nguyên của bạn
- Lập biểu đồ tùy biến cho khối lượng tiêu thụ hàng ngày của bạn
- Sử dụng TAG
- Sử dụng Cost Explore
- Định nghĩa baseline
- Dùng cloud Watch, Trusted Advisor,…