Tự Động Hóa Kiểm Soát Chi Phí AWS: Không Còn Lo Hóa Đơn Bất Ngờ!
Lê Lân
0
Tự Động Hóa Kiểm Soát Chi Phí AWS Với Lambda, SNS và Budget
Mở Đầu
Bạn có từng lo lắng về việc bị tính phí không mong muốn trên AWS do các tài nguyên vẫn chạy ngầm mà mình không kiểm soát không? ☁️💸 Việc quản lý chi phí AWS đôi khi trở nên phức tạp khi có nhiều dịch vụ liên tục hoạt động mà bạn không nắm rõ. Để giải quyết vấn đề đó, trong bài viết này, tôi sẽ hướng dẫn bạn cách tự động kiểm soát chi phí AWS bằng cách kết hợp Lambda function với Boto3, AWS SNS để kích hoạt thông báo, tạo ngân sách Billing Budget, và tự động dừng các phiên bản EC2 khi chi phí vượt quá mức giới hạn rất nhỏ, chỉ $0.01.
Bạn sẽ được đi qua từng bước cụ thể, từ tạo SNS Topic, thiết lập ngân sách, xây dựng vai trò IAM, viết hàm Lambda cho đến việc kết nối các dịch vụ này với nhau. Qua đó, bạn có thể áp dụng ngay giải pháp này để tiết kiệm và kiểm soát chi phí AWS hiệu quả cho chính mình hoặc doanh nghiệp.
Bước 1: Tạo SNS Topic để Kích Hoạt Lambda
Tạo topic SNS
Đầu tiên, bạn cần tạo một Topic trong dịch vụ SNS (Simple Notification Service) để làm kênh trung gian gửi cảnh báo khi ngân sách bị vượt.
Để khi ngân sách vượt ngưỡng, SNS sẽ kích hoạt Lambda thực thi:
Vào SNS → tìm topic BudgetAlertsTopic
Chọn Create subscription
Protocol: AWS Lambda
Endpoint: Chọn hàm Lambda StopAWSResources
Vào AWS Lambda → function StopAWSResources → Permissions → Add trigger
Chọn trigger là SNS và chọn topic tương ứng
Việc liên kết này đảm bảo khi ngân sách vượt mức, hệ thống sẽ tự động dừng EC2 và khóa S3 để tránh phát sinh chi phí không mong muốn.
Hoạt Động Sau Khi Thiết Lập
Quá trình tự động diễn ra như sau:
Chi phí AWS vượt mức $0.01 → Ngân sách AWS gửi cảnh báo qua SNS
SNS topic kích hoạt Lambda function
Lambda thực hiện:
Dừng toàn bộ các phiên bản EC2 đang chạy
Khóa truy cập công khai các bucket S3
Kiểm tra trạng thái EC2 sẽ thấy các instance đã dừng
Qua CloudWatch Logs, bạn có thể xác thực Lambda đã thực thi đúng
Vậy là bạn đã hoàn thành hệ thống tự động kiểm soát chi phí AWS bằng Lambda, SNS và Budget, giúp giảm thiểu chi phí phát sinh không mong muốn.
Kết Luận
Trong bài viết, chúng ta đã tìm hiểu từng bước từ việc tạo SNS Topic gửi cảnh báo, xây dựng ngân sách giới hạn chi phí, tạo vai trò IAM cho Lambda đến viết hàm Lambda tự động dừng các dịch vụ đang chạy khi chi phí vượt quá ngưỡng đã định. Giải pháp này giúp bạn tự động kiểm soát và cắt giảm chi phí AWS một cách hiệu quả, đặc biệt với những tài khoản AWS có nhiều tài nguyên chạy không kiểm soát.
Hãy thử áp dụng ngay để bảo vệ ngân sách của bạn và tránh bị tính phí ngoài ý muốn! Đừng quên kiểm tra đều đặn CloudWatch để đảm bảo hệ thống hoạt động chính xác.