¿Prefieres no configurar nada? Usa las plantillas de gasto
Si solo quieres ver tu factura de AWS en la pantalla de inicio, no necesitas un panel. Activa las métricas de facturación (paso 1) y añade las plantillas de gasto de CloudPeek con Crear widget › Plantilla. Entre todas muestran todo lo que muestra el panel de abajo:
| Widget del panel | Plantilla | Diferencia |
|---|---|---|
| Top 5 services by spend | Gasto por servicio | Todos los servicios, de mayor a menor, y los que no caben se suman como Otros. Su total es la suma de los servicios, no tu factura completa. |
| Gasto del mes hasta la fecha | Gasto del mes hasta la fecha | Lo mismo. |
| Last 7 days' spend | Gasto diario por cuenta | Lo mismo, con cada cuenta apilada en su columna en una cuenta de administración de AWS Organizations, y además puede mostrar 2 semanas, 30 días o el mes hasta la fecha. |
| Top 5 services' share of spend | Reparto del gasto | Todos los servicios, no solo cinco. |
Las plantillas también añaden Previsión a fin de mes, Gasto y previsión, Gasto diario por servicio, Tabla de gasto diario y Tendencia del gasto: consulta Plantillas. Crea el panel si quieres siempre los cinco servicios principales, tu factura completa como total, los mismos widgets en la consola de CloudWatch o un panel que mantengas en CloudFormation o Terraform.
Qué vas a crear
Vas a crear un panel de CloudWatch llamado CloudPeek-Spend con cuatro widgets. El primero es un gráfico de barras de los cinco servicios en los que más has gastado en lo que va de mes, que se detectan automáticamente, con el total de tu cuenta. El segundo es ese total del mes hasta la fecha, con un minigráfico de la última semana. El tercero es lo que has gastado cada uno de los últimos 7 días, una columna por día, y el cuarto es un gráfico circular de cómo se reparten el gasto tus cinco servicios principales. En CloudPeek se ven así:
Se tarda unos 15 minutos en la consola de AWS, o un solo despliegue con CloudFormation o Terraform. Elige tu herramienta en las pestañas de cada paso.
Antes de empezar
- Una cuenta de AWS y un acceso con permiso para cambiar las preferencias de facturación y crear paneles de CloudWatch y usuarios y políticas de IAM, como el de un administrador. Si tus cuentas están en AWS Organizations, usa la cuenta de administración para ver el gasto de toda la organización.
- CloudPeek en tu iPhone, iPad o teléfono Android.
Cuánto cuesta. Las métricas de facturación son gratuitas. La capa gratuita de CloudWatch incluye tres paneles; a partir de ahí, cada panel cuesta 3 USD al mes. Las actualizaciones de CloudPeek llaman a GetMetricData, que AWS factura a 0,01 USD por cada 1000 métricas. AWS actualiza las métricas de facturación solo unas pocas veces al día, así que estos widgets se actualizan como mucho cada 3 horas: con los cuatro fijados, son unas 15 métricas por actualización, unos 4 centavos al mes. Ajustes lo calcula para tus propios widgets, debajo de Actualizar. Consulta los precios de CloudWatch.
1. Activar las métricas de facturación
AWS solo envía tus cargos estimados a CloudWatch si lo activas. Se hace una vez por cuenta, en la consola: CloudFormation, Terraform y la AWS CLI no pueden cambiar este ajuste.
- Inicia sesión en la consola de AWS y abre Administración de facturación y costos › Preferencias de facturación.
- En Preferencias de alertas, elige Editar.
- Selecciona Recibir alertas de facturación de CloudWatch y guarda el cambio.
Los cargos estimados se publican en la región EE. UU. Este (Norte de Virginia), us-east-1, varias veces al día. Se cuentan desde el inicio del mes, así que vuelven a cero cada mes. Los primeros datos pueden tardar unas horas en aparecer. Si no has iniciado sesión como usuario raíz, la cuenta también debe permitir el acceso de IAM a la información de facturación (en Cuenta › Acceso de usuarios y roles de IAM a la información de facturación).
Hasta que lleguen los primeros datos, el panel que vas a crear a continuación dice No hay datos disponibles, y los widgets de gasto de CloudPeek dicen «Activa las alertas de facturación de CloudWatch en la consola de Facturación. El gasto aparecerá en menos de un día.» («Activa las alertas de facturación de CloudWatch.» en un widget pequeño). Para comprobar si ya llegan las métricas de facturación, abre CloudWatch en us-east-1 y elige Métricas › Todas las métricas: cuando lleguen, aparecerá un espacio de nombres Billing. Metrics Explorer no muestra las métricas de facturación, así que búscalas en Todas las métricas.
En AWS Organizations, las métricas de facturación solo están en la cuenta de administración, que tiene los cargos de todas las cuentas, desglosados por cuenta (Gasto por cuenta). Las demás cuentas no tienen ninguna, así que activa las alertas de facturación en la cuenta de administración y añádela a CloudPeek para los widgets de gasto. En una cuenta en la que hayas iniciado sesión con IAM Identity Center y que no sea la de administración, los widgets de gasto de CloudPeek dicen «El gasto de esta cuenta está en la cuenta de administración de tu organización.» («El gasto está en tu cuenta de administración.» en un widget pequeño). CloudPeek distingue la cuenta de administración según si puede listar las cuentas de la organización (organizations:ListAccounts, en la política de CloudPeek), así que dale ese permiso al acceso de la cuenta de administración.
2. Crear el panel
- Abre la consola de CloudWatch en us-east-1 y elige Crear panel.
- Ponle el nombre
CloudPeek-Spendy elige Crear panel. Si se abre la ventana Agregar widget, ciérrala. - Elige Acciones › Ver/editar origen, sustituye el origen por el JSON del panel y elige Actualizar.
- Elige Guardar.
Descarga spend-by-service.json (se muestra completo más abajo) y ejecuta:
aws cloudwatch put-dashboard \
--region us-east-1 \
--dashboard-name CloudPeek-Spend \
--dashboard-body file://spend-by-service.json
Una sola plantilla de CloudFormation crea el panel y también la política de CloudPeek y el usuario de IAM del paso 3. Este es el recurso del panel:
Dashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: !Ref DashboardName
DashboardBody: !Sub |
{
"start": "-P7D",
"widgets": [
{
"type": "metric",
"x": 0,
"y": 0,
"width": 12,
"height": 8,
"properties": {
"title": "Top ${TopServices} services by spend",
"view": "bar",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "label": "Total" } ],
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${Currency}\"', 'Maximum', 21600), MAX, DESC, ${TopServices})", "label": "${!PROP('Dim.ServiceName')}", "id": "top" } ]
]
}
},
{
"type": "metric",
"x": 12,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Month-to-date spend",
"view": "singleValue",
"region": "us-east-1",
"stat": "Maximum",
"period": 21600,
"sparkline": true,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "label": "Total" } ]
]
}
},
{
"type": "metric",
"x": 18,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Last 7 days' spend",
"view": "timeSeries",
"region": "us-east-1",
"start": "-P7D",
"stat": "Maximum",
"period": 86400,
"yAxis": { "left": { "min": 0 } },
"metrics": [
[ { "expression": "IF(DIFF(m1) < 0, m1, DIFF(m1))", "label": "Spend", "id": "daily" } ],
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "id": "m1", "visible": false } ]
]
}
},
{
"type": "metric",
"x": 0,
"y": 8,
"width": 12,
"height": 8,
"properties": {
"title": "Top ${TopServices} services' share of spend",
"view": "pie",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${Currency}\"', 'Maximum', 21600), MAX, DESC, ${TopServices})", "label": "${!PROP('Dim.ServiceName')}", "id": "share" } ]
]
}
}
]
}
El cuerpo es el JSON del panel de abajo, con ${TopServices} y ${Currency} rellenados a partir de los parámetros de la pila. ${!PROP(…)} evita que CloudFormation trate la etiqueta dinámica como una de sus propias variables.
aws cloudformation deploy \
--region us-east-1 \
--stack-name CloudPeek \
--template-file cloudpeek-setup.yaml \
--capabilities CAPABILITY_NAMED_IAM
O bien, en la consola de CloudFormation en us-east-1, elige Cargar un archivo de plantilla, ponle a la pila el nombre CloudPeek, revisa los parámetros y selecciona Reconozco que AWS CloudFormation podría crear recursos de IAM con nombres personalizados antes de enviarla. Cuando la pila llegue a CREATE_COMPLETE, su pestaña Salidas enlaza con el panel.
| Parámetro | Valor predeterminado | Para qué sirve |
|---|---|---|
DashboardName | CloudPeek-Spend | El nombre del panel. |
TopServices | 5 | Cuántos de tus servicios con más gasto mostrar en el gráfico, de 1 a 20. |
Currency | USD | La moneda de tu factura. |
PolicyName | CloudPeek | El nombre de la política. |
CreateUser | true | Ponlo en false si vas a iniciar sesión con IAM Identity Center. |
UserName | cloudpeek | El nombre del usuario de IAM. |
Para cambiarlos, añade --parameter-overrides, por ejemplo --parameter-overrides TopServices=10 CreateUser=false.
Una sola configuración crea el panel y también la política de CloudPeek y el usuario de IAM del paso 3. Este es el recurso del panel:
resource "aws_cloudwatch_dashboard" "spend" {
dashboard_name = var.dashboard_name
dashboard_body = jsonencode({
start = "-P7D"
widgets = [
{
type = "metric"
x = 0
y = 0
width = 12
height = 8
properties = {
title = "Top ${var.top_services} services by spend"
view = "bar"
region = "us-east-1"
start = "-P1D"
stat = "Maximum"
period = 21600
metrics = [
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { label = "Total" }],
[{
expression = "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${var.currency}\"', 'Maximum', 21600), MAX, DESC, ${var.top_services})"
label = "$${PROP('Dim.ServiceName')}"
id = "top"
}],
]
}
},
{
type = "metric"
x = 12
y = 0
width = 6
height = 8
properties = {
title = "Month-to-date spend"
view = "singleValue"
region = "us-east-1"
stat = "Maximum"
period = 21600
sparkline = true
metrics = [
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { label = "Total" }],
]
}
},
{
type = "metric"
x = 18
y = 0
width = 6
height = 8
properties = {
title = "Last 7 days' spend"
view = "timeSeries"
region = "us-east-1"
start = "-P7D"
stat = "Maximum"
period = 86400
yAxis = { left = { min = 0 } }
metrics = [
[{ expression = "IF(DIFF(m1) < 0, m1, DIFF(m1))", label = "Spend", id = "daily" }],
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { id = "m1", visible = false }],
]
}
},
{
type = "metric"
x = 0
y = 8
width = 12
height = 8
properties = {
title = "Top ${var.top_services} services' share of spend"
view = "pie"
region = "us-east-1"
start = "-P1D"
stat = "Maximum"
period = 21600
metrics = [
[{
expression = "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${var.currency}\"', 'Maximum', 21600), MAX, DESC, ${var.top_services})"
label = "$${PROP('Dim.ServiceName')}"
id = "share"
}],
]
}
},
]
})
}
Genera exactamente el JSON del panel de abajo con jsonencode. $${PROP(…)} evita que Terraform trate la etiqueta dinámica como una interpolación. Guarda el archivo en un directorio vacío y ejecuta:
terraform init
terraform apply
| Variable | Valor predeterminado | Para qué sirve |
|---|---|---|
dashboard_name | CloudPeek-Spend | El nombre del panel. |
top_services | 5 | Cuántos de tus servicios con más gasto mostrar en el gráfico, de 1 a 20. |
currency | USD | La moneda de tu factura. |
policy_name | CloudPeek | El nombre de la política. |
create_user | true | Ponlo en false si vas a iniciar sesión con IAM Identity Center. |
user_name | cloudpeek | El nombre del usuario de IAM. |
Para cambiarlas, pasa -var, por ejemplo terraform apply -var top_services=10 -var create_user=false. Para añadir el panel a una configuración existente, copia los recursos y omite los bloques terraform y provider.
3. Crear un acceso para CloudPeek
Sigue Crear un acceso para CloudPeek en Primeros pasos. Crea la política CloudPeek y, además, un usuario de IAM con una clave de acceso o un conjunto de permisos de IAM Identity Center.
Sigue Crear un acceso para CloudPeek en Primeros pasos, donde están los comandos de la AWS CLI para un usuario de IAM o un conjunto de permisos de IAM Identity Center.
La pila del paso 2 ya ha creado la política CloudPeek y, salvo que hayas puesto CreateUser en false, el usuario cloudpeek. Crea la clave de acceso del usuario. La clave secreta solo se muestra una vez:
aws iam create-access-key --user-name cloudpeek
Para IAM Identity Center, adjunta CloudPeek a un conjunto de permisos como política administrada por el cliente (consulta Opción B).
La configuración del paso 2 ya ha creado la política CloudPeek y, salvo que hayas puesto create_user en false, el usuario cloudpeek. Crea la clave de acceso del usuario fuera de Terraform, para que la clave secreta no quede en tu estado. Solo se muestra una vez:
aws iam create-access-key --user-name cloudpeek
Para IAM Identity Center, adjunta CloudPeek a un conjunto de permisos como política administrada por el cliente (consulta Opción B).
4. Añadir la cuenta y fijar los widgets
- En CloudPeek, añade la cuenta en la pestaña Cuentas con la clave de acceso o con IAM Identity Center (consulta Primeros pasos, paso 2). Sirve cualquier región predeterminada: los widgets de gasto siempre leen
us-east-1. - En la pestaña Cuentas, abre la cuenta y luego el panel CloudPeek-Spend, y toca Fijar en los widgets que quieras: Top 5 services by spend, Month-to-date spend, Last 7 days' spend y Top 5 services' share of spend.
- Añade CloudPeek a tu pantalla de inicio una vez por cada widget y elige cuál muestra cada uno (consulta Elegir qué widget muestra). El tamaño mediano va bien para los gráficos de barras y circular; el pequeño, para el total del mes hasta la fecha y los últimos 7 días.
Resultado: cuando hayan llegado las métricas de facturación, el gráfico de barras muestra los servicios con más gasto de este mes, con el total encima. Hasta entonces, los widgets dicen Sin datos en este intervalo.
En el iPhone y el iPad, el total también queda bien en la pantalla bloqueada, donde los widgets muestran el último valor.
Cómo funciona el panel
Sea cual sea la herramienta que hayas usado, este es el panel resultante:
{
"start": "-P7D",
"widgets": [
{
"type": "metric",
"x": 0,
"y": 0,
"width": 12,
"height": 8,
"properties": {
"title": "Top 5 services by spend",
"view": "bar",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "label": "Total" } ],
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "label": "${PROP('Dim.ServiceName')}", "id": "top" } ]
]
}
},
{
"type": "metric",
"x": 12,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Month-to-date spend",
"view": "singleValue",
"region": "us-east-1",
"stat": "Maximum",
"period": 21600,
"sparkline": true,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "label": "Total" } ]
]
}
},
{
"type": "metric",
"x": 18,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Last 7 days' spend",
"view": "timeSeries",
"region": "us-east-1",
"start": "-P7D",
"stat": "Maximum",
"period": 86400,
"yAxis": { "left": { "min": 0 } },
"metrics": [
[ { "expression": "IF(DIFF(m1) < 0, m1, DIFF(m1))", "label": "Spend", "id": "daily" } ],
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "id": "m1", "visible": false } ]
]
}
},
{
"type": "metric",
"x": 0,
"y": 8,
"width": 12,
"height": 8,
"properties": {
"title": "Top 5 services' share of spend",
"view": "pie",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "label": "${PROP('Dim.ServiceName')}", "id": "share" } ]
]
}
}
]
}
- La fila de expresión encuentra por ti tus servicios principales.
SEARCHencuentra los cargos estimados de cada servicio, ySORT(…, MAX, DESC, 5)se queda con los cinco mayores. Los servicios que empieces a usar aparecen solos. Para mostrar más o menos, cambia el5del final de las expresiones de los gráficos de barras y circular (o el parámetroTopServices, o la variabletop_services). - La etiqueta
${PROP('Dim.ServiceName')}da a cada barra el nombre de su servicio, comoAmazonEC2oAWSLambda. CloudPeek muestra el nombre corto (EC2, Lambda), los ordena de mayor a menor y suma los que no caben en Otros. - La fila que solo tiene la dimensión
Currencyson los cargos de toda tu cuenta en lo que va de mes. CloudPeek la muestra como el Total del widget en lugar de como una barra, así que los servicios que quedan fuera de los cinco principales también cuentan. En la consola de CloudWatch aparece como una barra más. - Los cargos se cuentan desde el inicio del mes, así que los gráficos de barras y circular solo miran el último día (
"start": "-P1D"). Así, la clasificación sigue los cargos de este mes y no los del mes pasado. El total del mes hasta la fecha usa la semana del panel para su minigráfico. - Los últimos 7 días salen del mismo cargo del mes hasta la fecha, leído una vez al día (
"period": 86400) desde la fila ocultam1.DIFF(m1)es cuánto ha subido cada día, y el día en que vuelve a cero al empezar el mes,IF(… < 0, m1, …)toma en su lugar el cargo del nuevo mes. - CloudPeek dibuja cada uno de esos días como una columna, desde la medianoche de tu zona horaria, con lo que llevas de hoy a la derecha. La consola de CloudWatch no tiene un gráfico así, por lo que dibuja los mismos días como una línea.
- Si tu factura no está en dólares estadounidenses, cambia cada
USDde las filas y las expresiones por el código de tu moneda. - El gráfico circular usa la misma expresión que el de barras, sin la fila Total, así que sus porciones son la parte de cada uno de tus cinco servicios principales en lo que cuestan entre todos. CloudPeek pone esa suma en el centro.
- Para incluir todo lo demás en el gráfico circular como una porción Otros, con los cargos de toda tu cuenta en el centro, copia en él la fila Total del gráfico de barras. La consola de CloudWatch dibuja entonces el Total como una porción más.
Para ver los cargos de cada servicio, abre CloudWatch en us-east-1 y elige Todas las métricas › Billing › Por servicio.
Para ver el gasto diario de cada servicio, apilado en una columna por día, añade la plantilla Gasto diario por servicio (consulta Plantillas de gasto) o descríbelo en un widget de IA, por ejemplo «Gasto diario por servicio de los últimos 7 días, apilado». El cargo de cada servicio también se cuenta desde el inicio del mes, así que se calcula cuánto ha subido cada uno cada día, como hace DIFF(m1) con el total.
Para mostrar el gasto de los últimos 7 días en una tabla, una fila por día, del más reciente al más antiguo, añade la plantilla Tabla de gasto diario o descríbela en un widget de IA, por ejemplo «Una tabla del gasto de los últimos 7 días, una fila por día». En un panel, son las filas DIFF(m1) de arriba en un widget con "view": "table" y "table": {"layout": "vertical"}.
Gasto por cuenta
Si tus cuentas están en AWS Organizations, las métricas de facturación de la cuenta de administración también desglosan los cargos por cuenta, con una dimensión LinkedAccount. Para mostrar tus cinco cuentas con más gasto de este mes en lugar de tus servicios principales, usa esta fila de expresión en el gráfico de barras o circular en lugar de la de servicios:
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,LinkedAccount} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "id": "accounts" } ]
O describe lo que quieres en un widget de IA, por ejemplo «Gasto por cuenta este mes» o, para un solo servicio, «Gráfico de barras apiladas del gasto en SQS de cada cuenta en los últimos 7 días». La plantilla Gasto diario por cuenta ya apila el gasto de cada cuenta en una columna por día: consulta Plantillas de gasto.
CloudWatch solo conoce cada cuenta por su ID de 12 dígitos. CloudPeek muestra en su lugar el nombre de la cuenta, tomado de la primera de estas fuentes que lo indique:
- AWS Organizations, que da el nombre de todas las cuentas de la organización. Requiere
organizations:ListAccounts, que está en la política de CloudPeek, y solo responde a la cuenta de administración (o a una cuenta de administrador delegado). CloudPeek le pregunta una vez al día. - IAM Identity Center, si iniciaste sesión con él: los nombres de las cuentas en las que te permite iniciar sesión.
- Tu pestaña Cuentas: el nombre que le diste a una cuenta que has añadido.
Una cuenta que ninguna de ellas nombra conserva su ID. Si AWS Organizations se niega, CloudPeek vuelve a preguntar al cabo de seis horas, o en cuanto actualices el widget.
Eliminarlo
En la consola de CloudWatch en us-east-1, abre Paneles, selecciona CloudPeek-Spend y elige Eliminar. Para quitarle también el acceso a CloudPeek, elimina el usuario cloudpeek y la política CloudPeek en la consola de IAM.
aws cloudwatch delete-dashboards --region us-east-1 --dashboard-names CloudPeek-Spend
CloudFormation no puede eliminar un usuario que aún tenga una clave de acceso, ni una política que todavía use algo de fuera de la pila. Primero elimina la clave de acceso del usuario y desasocia la política de los conjuntos de permisos que la tengan, y después elimina la pila:
aws iam list-access-keys --user-name cloudpeek
aws iam delete-access-key --user-name cloudpeek --access-key-id <access-key-id>
aws cloudformation delete-stack --region us-east-1 --stack-name CloudPeek
IAM no elimina un usuario que aún tenga una clave de acceso, ni una política que siga adjunta en otro lugar. Primero elimina la clave de acceso del usuario y desasocia la política de los conjuntos de permisos que la tengan, y después destruye los recursos:
aws iam list-access-keys --user-name cloudpeek
aws iam delete-access-key --user-name cloudpeek --access-key-id <access-key-id>
terraform destroy
Solución de problemas
Los widgets están vacíos o el panel dice «No hay datos disponibles»
Las métricas de facturación aún no llegan a CloudWatch, y los widgets de CloudPeek dicen «Activa las alertas de facturación de CloudWatch en la consola de Facturación. El gasto aparecerá en menos de un día.» Comprueba que estén activadas (paso 1) y espera unas horas. Después, busca el espacio de nombres Billing en Todas las métricas en us-east-1 (Metrics Explorer no muestra las métricas de facturación). En AWS Organizations, configúralo en la cuenta de administración, que ve los cargos de toda la organización: en otra de sus cuentas, los widgets dicen «El gasto de esta cuenta está en la cuenta de administración de tu organización.»
Las cuentas aparecen como números
CloudPeek no ha encontrado sus nombres. En la cuenta de administración, añade organizations:ListAccounts al acceso de CloudPeek o despliega la plantilla actualizada de Primeros pasos, y después actualiza el widget. Consulta Gasto por cuenta.
Falta un servicio
No es uno de tus cinco servicios con más gasto este mes. Para mostrar más, aumenta el número del final de la expresión SORT (consulta cómo funciona). Sus cargos ya están incluidos en el Total.
El Total es mayor que la suma de las barras
Es lo esperado. El Total es tu factura completa en lo que va de mes, incluidos los servicios que quedan fuera de los cinco principales.
Otro problema
Consulta Solución de problemas o escribe a support@cloudpeek.app. Nunca nos envíes tu clave de acceso secreta.