Câu trả lời:
AWS vừa công bố tính khả dụng chung của chức năng để Giám sát các khoản phí ước tính bằng cách sử dụng Cảnh báo thanh toán qua Amazon CloudWatch (dường như đã có sẵn cho các tài khoản cao cấp AWS kể từ cuối năm 2011, hãy xem câu trả lời của Daniel Lopez về Có cách nào để đặt Amazon AWS không giới hạn thanh toán? ):
Chúng tôi thường xuyên ước tính tổng phí hàng tháng cho mỗi dịch vụ AWS mà bạn sử dụng. Khi bạn bật theo dõi tài khoản của mình, chúng tôi sẽ bắt đầu lưu trữ các ước tính dưới dạng số liệu CloudWatch, nơi chúng sẽ có sẵn trong khoảng thời gian 14 ngày thông thường. [...]
Như được nêu trong bài đăng trên blog giới thiệu, Bạn có thể bắt đầu bằng cách sử dụng các cảnh báo thanh toán để cho bạn biết khi nào hóa đơn AWS của bạn sẽ cao hơn dự kiến , hãy xem Giám sát các khoản phí ước tính của bạn bằng Amazon CloudWatch để biết thêm chi tiết về chức năng này.
Điều này đã khá hữu ích cho nhiều nhu cầu cơ bản, tuy nhiên, sử dụng API CloudWatch để tự lấy các số liệu được lưu trữ (xem GetMetricStatistic ) thực sự cho phép bạn điều khiển các luồng công việc và logic kinh doanh tùy ý dựa trên dữ liệu này và tất nhiên bạn có thể tạo báo cáo hàng ngày cũng đã chi bao nhiêu cho ngày hôm trước .
Về sau này, phạm vi của đề nghị này cũng được nhấn mạnh:
Điều quan trọng cần lưu ý rằng đây là những ước tính, không phải dự đoán . Ước tính gần đúng chi phí sử dụng AWS của bạn cho đến nay trong chu kỳ thanh toán hiện tại và sẽ tăng lên khi bạn tiếp tục tiêu thụ tài nguyên . [...] Không tính đến các xu hướng hoặc thay đổi tiềm năng trong mẫu sử dụng AWS của bạn. [nhấn mạnh của tôi]
Đó là, mức độ chi tiết của các số liệu được báo cáo vẫn chưa được phân tích (tôi thấy các điểm dữ liệu cứ sau 4 đến 8 giờ, nhưng không nhất thiết phải cập nhật giá trị mỗi lần, như người ta mong đợi thực sự), do đó, để có được một báo cáo hàng ngày đủ chính xác có thể yêu cầu một số xử lý bài thống kê.
Thật không may, điều này ít đi thẳng hơn người ta nghĩ, đặc biệt là khi dữ liệu mong muốn có thể được kiểm tra thủ công thông qua tài khoản của bạn. Có hai tùy chọn giám sát mà người ta mong đợi:
Cả AWS và bất kỳ nhà cung cấp IaaS / PaaS / SaaS nào khác mà tôi biết hiện không cung cấp quyền truy cập API vào dữ liệu kế toán của họ (có thể do ý nghĩa tài chính / pháp lý tiềm năng), tạo ra bất kỳ hình thức tích hợp bên thứ 3 nào (có thể dễ dàng làm ngay bây giờ) tốt nhất là cồng kềnh, trong trường hợp bạn cần phải sử dụng công cụ quét web để lấy dữ liệu ngay từ đầu.
May mắn là một ưu đãi mới từ Cloudability [liên kết đã bị xóa sau khi ngừng cấp miễn phí] đã bước vào giai đoạn gần đây để làm điều này cho bạn theo cách không chuyên nghiệp và nhà cung cấp, chúng tôi đang sử dụng nó rất thành công cho AWS - hiện tại bạn sẽ mặc dù chỉ nhận được báo cáo hàng ngày (hoặc ít thường xuyên hơn) về chi tiêu hàng tháng của bạn , tức là chưa được chia nhỏ thành chi tiêu hàng ngày của bạn. Tất nhiên, việc tăng thêm hàng ngày sẽ là chuyện nhỏ, vì vậy tôi hy vọng và hy vọng họ sẽ cung cấp thêm thông tin như thế này theo thời gian.
Cách tiếp cận của họ về giá [liên kết đã bị xóa sau khi ngừng cấp miễn phí] cũng được làm mới (mặc dù rõ ràng) và chỉ đơn giản gắn với chi tiêu trên đám mây của bạn, do đó, bạn nên tự trả tiền ngay khi bạn nhận ra tiềm năng tiết kiệm tương ứng (họ không tính phí bất cứ điều gì nếu bạn chi dưới 2,5 nghìn đô la / tháng).
Cập nhật 20121016 : Thật không may, Cloudability đã thay đổi mô hình định giá của họ thành một mô hình phổ biến hơn, vẫn bao gồm một cấp miễn phí (và có giá hợp lý nói chung), nhưng loại bỏ quyền truy cập vào các tính năng nâng cao trong đó, tôi coi đó là cách tiếp cận thông minh và công bằng cho người dùng với ngân sách nhỏ, những người vẫn có thể là số nhân ở nơi khác hoặc nâng cấp một khi đã phát triển thành nó.
Cập nhật 20150115: Thật không may, Cloudability đã chọn con đường của nhiều nhà cung cấp SaemS freemium và cuối cùng đã ngừng hoàn toàn tầng miễn phí: Từ ngày 1 tháng 2, chúng tôi sẽ không còn cung cấp phiên bản Cloudability Free mà bạn đang sử dụng ngày hôm nay .
Thông báo trước (được lưu để tham khảo bên dưới) về việc yêu cầu thông tin xác thực AWS chính của bạn không áp dụng nữa - AWS mới giới thiệu Các tính năng IAM mới: Quản lý mật khẩu và truy cập vào các trang báo cáo sử dụng và hoạt động tài khoản :
Tính năng mới này cho phép bạn tạo người dùng IAM riêng biệt và khác biệt cho mục đích kinh doanh và kỹ thuật. Bạn có thể cấp cho người dùng doanh nghiệp của bạn quyền truy cập vào các trang Hoạt động tài khoản và / hoặc Báo cáo sử dụng của trang web AWS để cho phép họ truy cập dữ liệu thanh toán và sử dụng mà không cho họ quyền truy cập vào các tài nguyên AWS khác như các phiên bản EC2 hoặc tệp trong S3
Hiện tại, Cloudability cũng đã tích hợp tính năng này, do đó bạn không cần phải cung cấp cho họ thông tin xác thực AWS chính của bạn nữa hoặc dành thêm nỗ lực để thiết lập Thanh toán hợp nhất chỉ để hiểu rõ hơn về chi tiêu trên đám mây của bạn, hãy xem Cách thiết lập Amazon IAM (Quản lý tài khoản nhận dạng ) để biết chi tiết.
Có một cảnh báo người ta cần lưu ý về việc trả trước mặc dù:
Để truy cập dữ liệu của bạn, bạn cần phải cung cấp cho họ thông tin xác thực AWS chính của bạn, vì nếu không, họ rõ ràng không thể cạo tài khoản của bạn. Đối với AWS nói riêng, bạn vẫn có thể tránh điều này bằng cách hỗ trợ Thanh toán hợp nhất , nơi bạn hợp nhất thanh toán cho nhiều tài khoản AWS của Amazon [...] bằng cách chỉ định một tài khoản thanh toán , do đó không có quyền truy cập vào tài nguyên và dữ liệu máy tính của bạn.
Sử dụng các công cụ awscli , bạn có thể nhận được tổng số hàng tháng của mình:
$ aws --region us-east-1 cloudwatch get-metric-statistics \
--namespace "AWS/Billing" \
--metric-name "EstimatedCharges" \
--dimension "Name=Currency,Value=USD" \
--start-time $(date +"%Y-%m-%dT%H:%M:00" --date="-12 hours") \
--end-time $(date +"%Y-%m-%dT%H:%M:00") \
--statistic Maximum \
--period 60 \
--output text | sort -r -k 3 | head -n 1 | cut -f 2
2494.47
Tổng cộng từ hai ngày khác nhau có thể được trừ để có được đồng bằng hàng ngày. Hoặc, ước tính có thể đạt được trong một lần bằng cách tăng cửa sổ thời gian ( end-time
- start-time
) lên 24h và trừ điểm dữ liệu sớm nhất từ điểm mới nhất.
Ghi chú:
date
(đối với các date
s khác , ví dụ: trên OSX, date -v-12H
có thể hoạt động)Nếu bạn thực sự cần báo cáo chi phí hàng ngày, bạn sẽ cần sử dụng công cụ " Báo cáo sử dụng " trong tài khoản AWS của mình. Bạn có thể yêu cầu báo cáo cho từng dịch vụ bạn sử dụng, vào bất kỳ khoảng thời gian nào bạn muốn, ở mức độ chi tiết từ giờ đến tháng. Sau đó, nó tải xuống một CSV.
Bạn sẽ cần thực hiện một số xử lý hậu kỳ trên CSV đó (vì nó không phải là chi phí, mà là về cách sử dụng, v.v.), nhưng nó sẽ cung cấp cho bạn dữ liệu bạn cần để có chi phí hàng ngày.
Amazon cung cấp các khoản phí hàng tháng hiện tại của bạn tại đây:
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=activity-summary
Về phía trên cùng của trang, nó cho biết mức độ hiện tại của dữ liệu. Tôi thấy nó có xu hướng trễ một vài giờ.
Đây là bản ghi chính xác và cập nhật nhất mà bạn có thể nhận được từ Amazon hoặc bất kỳ ai khác tại thời điểm này.
Có lẽ mô-đun Python này trên Github có thể giúp bạn bắt đầu: pyec2costs (đối với các trường hợp dành riêng hoặc ondemand).
Có một công cụ khá mới có nguồn gốc từ Netflix có tên Ice: https://github.com/Netflix/ice cho phép trực quan hóa các chi tiết thanh toán khi được truy xuất thông qua các báo cáo AWS được tạo trong các thùng S3 của bạn.
Hãy nhìn vào Xervmon. Họ cung cấp chi tiêu hàng ngày và sử dụng trong các phân tích bổ sung về lịch sử. Họ là nhà cung cấp dịch vụ sắp tới với sự tích hợp chi tiết với Amazon AWS được lên kế hoạch trong 3 tháng tới.
Một số ảnh chụp màn hình từ tài khoản hiện tại của tôi như dưới đây. http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg
Bunch của các chuyên gia đã xây dựng và nó khá gọn gàng.
Dưới đây là một tập lệnh đơn giản thể hiện cách phân tích và phân tích tệp CSV thanh toán AWS chi tiết của bạn:
Nên đủ dễ dàng để bạn có thể xây dựng phân tích của riêng bạn!
Sử dụng lệnh AWS CLI của CostExplorer Có thể truy xuất lại các số liệu chi phí và mức sử dụng cho Tài khoản
Ví dụ: Nếu bạn cần lấy lại chi phí từ đầu tháng đến ngày hôm nay, bạn có thể sử dụng lệnh dưới đây.
aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity MONTHLY --metrics UnblendedCost --output text | sort -r -k 3 | head -n 1 | cut -f 2
Đầu ra: 615.6129260967
Nếu bạn cần lấy chi phí trên cơ sở HÀNG NGÀY, hãy sử dụng GRANULARITY là HÀNG NGÀY như dưới đây:
aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity DAILY --metrics UnblendedCost
Tôi đã thấy các công ty xây dựng các công cụ nội bộ của riêng họ cho việc này - về cơ bản họ loại bỏ trang thanh toán AWS và trên bảng điều khiển của riêng họ, hiển thị chi phí hiện tại và trong một ví dụ, họ chia nó cho các ngày trong tháng đã qua và nhiều số đó để có được tổng chi phí ước tính trong tháng.
AWS chưa cung cấp API thanh toán (tôi chắc chắn rằng chúng sẽ có trong tương lai), nhưng có một vài dịch vụ bên ngoài có thể trợ giúp. Một là CloudV vertical (tiết lộ: Tôi làm việc ở đây), nơi bạn có thể nhận chi phí hàng ngày, hàng tháng và hàng giờ, được chia nhỏ theo dịch vụ và cho nhiều tài khoản.
Chén thánh thực sự cho một dịch vụ như AWS mặc dù không chỉ để theo dõi chi tiêu hàng ngày, mà còn thể hiện sự hiểu biết sâu sắc về hiệu quả (chi phí + sử dụng = hiệu quả) và cũng làm nổi bật các cơ hội tiết kiệm (ví dụ: thời gian sử dụng các trường hợp dành riêng hoặc tại chỗ)
Có công cụ để xem Cách sử dụng thanh toán AWS của bạn, nơi bạn có thể cắt và sử dụng tài nguyên AWS khác nhau trong vòng 30 phút. Tôi đã đăng câu trả lời kỹ lưỡng hơn tại /programming//a/37585673/1526342