Как я могу контролировать ежедневные расходы на AWS?

Наша инфраструктура находится на AWS. Я хочу получить ежедневный отчет о том, сколько потрачено на предыдущий день. Каков наилучший способ сделать это?

22 голоса | спросил Sabya 18 Jpm1000000pmWed, 18 Jan 2012 13:57:32 +040012 2012, 13:57:32

11 ответов


19

Update

AWS только что анонсировала общую функциональность Мониторинг расчетных платежей с использованием оповещений о выставлении счетов через Amazon CloudWatch (по-видимому, он был доступен для премиум-аккаунтов AWS уже с конца 2011 года, см. Ответ Дэниела Лопеса на Есть ли способ установить лимит платежей Amazon AWS? ):

  

Мы регулярно оцениваем общую ежемесячную плату за каждую услугу AWS   что вы используете. Когда вы включаете мониторинг для своей учетной записи, мы начинаем   сохраняя оценки как показатели CloudWatch, где они останутся   доступный для обычного 14-дневного периода. [...]

Как указано в вводном сообщении в блоге, Вы можете начать с использования оповещений о выставлении счетов, чтобы сообщить, когда ваш счет AWS будет выше ожидаемого , см. Просматривайте свои оценочные платежи с помощью Amazon CloudWatch для получения более подробной информации об этой функции.

Это уже очень полезно для многих основных потребностей, однако, используя API-интерфейс CloudWatch для получения сохраненных показателей (см. GetMetricStatistics ) на самом деле позволяет вам управлять произвольными рабочими процессами и бизнес-логикой на основе этих данных, и, конечно же, вы могли бы генерировать ежедневный отчет о том, сколько потрачено в предыдущий день .

Что касается последнего, объем этого предложения также подчеркивается, хотя:

  

Важно отметить, что это оценки, а не прогнозы .   оценка приближает стоимость использования AWS на сегодняшний день в пределах   текущий биллинговый цикл и будут увеличиваться по мере того, как вы будете продолжать потреблять   ресурсы . [...] Он не принимает тенденции или потенциальные изменения в вашей модели использования AWS   в учетную запись. [акцент мой]

То есть гранулярность сообщаемых показателей еще не проанализирована (я вижу данные каждые 4-8 часов, но не обязательно обновляемые значения каждый раз, как можно было бы ожидать на самом деле), поэтому вывод достаточно точного ежедневного отчета может потребоваться некоторая статистическая обработка сообщений.


Исходный ответ

К сожалению, это менее прямолинейно, чем можно было бы подумать, особенно учитывая, что желаемые данные могут быть проверены вручную через вашу учетную запись. Существует два варианта мониторинга:

  • оповещения по электронной почте /RSS /и т. д.
  • Доступ API к данным

Ни AWS, ни какой-либо другой поставщик IaaS /PaaS /SaaS, о котором я знаю, в настоящее время предоставляют API доступ к своим учетным данным (возможно, из-за потенциальных финансовых /юридических последствий), делая любую форму интеграции сторонних организаций (что быть легко сделать в наши дни) громоздки в лучшем случае, если вам нужно прибегнуть к веб-очистке, чтобы извлечь данные в первую очередь.

К счастью, новое предложение Cloudability [link, удаленное после прекращения бесплатного уровня] недавно вышло на сцену, чтобы сделать это для вас агронистом профессионала и поставщика, мы уже с успехом используем его для AWS в частности - вы в настоящее время получаете ежедневный (или менее частый) отчет о ваших ежемесячных расходах только , хотя и не разбиты на ваши ежедневные расходы. Конечно, добавление ежедневного увеличения было бы тривиальным, поэтому я надеюсь и надеюсь, что они сделают больше информации, подобной этойвремя. Забастовка>

Их подход к ценообразованию [ссылка удалена после прекращения свободного уровня] также освежает (несмотря на очевидность) и просто привязан к вашим собственным облачным расходам, поэтому должен платить за себя, как только вы осознаете соответствующий потенциал экономии (они ничего не взимают, если вы тратите меньше $ 2,5 тыс. /мес).
Обновление 20121016 . К сожалению, Cloudability изменила свою модель ценообразования на более общую, которая по-прежнему включает в себя (и по разумной цене в целом), но удаляет доступ к расширенным функциям в нем, который я считаю оптимистичным и умным подходом для пользователей с небольшими бюджетами, которые могут по-прежнему быть мультипликаторами в другом месте или обновляться после его роста.

Обновление 20150115 . К сожалению, Cloudability выбрала путь для многих продавцов Freemium SaaS и, наконец, полностью прекратила использование бесплатного уровня: С 1 февраля мы больше не будем предлагать версию Cloudability Free, вы используете сегодня .

Обновление 20120427

Предыдущее предостережение (приведенное ниже) требует, чтобы ваши основные учетные данные AWS больше не применялись - AWS недавно представила Новые возможности IAM: управление паролями и доступ к отчетам о работе и использовании аккаунтов :

  

Эта новая функция позволяет создавать отдельные и различные пользователи IAM   для деловых и технических целей. Вы можете предоставить своим бизнес-пользователям   доступ к страницам «Активность учетной записи и /или использования» AWS   веб-сайт, позволяющий им получать доступ к биллинговым и пользовательским данным без предоставления   их доступ к другим ресурсам AWS, таким как экземпляры EC2 или файлы в   S3

Cloudability теперь также интегрировала это, поэтому вам больше не нужно передавать свои основные учетные данные AWS или потратить дополнительные усилия на создание Consolidated Billing , чтобы получить представление о ваших расходах на облако, см. Как настроить Amazon IAM (учетная запись Identity Управление) для подробностей.

Предыдущее предупреждение

Существует одна оговорка, которую нужно знать заранее:

Чтобы получить доступ к своим данным, вам необходимо передать им свои основные учетные данные AWS, потому что в противном случае они не смогут очистить вашу учетную запись, очевидно. Для AWS, в частности, вы все равно можете избежать этого, упростив Консолидированный биллинг , где вы консолидировать платеж для нескольких учетных записей Amazon AWS [...], указав один платный аккаунт , который, в свою очередь, не имеет доступа к вашим вычислительным ресурсам и данным.

ответил Steffen Opel 18 Jpm1000000pmWed, 18 Jan 2012 15:23:10 +040012 2012, 15:23:10
12

Используя инструменты 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 часов и вычитание самой ранней точки данных из последней.

Примечания:

  • предполагает, что вы включили мониторинг ваших сметных расходов
  • предполагает, что у вас есть GNU date (для других date s, например, на OSX, date -v-12H может работать)
  • Ваша валюта может отличаться.
  • Amazon обновляет метрику CloudWatch каждые ~ 4 часа, поэтому запрос на временное окно меньше 4 часов может не возвращать какие-либо точки данных. Я использовал 12-часовое окно для дополнительной безопасности.
  • Я хотел включить ссылку на сообщение в блоге, на котором был основан мой ответ, но, видимо, мне нужно 10 очков репутации, чтобы разместить более двух ссылок. :)
ответил mpavlov 25 J0000006Europe/Moscow 2015, 20:44:32
3

Amazon предоставляет ваши текущие месячные платежи:

  

http : //aws-portal.amazon.com/gp/aws/developer/account/index.html т = UTF8 & амп; действие = активность-резюме

В верхней части страницы указано, насколько текущими являются данные. Я нахожу, что он отстает на несколько часов.

Это самая точная и современная запись, которую вы можете получить от Amazon или кого-либо еще в это время.

ответил Eric Hammond 18 Jpm1000000pmWed, 18 Jan 2012 22:40:27 +040012 2012, 22:40:27
3

Если вам действительно нужен ежедневный отчет о расходах, вам нужно будет использовать « Отчет об использовании " в вашей учетной записи AWS. Вы можете запросить отчет для каждой службы, которую вы используете, в любой период времени, который вы хотите, в деталях от часа до месяца. Затем он загружает CSV.

Вам нужно будет выполнить некоторую пост-обработку в этом CSV (поскольку это не стоит, но в использовании и т. д.), но он предоставит вам данные, которые вам нужны для ежедневной стоимости.

ответил Jon 19 Jam1000000amThu, 19 Jan 2012 02:57:34 +040012 2012, 02:57:34
2

Возможно, этот модуль Python на Github поможет вам начать работу: pyec2costs (для зарезервированных экземпляров или экземпляров ondemand).

ответил Henk 22 Jpm1000000pmSun, 22 Jan 2012 19:48:52 +040012 2012, 19:48:52
2

Существует довольно новый инструмент, открытый с помощью Netflix под названием Ice: https://github.com/Netflix/лед , который позволяет визуализировать детали фактуры, полученные с помощью отчетов AWS, сгенерированных в ваши ведра S3.

ответил ngeek 19 J000000Friday13 2013, 18:12:32
1

Взгляните на Xervmon. Они обеспечивают изо дня в день тратить и использовать в дополнение аналитику по историческим. Это будущий поставщик услуг с подробной интеграцией с Amazon AWS, запланированным в ближайшие 3 месяца.

Некоторые скриншоты из моей текущей учетной записи, как показано ниже. http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg

Букет профессионалов построил, и он довольно опрятен.

ответил Sid4it 13 22012vEurope/Moscow11bEurope/MoscowTue, 13 Nov 2012 01:33:04 +0400 2012, 01:33:04
1

Вот простой сценарий, демонстрирующий, как анализировать и анализировать ваш подробный файл CSV для биллинга AWS:

Должно быть достаточно легко, чтобы вы могли самостоятельно составить свой анализ!

ответил oDDsKooL 10 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 10 Sep 2013 11:07:16 +0400 2013, 11:07:16
0

Я видел, как компании создают для этого собственные собственные инструменты - в основном они обрывают страницу выставления счетов AWS и на собственной панели мониторинга, отображают текущую стоимость, и в одном примере они делят ее на дни месяца которые прошли, и несколько, чтобы получить расчетную общую стоимость месяца.

AWS пока не предлагает API выставления счетов (я уверен, что они будут в будущем), но есть несколько внешних сервисов, которые могут помочь. Один из них - CloudVertical (раскрытие: я здесь работаю), где вы можете получать ежедневную, ежемесячную и почасовую стоимость, с разбивкой по услугам и для нескольких учетных записей.

Настоящий святой Грааль для службы, такой как AWS, - это не только отслеживать ежедневные расходы, но и показывать эффективность (стоимость + использование = эффективность), а также выделять возможности для сбережений (то есть: время использовать зарезервированные или выборочные экземпляры )

ответил Ed Byrne 22 Jpm1000000pmSun, 22 Jan 2012 19:11:34 +040012 2012, 19:11:34
0

Существует инструмент для просмотра вашего использования биллинга AWS, где вы можете нарезать кубики и кубики ваше использование в разных ресурсах AWS до 30 минут. Я отправил более подробный ответ на https://stackoverflow.com/a/37585673/1526342

ответил droidlabour 14 J0000006Europe/Moscow 2016, 22:33:14
0

Теперь вы можете сделать это с помощью API обозревателя затрат. Вы можете легко получить доступ через awscli /boto3, но дело в том, что это намного проще, чем раньше.

ответил cherrysoft 1 FebruaryEurope/MoscowbThu, 01 Feb 2018 19:01:16 +0300000000pmThu, 01 Feb 2018 19:01:16 +030018 2018, 19:01:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132