Ответы:
AWS только что объявил об общей доступности этой функции для мониторинга расчетных платежей с помощью биллинговых оповещений через Amazon CloudWatch (очевидно, он был доступен для премиум-аккаунтов AWS уже с конца 2011 года, см. Ответ Дэниела Лопеса на « Есть ли способ настроить Amazon AWS»? лимит биллинга? )
Мы регулярно оцениваем общую ежемесячную плату за каждую используемую вами услугу AWS. Когда вы включаете мониторинг для своей учетной записи, мы начинаем сохранять оценки в виде метрик CloudWatch, где они будут оставаться доступными в течение обычного 14-дневного периода. [...]
Как указано во вступительном сообщении в блоге, вы можете начать с использования уведомлений о выставлении счетов, чтобы сообщить, когда ваш счет в AWS будет выше ожидаемого , см. « Отслеживание расчетных расходов с помощью Amazon CloudWatch» для получения дополнительной информации об этой функции.
Это уже довольно полезно для многих основных нужд, однако использование API-интерфейсов CloudWatch для самостоятельного извлечения сохраненных метрик (см. GetMetricStatistics ) фактически позволяет вам управлять произвольными рабочими процессами и бизнес-логикой на основе этих данных, и, конечно, вы можете генерировать ежедневный отчет. о том, сколько потрачено в предыдущий день вроде так же.
Что касается последнего, объем этого предложения также подчеркивается:
Важно отметить, что это оценки, а не прогнозы . Смета приблизительно соответствует стоимости вашего использования AWS на текущий момент в текущем платежном цикле и будет увеличиваться по мере использования ресурсов . [...] Он не учитывает тенденции или потенциальные изменения в вашем шаблоне использования AWS. [Акцент мой]
То есть степень детализации сообщаемых показателей еще не проанализирована (я вижу точки данных каждые 4–8 часов, но не обязательно обновляю значения каждый раз, как можно было бы ожидать на самом деле), поэтому для получения достаточно точного ежедневного отчета может потребоваться некоторое статистическая постобработка.
К сожалению, это не так просто, как можно было бы подумать, особенно если учесть, что нужные данные можно проверить вручную через вашу учетную запись. Существует два варианта мониторинга:
Ни AWS, ни какой-либо другой поставщик IaaS / PaaS / SaaS, о котором я знаю, в настоящее время не предоставляют API-доступ к своим учетным данным (возможно, из-за потенциальных финансовых / юридических последствий), что делает любую форму интеграции со сторонней организацией (которая будет легко делать в настоящее время) в лучшем случае громоздко, поскольку вам нужно прибегнуть к поиску в Интернете, чтобы получить данные в первую очередь.
К счастью, новое предложение от Cloudability [ссылка удалена после прекращения бесплатного уровня] недавно вышло на сцену, чтобы сделать это для вас профессиональным и независимым от поставщика способом, мы используем его с большим успехом уже специально для AWS - вы сейчас будете получать только ежедневный (или менее частый) отчет о ваших ежемесячных расходах , т. е. еще не разделенных на ваши ежедневные расходы. Конечно, добавить ежедневное увеличение было бы тривиально, поэтому я надеюсь и ожидаю, что со временем они предоставят больше информации, как эта.
Их подход к ценообразованию [ссылка удалена после прекращения бесплатного уровня] также освежает (несмотря на очевидность) и просто привязан к вашим собственным облачным расходам, поэтому должен окупиться, как только вы реализуете соответствующий потенциал экономии (они не взимают плату). вообще ничего, если вы тратите менее 2,5 тыс. долл. / мес.)
Обновление 20121016 : К сожалению, Cloudability изменила свою модель ценообразования на более распространенную модель, которая по-прежнему включает в себя бесплатный уровень (и в целом по разумной цене), но исключает доступ к расширенным функциям в нем, который я считал чрезвычайно справедливым и разумным для пользователей с небольшими бюджетами, которые могли бы все еще быть мультипликаторами в другом месте или модернизироваться, когда врастали в это.
Обновление 20150115К сожалению, Cloudability выбрала путь для многих бесплатных SaaS-поставщиков и, наконец, полностью прекратила использование бесплатного уровня: с 1 февраля мы больше не будем предлагать бесплатную версию Cloudability, которую вы используете сегодня .
Прежний предлог (сохраненный для справки ниже), требующий ваших основных учетных данных AWS, больше не применяется - AWS недавно представила новые функции IAM: управление паролями и доступ к страницам активности учетных записей и отчетов об использовании :
Эта новая функция позволяет создавать отдельных и отдельных пользователей IAM для деловых и технических целей. Вы можете предоставить своим бизнес-пользователям доступ к страницам «Активность учетной записи» и / или «Отчеты об использовании» на веб-сайте AWS, чтобы они могли получать доступ к биллингу и данным об использовании, не предоставляя им доступ к другим ресурсам AWS, таким как экземпляры EC2 или файлы в S3.
В облачность теперь интегрирована и эта функция, поэтому вам больше не нужно передавать им свои основные учетные данные AWS и не нужно тратить дополнительные усилия на создание консолидированного биллинга только для того, чтобы получить представление о ваших облачных расходах, см. Как настроить Amazon IAM (управление учетными записями учетных записей) ) для деталей.
Есть одно предостережение, о котором следует знать заранее:
Чтобы получить доступ к вашим данным, вам нужно передать им свои основные учетные данные AWS, потому что в противном случае они, очевидно, не смогут очистить ваш аккаунт. В частности, для AWS вы можете избежать этого, упростив консолидированный биллинг , где вы консолидируете платежи для нескольких учетных записей Amazon AWS [...], назначая одну платящую учетную запись , которая, в свою очередь, не имеет доступа к вашим вычислительным ресурсам и данным.
Используя инструменты awscli , вы можете получить итоговую сумму за месяц:
$ 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
Итоговые значения за два разных дня можно вычесть, чтобы получить ежедневную дельту. Или, оценка может быть получена за один раз путем увеличения временного окна ( end-time
- start-time
) до 24 ч и вычитания самой ранней точки данных из самой последней.
Заметки:
date
(для других date
, например, на OSX, date -v-12H
может работать)Если вам действительно нужен ежедневный отчет о расходах, вам необходимо использовать инструмент « Отчет об использовании » в своей учетной записи AWS. Вы можете запросить отчет для каждой услуги, которую вы используете, за любой период времени, в котором вы хотите, с детализацией от часа к месяцу. Затем он загружает CSV.
Вам нужно будет выполнить некоторую постобработку для этого CSV (поскольку это не связано с затратами, но используется и т. Д.), Но оно предоставит вам данные, необходимые для повседневных затрат.
Amazon предоставляет ваши текущие ежемесячные платежи здесь:
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=activity-summary
В верхней части страницы указывается, насколько актуальными являются данные. Я считаю, что это имеет тенденцию отставать на несколько часов.
Это самая точная и актуальная запись, которую вы можете получить от Amazon или кого-либо еще в данный момент.
Возможно, этот модуль Python на Github может помочь вам начать работу: pyec2costs (для зарезервированных экземпляров или экземпляров по требованию).
Существует довольно новый инструмент с открытым исходным кодом от Netflix под названием Ice: https://github.com/Netflix/ice, который позволяет визуализировать платежные данные, полученные из отчетов AWS, сгенерированных в ваши корзины S3.
Посмотрите на Xervmon. Они обеспечивают ежедневные расходы и использование в дополнение к аналитике на историческом. Они являются будущим поставщиком услуг с подробными интеграциями с Amazon AWS, запланированными на ближайшие 3 месяца.
Некоторые скриншоты из моего текущего аккаунта, как показано ниже. http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg
Куча профессионалов уже построена и это довольно аккуратно.
Вот простой скрипт, который демонстрирует, как анализировать и анализировать подробный файл CSV для выставления счетов AWS:
Должно быть достаточно легко, чтобы вы могли построить свой собственный анализ!
Использование команды CLI CostExplorer AWS Можно получить показатели стоимости и использования для учетной записи.
Например: если вам нужно получить стоимость с начала месяца до сегодняшнего дня, вы можете использовать приведенную ниже команду.
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
Выход: 615.6129260967
Если вам нужно получить стоимость на ежедневной основе, используйте GRANULARITY как DAILY, как показано ниже:
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
Я видел, как компании создают для этого свои собственные внутренние инструменты - в основном они отбрасывают страницу биллинга AWS и на своей панели мониторинга, отображают текущую стоимость и, в одном примере, делят ее на дни прошедшего месяца. , и умножьте это, чтобы получить приблизительную общую стоимость месяца.
AWS пока не предлагает API для выставления счетов (я уверен, что они появятся в будущем), но есть несколько внешних служб, которые могут помочь. Одним из них является CloudVertical (раскрытие: я здесь работаю), где вы можете получить свои ежедневные, ежемесячные и почасовые расходы с разбивкой по сервисам и для нескольких учетных записей.
Настоящим святым Граалем для таких сервисов, как AWS, является не только отслеживание ежедневных расходов, но и представление об эффективности (стоимость + использование = эффективность), а также выделение возможностей для экономии (т. Е. Время использования зарезервированных или выборочных экземпляров).
Существует инструмент для просмотра вашего счета за использование AWS, где вы можете разделить и нарезать кубики по разным ресурсам AWS всего за 30 минут. Более подробный ответ я опубликовал на /programming//a/37585673/1526342.
Теперь вы можете сделать это с помощью Cost Explorer API. Вы можете очень легко получить доступ, например, через awscli / boto3, но дело в том, что это намного проще, чем раньше.