Respuestas:
AWS acaba de anunciar la disponibilidad general de la funcionalidad para monitorear los cargos estimados mediante alertas de facturación a través de Amazon CloudWatch (aparentemente ya ha estado disponible para las cuentas premium de AWS desde finales de 2011, consulte la respuesta de Daniel López a ¿Hay alguna manera de configurar Amazon AWS? límite de facturación? ):
Regularmente estimamos el cargo mensual total por cada servicio de AWS que utiliza. Cuando habilita la supervisión de su cuenta, comenzamos a almacenar las estimaciones como métricas de CloudWatch, donde permanecerán disponibles durante el período habitual de 14 días. [...]
Como se describe en la publicación introductoria del blog, puede comenzar utilizando las alertas de facturación para informarle cuándo su factura de AWS será más alta de lo esperado ; consulte Supervisar sus cargos estimados con Amazon CloudWatch para obtener más detalles sobre esta funcionalidad.
Esto ya es bastante útil para muchas necesidades básicas, sin embargo, el uso de las API de CloudWatch para recuperar las métricas almacenadas usted mismo (consulte GetMetricStatistics ) en realidad le permite impulsar flujos de trabajo arbitrarios y lógica empresarial basada en estos datos, y por supuesto podría generar un informe diario en cuánto gastaron el día anterior también.
Con respecto a esto último, el alcance de esta oferta también se destaca:
Es importante tener en cuenta que se trata de estimaciones, no de predicciones . La estimación aproxima el costo de su uso de AWS hasta la fecha dentro del ciclo de facturación actual y aumentará a medida que continúe consumiendo recursos . [...] No tiene en cuenta las tendencias o posibles cambios en su patrón de uso de AWS. [énfasis mío]
Es decir, la granularidad de las métricas informadas aún no se ha analizado (veo puntos de datos cada 4 a 8 horas, pero no necesariamente valores actualizados cada vez, como cabría esperar en realidad), por lo que derivar un informe diario suficientemente preciso podría requerir algunos post procesamiento estadístico.
Desafortunadamente, esto es menos sencillo de lo que uno pensaría, especialmente dado que los datos deseados pueden inspeccionarse manualmente a través de su cuenta. Hay dos opciones de monitoreo que uno esperaría:
Ni AWS ni ningún otro proveedor de IaaS / PaaS / SaaS que conozco ofrecen acceso API a sus datos contables actualmente (tal vez debido a las posibles implicaciones financieras / legales), haciendo cualquier forma de integración de terceros (lo que sería fácil hacer hoy en día) engorroso en el mejor de los casos, en la medida en que necesita recurrir al raspado web para recuperar los datos en primer lugar.
Afortunadamente, una nueva oferta de Cloudability [enlace eliminado después de la interrupción del nivel gratuito] ha entrado en el escenario recientemente para hacer esto por usted de una manera profesional y agnóstica del proveedor, ya la estamos utilizando con gran éxito específicamente para AWS: actualmente sin embargo, recibirá un informe diario (o menos frecuente) de sus gastos mensuales , es decir, aún no se desglosará en sus gastos diarios. Por supuesto, agregar el aumento diario sería trivial, por lo que espero y espero que hagan que más información como esta esté disponible con el tiempo.
Su enfoque de fijación de precios [enlace eliminado después de la interrupción del nivel gratuito] también es refrescante (a pesar de ser obvio) y simplemente está vinculado a su propio gasto en la nube, por lo que debería pagarse tan pronto como se dé cuenta del potencial de ahorro respectivo (no cobran cualquier cosa si gasta menos de $ 2.5k / mes).
Actualización 20121016 : Desafortunadamente, Cloudability ha cambiado su modelo de precios a uno más común, que todavía incluye un nivel gratuito (y tiene un precio razonable en general), pero elimina el acceso a las funciones avanzadas, lo que consideré un enfoque refrescantemente justo e inteligente para los usuarios con presupuestos pequeños, que aún podrían ser multiplicadores en otros lugares o actualizarse una vez que crezcan.
Actualización 20150115: Desafortunadamente, Cloudability ha elegido el camino de muchos proveedores de SaaS freemium y finalmente descontinuó el nivel gratuito por completo: a partir del 1 de febrero, ya no ofreceremos la edición gratuita de Cloudability que está utilizando hoy .
La advertencia anterior (que se mantiene como referencia a continuación) de requerir sus credenciales principales de AWS ya no se aplica: AWS introdujo recientemente nuevas características de IAM: Administración de contraseñas y acceso a las páginas de informes de actividad y uso de la cuenta :
Esta nueva característica le permite crear usuarios de IAM separados y distintos para fines comerciales y técnicos. Puede otorgar a los usuarios de su empresa acceso a las páginas de Actividad de la cuenta y / o Informes de uso del sitio web de AWS para permitirles acceder a los datos de facturación y uso sin darles acceso a otros recursos de AWS, como instancias de EC2 o archivos en S3
Cloudability ahora también ha integrado esto, por lo que ya no necesita entregarles sus credenciales principales de AWS o dedicar un esfuerzo adicional para establecer la facturación consolidada solo para obtener información sobre su gasto en la nube, consulte Cómo configurar Amazon IAM (Gestión de cuentas de identidad) ) para más detalles.
Sin embargo, hay una advertencia que se debe tener en cuenta por adelantado:
Para acceder a sus datos, deberá entregarles sus credenciales principales de AWS, porque de lo contrario, obviamente no pueden raspar su cuenta. Para AWS en particular, aún puede evitar esto facilitando la facturación consolidada , donde consolida el pago de múltiples cuentas de Amazon AWS al designar una cuenta de pago única , que a su vez no tiene acceso a sus recursos informáticos y datos.
Con las herramientas de awscli , puede obtener su total mensual:
$ 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
Los totales de dos días diferentes se pueden restar para obtener el delta diario. O bien, se puede obtener una estimación de una vez aumentando la ventana de tiempo ( end-time
- start-time
) a 24 horas y restando el punto de datos más antiguo del más reciente.
Notas:
date
(para otros date
s, por ejemplo, en OSX, date -v-12H
puede funcionar)Si realmente necesita un informe de costos del día a día, deberá utilizar la herramienta " Informe de uso " en su cuenta de AWS. Puede solicitar un informe para cada servicio que use, en cualquier período de tiempo que desee, en granularidad de una hora a otra. Luego descarga un CSV.
Deberá realizar un procesamiento posterior en ese CSV (ya que no está en costo, sino en uso, etc.), pero le proporcionará los datos que necesita para tener un costo diario.
Amazon proporciona sus cargos actuales hasta la fecha aquí:
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=activity-summary
Hacia la parte superior de la página indica qué tan actualizados son los datos. Me parece que tiende a retrasarse unas pocas horas.
Este es el registro más preciso y actualizado que puede obtener de Amazon o de cualquier otra persona en este momento.
Quizás este módulo de Python en Github pueda ayudarlo a comenzar: pyec2costs (para instancias reservadas o bajo demanda).
Hay una herramienta bastante nueva de código abierto de Netflix llamada Ice: https://github.com/Netflix/ice que permite visualizar los detalles de facturación recuperados a través de los informes de AWS generados en sus cubos S3.
Echa un vistazo a Xervmon. Proporcionan el gasto diario y el uso, además de análisis de historial. Son un próximo proveedor de servicios con integraciones detalladas con Amazon AWS planificadas en los próximos 3 meses.
Algunas capturas de pantalla de mi cuenta actual son las siguientes. http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg
Un montón de profesionales han construido y es bastante ordenado.
Aquí hay una secuencia de comandos simple que muestra cómo analizar y analizar su archivo CSV de facturación de AWS detallado:
¡Debería ser lo suficientemente fácil para que pueda construir su propio análisis!
Uso del comando CostExplorer AWS CLI Es posible recuperar las métricas de costo y uso de la cuenta
Por ejemplo: si necesita recuperar el costo desde el comienzo del mes hasta el día de hoy, puede usar el siguiente comando.
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
Salida: 615.6129260967
Si necesita obtener el costo DIARIO, use GRANULARIDAD como DIARIO como se muestra a continuación:
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
He visto a las compañías construir sus propias herramientas internas para esto: básicamente, desechan la página de facturación de AWS y en su propio tablero, muestran el costo actual y, en un ejemplo, lo dividen por los días del mes que han pasado. y multiplíquelo para obtener el costo mensual total estimado.
AWS todavía no ofrece una API de facturación (estoy seguro de que lo harán en el futuro), pero hay un par de servicios externos que pueden ayudar. Uno es CloudVertical (divulgación: trabajo aquí), donde puede obtener su costo diario, mensual y por hora, desglosado por servicio y para varias cuentas.
Sin embargo, el verdadero santo grial para un servicio como AWS no es solo rastrear el gasto diario, sino también mostrar información sobre la eficiencia (costo + uso = eficiencia) y también resaltar las oportunidades de ahorro (es decir, tiempos para usar instancias reservadas o puntuales)
Hay una herramienta para ver su uso de facturación de AWS donde puede dividir y dividir su uso en diferentes recursos de AWS en tan solo 30 minutos. He publicado una respuesta más completa en /programming//a/37585673/1526342
Ahora puede hacer esto con la API de Cost Explorer. Puede acceder muy fácilmente a través de awscli / boto3, por ejemplo, pero el punto es que es mucho más fácil que antes.